间隔、对偶、核技巧
一、硬间隔支持向量机
1.1 模型定义
硬间隔分类器也作最大间隔分类器:确保两类的特征点到决策面\(y=w^Tx+b\)距离最大。
由于目的是分类,故引入\(sign(y)\)函数
\[ sign(y)=\left\{\begin{matrix} +1 & y>0\\ -1 & y<0 \end{matrix}\right. \]
令设间隔函数为\(margin(w,b)\),支持向量机的本质如下,其中\(\{{(x_i,y_i)|x_i\in{R^p}},y_i \in{\{-1,1\}}\}\)
\[ \begin{matrix} max \ margin(w,b) & \\ s.t.\left\{\begin{matrix} w^Tx_i+b>0&y_i=+1 \\ w^Tx_i+b<0&y_i=-1 \end{matrix}\right. \end{matrix} \]
可知:
\[ y_i(w^Tx_i+b)>0,i=1,2,3,...,N \]
将(3)带入\((2)\):
\[ \begin{matrix} max \ margin(w,b) & \\ s.t.\ y_i(w^Tx_i+b)>0, i=1,2,3,...,N \end{matrix} \]
令样本特征点\((x_i,y_i)\)到平面的距离为\(distance\)
\[ distance=\frac{\left | w^Tx_i+b \right |}{\left \| w \right \|} \]
\(margin\)与\(distance\)存在如下关系:
\[ max \ margin(w,b)\Leftrightarrow\begin{matrix}\\ max& min & distance(w,b,x_i)\\ w,b& x_i,i\in\{1,N\} & \end{matrix} \]
带入式(5)和式(6),将(4)转化为:
\[ \left\{\begin{matrix} max_{w,b}\ min_{x_i,i\in\{1,N\}} \frac{\left | w^Tx_i+b \right |}{\left \| w \right \|}\\s.t.\ y_i(w^Tx_i+b)>0, i=1,2,3,...,N\end{matrix}\right. \]
再变:
\[ \left\{\begin{matrix} max_{w,b}\ min_{x_i,i\in\{1,N\}}\frac{y_i( w^Tx_i+b)}{\left \| w \right \|}\\ s.t.\ y_i(w^Tx_i+b)>0, i=1,2,3,...,N \end{matrix}\right. \]
变变变:
\[ \left\{\begin{matrix} max_{w,b}\ \frac{1}{\left \| w \right \|} min_{x_i,i\in\{1,N\}}\ y_i( w^Tx_i+b)\\ s.t.\ y_i(w^Tx_i+b)>0, i=1,2,3,...,N \end{matrix}\right. \]
换一种约束条件表示约束条件:
\[ s.t.\ y_i(w^Tx_i+b)>0, i=1,2,3,...,N \Leftrightarrow \exists \gamma >0,min\ y_i(w^Tx_i+b)=\gamma \]
式(9)可转化为:
\[ \left\{\begin{matrix} max_{w,b}\ \frac{\gamma}{\left \| w \right \|} \\ s.t.\ \exists \gamma >0,min\ y_i(w^Tx_i+b)=\gamma \end{matrix}\right. \]
由于任意缩放\(\gamma\)的比例不会对分界面造成影响,因此可将其缩放至1(最骚的操作,不好想):
\[ \left\{\begin{matrix} max_{w,b}\ \frac{1}{\left \| w \right \|} \\ s.t.\ min\ y_i(w^Tx_i+b)=1 \end{matrix}\right. \]
最终得到的模型:
\[ \left\{\begin{matrix} min_{w,b}\ \left \| w \right \| \\ s.t.\ y_i(w^Tx_i+b)\geqslant 1,\forall i\in\{1,N\} \end{matrix}\right. \]
该模型的几点说明:
- 二次凸优化问题
- 存在N个约束
1.2 模型求解(QP)
原问题:
- 约束优化(拉格朗日变换)
- 对偶变化(降低求解难度?)
- KKT条件(求解)
原问题具有约束多,不易求解的特点,因此需要通过拉格朗日变换降约束,之后再通过对偶变换降低优化难度,最后利用对偶变换的必要条件:KKT进行求解。
1.2.1 约束优化
primal problem:
\[ \left\{\begin{matrix} min_{w,b}\ \frac{1}{2}w^Tw \\ s.t.\ y_i(w^Tx_i+b)\geqslant 1,\forall i\in\{1,N\} \end{matrix}\right. \]
拉格朗日变换:
\[ L(w,b,\lambda)=\frac{1}{2}w^Tw+\sum_{i=1}^{N} \lambda_i(1-y_i(w^Tx_{i}+b))\\ s.t.\ \lambda_i\geqslant 0 \]
原始问题优化为:
\[ \left\{\begin{matrix} min_{w,b}\ max_{\lambda} L(w,b,\lambda) \\ s.t.\ \lambda_i\geqslant 0 \end{matrix}\right. \]
约束优化等价证明
若\(1-y_i(w^Tx_i+b)> 0\),\(max_{\lambda} L(w,b,\lambda)\rightarrow +\infty\)
若\(1-y_i(w^Tx_i+b)\leqslant 0\),\(max_{\lambda} L(w,b,\lambda)\rightarrow \frac{1}{2}w^Tw\)
因此\(min_{w,b}\ max_{\lambda} L(w,b,\lambda)\Leftrightarrow min_{w,b}(+\infty,\frac{1}{2}w^Tw)\Leftrightarrow min_{w,b}\ \frac{1}{2}w^Tw\)
其实就是通过拉格朗日变换去除原始复杂的约束条件\(y_i(w^Tx_i+b)\geqslant 1,\forall i\in\{1,N\}\),现在的约束条件为\(\lambda_i\geqslant 0\)
1.2.2 对偶变换(鸡头凤尾问题)
凤尾与鸡头的弱对偶关系
\[ \min_{w,b} \max_{\lambda} L \geqslant\max_{\lambda}\min_{w,b} L \]
2⃣️Sad
而凸优化二次问题满足强对偶关系(稍后证明)
\[ \min_{w,b} \max_{\lambda} L =\max_{\lambda}\min_{w,b} L \]
则得到对偶变换后的模型为:
\[ \left\{\begin{matrix} \max_{\lambda} \min_{w,b} L(w,b,\lambda) \\ s.t.\ \lambda_i\geqslant 0 \end{matrix}\right. \]
求解\(\min_{w,b}L(w,b,\lambda)\),无约束直接对\(b\)求导:
\[ \frac{\partial L}{\partial b} =\frac{\partial }{\partial b}[-\sum_{i=1}^{N} \lambda_{i}y_ib_i]=0 \\\Rightarrow -\sum_{i=1}^{N}\lambda_{i}y_i=0 \]
对\(w\)求导
\[ \frac{\partial L}{\partial w} =\frac{\partial }{\partial w}[\frac{1}{2}w^Tw-\sum_{i=1}^{N} \lambda_{i}y_iw^Tx_i]=0 \\\Rightarrow w-\sum_{i=1}^{N}\lambda_{i}y_ix_i=0 \\ \Rightarrow w=\sum_{i=1}^{N}\lambda_{i}y_ix_i \]
将式(20)、(21)带入L,
\[ L(w,b,\lambda)=\frac{1}{2}\left ( \sum_{i=1}^N \lambda_iy_ix_i\right )^T\left ( \sum_{j=1}^N \lambda_jy_jx_j\right )-\sum_{i=1}^N\lambda_iy_i\left ( \sum_{j=1}^N \lambda_jy_jx_j\right )^Tx_i+\sum_{i=1}^N\lambda_i \\ = -\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\lambda_{i}\lambda_jy_iy_jx_i^Tx_j+\sum_{i=1}^N\lambda_i \]
模型转换为:
\[ \left\{\begin{matrix} \max_{\lambda}-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\lambda_{i}\lambda_jy_iy_jx_i^Tx_j+\sum_{i=1}^N\lambda_i\\ s.t. \ \lambda_i\geqslant 0,-\sum_{i=1}^{N}\lambda_{i}y_i=0 \end{matrix}\right. \]
1.2.3 KKT条件
有约束条件存在,不能直接对\(\lambda\)求偏导,QP问题的KKT条件:
$$
\left{\begin{matrix}
\frac{\partial L}{\partial w}=0, \frac{\partial L}{\partial b}=0,\frac{\partial L}{\partial \lambda}=0\
\lambda_i(1-y_i(w^Tx_{i}+b))=0\
\lambda_i\geqslant 0\
1-y_i(w^Tx_{i}+b) \leqslant 0
\end{matrix}\right.
$$
说明:
$ 1-y_i(w^Tx_{i}+b) < 0 \Rightarrow \lambda_i=0$,此时L后面部分将不起作用
因此\(\exists (x_k,y_k)\),满足\(1-y_k(w^Tx_k+b)=0\)
\[ y_k(w^Tx_k+b)=1 \\ \Rightarrow y_k^2(w^Tx_k+b)=y_k \\ \Rightarrow b=y_k-w^Tx_k \\ \Rightarrow b=y_k-\sum_{i=1}^N\lambda_iy_ix_i^Tx_k \]
最终求得
\[ \left\{\begin{matrix} w^*=\sum_{i=1}^N\lambda_iy_ix_i\\ b^*=y_k-\sum_{i=1}^N\lambda_iy_ix_i^Tx_k \end{matrix}\right. \]决策函数:
\[ f(x)=sign({w^*}^Tx+b) \]
\(y={w^*}^Tx+b\)分割超平面
二、软间隔支持向量机
软间隔支持向量机是指允许存在一点点错误的硬间隔支持向量机
硬间隔支持向量机:
\[ \left\{\begin{matrix} min_{w,b}\ \frac{1}{2}w^Tw \\ s.t.\ y_i(w^Tx_i+b)\geqslant 1,\forall i\in\{1,N\} \end{matrix}\right. \]
允许一点点错误:
\[ \left\{\begin{matrix} min_{w,b}\ \frac{1}{2}w^Tw + loss\\ s.t.\ y_i(w^Tx_i+b)\geqslant 1,\forall i\in\{1,N\} \end{matrix}\right. \]
2.1 \(loss\)几种设计
\(loss\)为\(I(\cdot)\):
\[ loss=\sum_{i=1}^NI(y_i(w^Tx_i+b)<1) \]
此时\(w\)不连续,无法求微分
\(loss\)为合页损失函数:
\[ \left\{\begin{matrix} y_i(w^Tx_i+b)\geq 1,loss=0\\ y_i(w^Tx_i+b)\prec 1,loss=1-y_i(w^Tx_i+b) \end{matrix}\right. \]
换种表达方式:
\[ loss=\max\{0,1-y_i(w^Tx_i+b)\} \]
2.2 模型求解
与硬间隔完全相同:
- 降约束
- 对偶
- KKT
三、对偶问题深入
3.1 弱对偶性证明
求证
\[ \max_{\lambda,\eta}\min_{x} L\leqslant \min_x\max_{\lambda,\eta} L \]
证明:
\[ \min_xL(x,\lambda,\eta)\leqslant L(x,\lambda,\eta) \leqslant \max_{\lambda,\eta}L(x,\lambda,\eta) \]
\[ A(\lambda,\eta) \leqslant B(x) \\ \Rightarrow \max_{\lambda,\eta}A(\lambda,\eta) \leqslant \min_xB(x) \]
最终得:
\[ \max_{\lambda,\eta}\min_{x} L\leqslant \min_x\max_{\lambda,\eta} L \]
证毕
3.2 约束优化一般性证明
3.2 对偶问题的几何解释
3.2 Slater Condition
存在一个点在凸优化图像内部
3.3 KKT条件
- 可行条件
- 互补松弛条件
- 梯度为0
四、核方法
4.1 为什么引入核方法?
- 非线性带来高维变换
- 对偶表示带来内积
核方法解决上述问题,在低维度的核函数内积计算等同于高维运算
4.2 两个定义
正定核函数的:两个定义