机器学习-SVM推导

SVM的基本思想


SVM的基本思想非常直观。设想一个多维平面上散落着正样本和负样本,如果能找到一个超平面,恰好能将正负样本分开,那么这个超平面就可以用来对样本进行分类。如下图所示:
机器学习-SVM推导
我们的目标是找到图中的H3。


推导步骤


步骤1

假设空间上的训练数据集:

T={(x1,y1),,(xn,yn)}yi={+1,1}

找到分类超平面:
wTx+b=0

样本空间中任意点x到超平面(w,b)的距离可写为:
r=|wTx+b|||w||

若该超平面能将正负样本分开,也就是正负样本完全被超平面隔离开,该情况从数学的角度看,就等同于:
distance(xi,yi)=yi|wTx+b|||w||>0

对于所有的正样本,yi=1,distance(xi,yi)大于0意味着:
wTx+b>0

同理,对所有的负样本,yi=-1,也有:
wTx+b<0

这意味着负样本都在超平面与法向量ω反向的一侧。
假设同时存在两个平行于H的超平面H1和H2:
wTx+b=1wTx+b=1

使离H最近的正负样本刚好分别落在H1和H2上,这样的样本就是支持向量。那么其他所有的训练样本都将位于H1和H2之外,也就是满足如下约束:
wTx+b1{yi=1}wTx+b1{yi=1}

写成统一的式子就是:
yi(wTxi+b)10

而超平面H1和H2的距离可知为:
Margin=2||w||

SVM的任务就是寻找这样一个超平面H把样本无误地分割成两部分,并且使H1和H2的距离最大。要找到这样的超平面,只需最大化间隔Margin,也就是最小化[||w|{|^2}]
于是,SVM的基本型如下:
{min||w||22s.t.yi(wTx+b)1,i=1,2,,m

对于不等式约束的条件极值问题,可以用拉格朗日方法求解。而拉格朗日方程的构造规则是:用约束方程乘以非负的拉格朗日系数,然后再从目标函数中减去。于是得到拉格朗日方程如下:
L(w,b,ai)=12||w||2i=1mai(yi(wTxi+b)1)

其中:
ai0

那么我们要处理的规划问题就变为:
minw,bmaxai0(L(w,b,ai))

根据对偶问题做个等价变换:
maxai0minw,b(L(w,b,ai))=minw,bmaxai0(L(w,b,ai))

其意义是:原凸规划问题可以转化为先对w和b求偏导,令其等于0消掉w和b,然后再对α求L的最大值。
先计算w和b的偏导数有:
(L(w,b,ai))w=wi=1maiyixi=0(L(w,b,ai))b=i=1maiyi=0

于是就有:
w=i=1maiyixii=1maiyi=0

于是:
minw,bL(w,b,a)=12||w||2wi=1maiyixibi=1maiyi+i=1mai=12||w||2w2+i=1mai=i=1mai12||w||2=i=1mai12i=1mj=1maiajyiyjxiTxj

于是可得对偶问题:
{maxa{i=1mai12i=1mj=1maiajyiyjxiTxj}s.t.i=1maiyi=0ai0

上式这个规划问题可以直接从数值方法计算求解。


原始问题和对偶问题


从minmax的原始问题,转化为maxmin的对偶问题。一者因为是近似解,二者,转化为对偶问题后,更容易求解。下面可以先求L对w、b的极小,再求L 对a的极大。


合页损失函数


函数:

L=[1y(wx+b)]+

称为合页损失函数。当样本被正确分类且函数间隔大于1时,合页损失才是0,否则损失是1-y(wx+b)。相比之下,合页损失函数不仅要正确分类,而且确信度足够高时损失才是0。也就是说,合页损失函数对学习有更高的要求。


其他问题


SVM防止过拟合:

https://blog.****.net/vincent2610/article/details/52033250?locationNum=14

SVM 为什么不适合处理大数据?:

但对于大规模学习来说,障碍往往在于算法的计算能力不足,不是数据不够,所以也可以说传统的统计学习方法都不适合大规模数据处理(不只是SVM)。

KKT条件

https://blog.****.net/johnnyconstantine/article/details/46335763