支持向量机(SVM)

推荐讲解视频 白板推导

支持向量机的思想是寻找样本分类的最大间隔。

设样本$D=\{(x_1,y_1),(x_1,y_1),…,(x_m,y_m)\}$,其中$y_i \in \{+1,-1\}$,当$x_i$为正例时$y_i=+1$,当$x_i$为反例时,$y_i=-1$.

线性可分支持向量机

线性可分支持向量机是最基本的支持向量机,分类超平面为

当样本点为正例时$w^Tx_i+b\ge 0,y_i=+1$,当样本点为反例时$w^Tx_i+b\le 0,y_i=-1$,因此

样本点到超平面的距离

两个边界之间的距离为

要获得最大间隔即求最大的r,

转化为最小化问题即

式(3)即为支持向量机的基本型优化问题。

求得最优化问题的结$w^,b^$,得到线性可分支持向量机,分离超平面为

分类决策函数为

对偶问题

式(3)的拉格朗日乘子式是

对式(4)中$w,b$分别求偏导可得

令$\frac{\partial L}{\partial b},\frac{\partial L}{\partial w}$为0可求得

将式(5)代入$L(w,b,\lambda)$中可得

即原问题式(3)的对偶问题为

注:此问题符合强对偶关系即

注:$强对偶关系\Leftrightarrow KKT$

设$\lambda^,w^,b^*$为最优解则有KKT条件:

其中$w^=\sum_{i=1}^m\lambda_i^ y_ix_i$,$b^=y_i-\sum_{i=1}^m\lambda_i^y_ix_i^Tx_j$

软间隔

在线性可分支持向量机中假设所有的样本能够完全被超平面加以区分,但实际的数据中会存在误差,解决这些误差的方法为使用损失函数。

最直接的损失函数为“0/1”损失函数,正确项为0,错误项为1,此时优化目标变为

其中$C$为缩放系数(超参数),$\ell_{0/1}$为0/1损失函数。

由于$\ell_{0/1}$不具有连续性,因此一般使用其他损失函数代替$\ell_{0/1}$。

hinge(合页)损失:$\ell_{hinge}=max\{0,(y_i(w^Tx_i+b)-1)\}$

引入松弛变量$\xi$,优化目标变为

其对偶问题为

非线性支持向量机

通过非线性变换将样本转换到高维空间中在进行线性分类。在线性支持向量机学习的对偶问题中,目标函数只涉及样本间的内积,即$x_i^T x_j$。假设映射函数为$\phi(x)$,则在高维空间中样本间内积为$\phi(x_i^T)\phi(x_j)$。令

即用核函数$K(i,j)$代替原有内积。非线性支持向量机通过核化得到核线性判别分析(KLDA)。