考虑简单的 K-NN 模型, 利用投票法可以用于分类, 但其度量指标的选择比较麻烦, 且复杂度为
因此应当考虑: 划分规则简单一些, 其 VC-dim 更低,
若设训练集为
模型:
在上述模型的基础上, 希望找到一个经过原点的超平面, 并且假设模型是线性可分的, 所有数据都限制在单位球内(可做归一化得到).
输入数据是
目标是找到 margin 最大的线性分类器
其主要思想就是依次使用各数据点, 不断以"偏差"
- Initialize.
$w=y_s x_s$ ,$(x_s, y_s)$ 为$X$ 中任取的一个数据. 令$i=1, t=0$ - 重复下列步骤直到
$t=T$ - 若
$y_i \left< x_i, w \right> < 0$ , 则$w\leftarrow w+y_ix_i $ ,$t\leftarrow t+1$ $i \leftarrow (i+1) % n$
- 若
- 返回
$w=\frac{w}{|w|}$
-
$|w|^2\le t$ :$w_t=w_{t-1}+y_ix_i$ , 故 $$\begin{aligned} |w_t|^2 &= |w_{t-1}+y_ix_i|^2 \ &=|w_{t-1}|^2+2\left< w_{t-1}, y_ix_i \right> + |y_i x_i|^2 \ &\le |w_{t-1}|^2 + 1 \end{aligned}$$ - $\left< w_t, w^* \right> \ge t\gamma^$ ($\gamma^$ 是 $w^$ 对应的 Margin) $$\begin{aligned} \left< w_t, w^ \right> &= \left< w_{t-1}+y_ix_i, w^* \right> \ &= \left< w_{t-1}, w^* \right> + \left< y_ix_i, w^* \right> \ &\ge \left< w_{t-1}, w^* \right> + \gamma^* \ &\ge t\gamma^* \end{aligned}$$
因为
因此复杂度是
目标是找到 Margin 最大的分类器, 离平面
凸包有 facet, 考虑把
若
-
$F_1 \subseteq \widetilde{F}_2$ . 设$P_1$ 是$F_1$ 中任一顶点, 若$\widetilde{P}_1 \in F_2$, 则$\widetilde{P}_1$ 是$F_2$ 中$\le d$ 个点的一个凸组合. -
$F_2 \subseteq \widetilde{F}_1$ . 类似 $F_2 \not\subseteq \widetilde{F}_1$
则
那么
有了上述推导, SVM 问题就转化成为了 寻找
- pick
$q_0 \in Q$ , 使之最接近原点(实际不一定要最近). 令$x_1 = q_0$ - 重复以下步骤: 取
$q_i \in Q$ , 满足 $proj_{\vec{x}i}(q_i)$ 最小. 令 $x{i+1}$ 为原点在$\overline{p_i x_i}$ 的垂足.
-
$x_{i+1}$ 一定落在线段$\overline{x_i q_i}$ 上. 若不成立, 则 若$x_{i+1}$ 在$\overline{x_i q_i}$ 延长线上,$\angle Oq_i x_i$ 为钝角(左图) 那么,$|x_i|=f_i > |q_i|$ , 故$|x_i| > |q_i| \ge |q_0| = |x_1|$ , 这与$|x_1|>\cdots>|x_i|$ 矛盾. 另外若$\angle q_i x_i O$ 为钝角(右图), 是违背$q_i$ 选择的条件的.
-
关于
$h_i=f_i - \rho$ 的变化(以定出迭代次数). 定义$g_i=f_i-\omega_i$ $h_i-h_{i-1}=f_i-f_{i+1}=(1-\cos\alpha)f_i \ge \frac{1}{2}\sin^2\alpha f_i=\frac{1}{2}\frac{g_i^2}{|q_i-x_i|^2}f_i$ 设$D=\max{|q_i-q_j| | q_i, q_j \in Q}$ , 则由于$|q_i-x_i|^2 \le D^2$ 且$f_i \ge \rho$ , 故$h_i - h_{i+1} \ge \frac{1}{2}\frac{\rho}{D^2}g_i^2$ 不妨记 $h'i=\frac{\rho}{2D^2}h_i$, $g_i'=\frac{\rho}{2D^2}g_i \ge h_i'$ 则$$h_i'-h{i+1}'\ge(g_i')^2\ge(h_i')^2$$, 进而
$h_{i+1}' \le h_i'(1-h_i') \le \frac{h_i'}{1+h_i'}$ 现在用数学归纳法定出
$h_{i}'$ 的界:- 初始值:
$h_1'^2 \le h_1' - h_2'=\frac{\rho}{2D^2}(f_i-f_{i+1})=\frac{\rho}{2D^2}\frac{(f_i-f_{i+1})^2}{f_i+f_{i+1}} \le \frac{\rho}{4D^2}(f_i-f_{i+1})^2 \le \frac{1}{4D^2}|x_1-x_2|^2 \le \frac{1}{4}$ - 归纳步:
$h_{i+1}'\le\frac{h_i'}{1+h_i'}$ - 结论:
$h_k'\le\frac{1}{1+k} \Leftrightarrow h_k \le \frac{2D^2}{\rho}\frac{1}{1+k} \Leftrightarrow f_k \le \frac{2D^2}{\rho}\frac{1}{1+k} + \rho$
- 初始值:
-
考虑近似比, 我们希望达到
$f_k \le (1+\epsilon)\rho$ , 那么迭代次数就应当满足$k \ge \Theta(\frac{D^2}{\epsilon \rho^2})$ -
同时, 为了得到离原点最近的点, 还希望
$\omega_k$ 尽可能大(因为$\omega_k \le q_k\le$ 最小距离$\rho$, 近似比是$\omega_i=(1-\epsilon)\rho$ ) 因为$h_k'-h_{k+1}' \ge g_k'^2$ , 故$\forall t, h_k' - h_{k+t}' \ge \sum\limits_{j=1}^t g_{k+j}'^2$ 若能保证
$g_i > \epsilon'=\frac{1}{\sqrt{k(1+k)}}$ , 就有$h_k'-h_{k+t}' > t\cdot \epsilon'^2 = t\cdot \frac{1}{k(1+k)}$ , 而$h_k'-h_{k+t}' < h_k' \le \frac{1}{1+k}$ , 故这要求$\frac{1}{1+k} > t \cdot \frac{1}{k(1+k)} \Rightarrow t < k$ 如果不能保证, 也就是
$t \ge k$ , 这时 $\left{\begin{array}{l}g_{k+t}'\le \epsilon'=\frac{1}{\sqrt{k(1+k)}} \ h_{k+t}'\le \frac{1}{1+k+t}<\frac{1}{1+k}\end{array}\right.$, 故$\omega_{k+t}=f_{k+t}-g_{k+t} \ge \rho - \frac{1}{\sqrt{k(1+k)}}$ (当$t \ge k$ ), 这时如果我们希望$\omega$ 接近$\rho$ , 即$\omega_{k+t}=(1-\epsilon)\rho$ , 就要求$\sqrt{k(1+k)}\ge\frac{2D^2}{\epsilon \rho^2}$ , 即$k=\Theta(\frac{D^2}{\epsilon \rho^2})$ . (这恰和考虑近似比的结果是一致的)