支持向量机

基本思想

支持向量机的基本思想就是用一个超平面来划分一群点,达到二分类效果。寻找超平面过程中。我们使用最小化间隔的思想,使得svm具有鲁棒性。

硬间隔SVM

欲分类点记为(xi, yi)i = 1N共N个,预测结果yi取值为0,1 我们的判别模型可以表示为 f(w) = sign(wTx + b) 其中wTx + b = 0就是1划分所用的超平面,因此约束条件可以表示为 yi(wTx + b) > 0

最小距离

由上图可以看到,对称地,总能找到连两个点距离超平面最近,我们的目的就是最大化这个”最小距离”,优化任务记为 $$\begin{cases}\max_{w,b}\min\frac{1}{||w||}|w^{T}x_{i}+b|\\\\s.t.\quad y_{i}(w^{T}x_{i}+b)>0\end{cases}$$ 化简为 $$\begin{cases}\max_{w,b}\min\frac{1}{||w||}y_i(w^{T}x_{i}+b)\\\\s.t.\quad y_{i}(w^{T}x_{i}+b)>0\end{cases}$$ 超平面方程为wTx + b = 0,可以任意缩放倍数,因此不妨规定min yi(wTx + b) = 1 原问题化为 $$\begin{cases}min\, \frac{1}{2}w^Tw\\\\s.t.\quad y_{i}(w^{T}x_{i}+b)\geq1\end{cases}$$

由于其约束都是仿射的,因此符合放松的slater条件,问题变为一个纯粹的N个约束的凸优化问题。

对偶问题

但是,如果样本数量或维度非常高,直接求解困难甚至不可解,于是需要对这个问题进一步处理。引入 Lagrange 函数:

$$L(w,b,\lambda)=\frac12w^Tw+\sum_{i=1}^N\lambda_i(1-y_i(w^Tx_i+b))$$

原问题为

$$\begin{cases}min\, \frac12 w^Tw\\\\s.t.\quad 1-y_{i}(w^{T}x_{i}+b)\leq0\end{cases}$$

可以证明,原问题的等价问题为

$$\begin{cases}min_{w,b}\max_{\lambda}L(w,b,\lambda_i)\mathrm{~}\\\\\mathrm{~}\lambda_i\geq0\end{cases}$$

交换最小和最大值的符号得到对偶问题:

maxλiminw, bL(w, b, λis.tλi ≥ 0

由于不等式约束是仿射函数,对偶问题和原问题等价
>引入:原问题和对偶问题满足强对偶关系的充要条件为其满足 KKT 条件:
>$$\begin{aligned} &\frac{\partial L}{\partial w}=0,\frac{\partial L}{\partial b}=0 \\ &\large\lambda_k(1-y_k(w^Tx_k+b))=0(slackness complementary) \\ &\lambda_{i}\geq0 \\ &1-y_i(w^Tx_i+b)\leq0 \end{aligned}$$

利用KKT条件将上述优化问题变为只和λ有关的优化问题

$$\frac\partial{\partial b}L=0\Rightarrow\sum_{i=1}^N\lambda_iy_i=0$$

$$\frac\partial{\partial w}L=0\Rightarrow w=\sum_{i=1}^N\lambda_iy_ix_i$$

带入原始拉格朗日函数得到

$$L(w,b,\lambda_i)=-\frac12\sum_{i=1}^N\sum_{j=1}^N\lambda_i\lambda_jy_iy_jx_i^Tx_j+\sum_{i=1}^N\lambda_i$$

问题转化为了对λ的优化问题

$$\max_\lambda\boldsymbol{-}\frac12\sum_{i=1}^N\sum_{j=1}^N\lambda_i\lambda_jy_iy_jx_i^Tx_j+\sum_{i=1}^N\lambda_i,\mathrm{~}s.t.\mathrm{~}\lambda_i\geq0$$

使用优化手段求解得到λi,进而求解w, b ,

$$\hat{w}=\sum_{i=1}^N\lambda_iy_ix_i\\\hat{b}=y_k-w^Tx_k=y_k-\sum_{i=1}^N\lambda_iy_ix_i^Tx_k,\exists k,1-y_k(w^Tx_k+b)=0$$

容易看出上面的xk就是距离超平面最近的点(向量),我们把它称之为支持向量,这也是支持向量机名字的由来。而这里也可以看出,互补松弛条件就是说只有支持向量对应的λi为0.

软间隔SVM

Hard-margin 的 SVM 只对可分数据可解,如果不可分的情况,我们的基本想法是在损失函数中加入错误分类的可能性。为此我们考虑修正想要min的函数

$$\begin{cases}min\, \frac12 w^Tw+loss \\\\s.t.\quad 1-y_{i}(w^{T}x_{i}+b)\leq0\end{cases}$$

loss应当允许错误分类同时使得错误分类最小,为了尽量保持loss可导,直观地想法是

yi(wTxi + b) >  = 1,此时为正确分类的情况,那么loss = 0
yi(wTxi + b) < 1,此时为错误分类的情况,不妨直接取距离作为loss,也即取loss = 1 − yi(wTxi + b)

因此loss表示为

$$loss=\sum_{i=1}^N\max\{0,1-y_i(w^Tx_i+b)\}$$

求和符号中的式子又叫做 Hinge Function。

优化问题进一步修正为

$$\begin{cases}min\, \frac12w^Tw+C\sum_{i=1}^N\max\{0,1-y_i(w^Tx_i+b)\} \\\\s.t.\quad 1-y_{i}(w^{T}x_{i}+b)\leq0\end{cases}$$

这个式子中,常数C可以看作允许的错误水平,同时上式为了进一步消除 max 符号,对数据集中的每一个观测,我们可以认为其大部分满足约束,但是其 中部分违反约束,因此这部分约束变成yi(wTx + b) ≥ 1 − ξi ,其中 ξi = 1 − yi(wTxi + b) ,进一步的修正为:

$$\begin{cases}min_{w,b}\frac12w^Tw+C\sum_{i=1}^N\xi_i \\\\ s.t.\quad y_i(w^Tx_i+b)\geq1-loss_i,loss_i\geq0\end{cases}$$

对于正确分类的点,lossi = 0,约束变为yi(wTxi + b) ≥ 1 − 0
对于错误分类的点,lossi = 1 − yi(wTxi + b),约束恒成立,相当于没有约束。

一些凸分析杂谈与核方法

latex有空再敲,太多了太多了

主要就是在讲一些十分凸分析的内容,比如

  • 凸优化+slater条件是强对偶关系的充要条件
  • slater条件有放松版本,就是对于仿射形式的约束条件的放松
  • 从几何上可以直观感受到强弱对偶关系之间对的联系
  • 从几何上可以简单的感受到KKT条件

支持向量机
http://example.com/2024/07/30/机器学习/支持向量机/
作者
bradin
发布于
2024年7月30日
许可协议