SVM心路历程
2022-01-25

 

 

 

 

SVM原理推导

定义任务

任务:对线性可分的二分类问题,寻找一条直线,对于距离该直线最近的正负样本点,使得它们到直线的距离相等,且它们之间的距离最大。即寻找最宽的路,将正负样本分开

如下图所示,右侧的决策边界要优于左侧决策边界。

决策边界对比2

w为决策边界的法向量,C为原点到决策边界的距离,则决策函数为:

(1){wx>C,then+wx<C,then

稍作化简,可得:

(2){wx+b>0,then+wx+b<0,then

y做如下定义:

(3)y={1,+1,

则决策函数应该满足:

(4)y(wx+b)>0

决策函数标准化

对决策函数加入距离限制,比如要求最近的点到决策边界的函数间隔至少为1,则决策函数:

(5)y(wx+b)1x

含义:正负样本点距离决策边界的最近距离为1。对于等于1的点,我们称之为支持向量。

 

计算街宽

(6)WIDTH=(x+x)w|w|=2|w|x+x

 

定义优化目标

(7)max2|w|min|w|{min12w22s.t.yi(wxi+b)1,i=1...N

定义拉格朗日函数

(8)L(α,w,b)=12w22+i=1Nαi[1yi(wxi+b)]α=(α1,α2,,αN)0

优化目标是使L最小,使用数值方法,L分别对wb求导:

(9)Lw=wi=1Nαiyixi=0Lb=i=1Nαiyi=0

w的最优解:

(10)w=i=1Nαiyixii=1Nαiyi=0

b的最优解,可以任意找一个支持向量,根据yi(wxi+b)=1进行求解。

至此,求得决策边界:

(11){i=1Nαiyi(xixnew)+b>0,then+i=1Nαiyi(xixnew)+b<0,then

核方法

(12)L=i=1Nαi12i=1Nj=1Nαiαjyiyj(xixj),xLxixj

定义:

(13)K(xi,xj)=Φ(xi)Φ(xj)

K(xi,xj)为核函数,Φ为变换函数。左侧为点乘后的变换,右侧为变换后的点乘,核方法本质是将变换后的点乘改为点乘后的变换。我们不需要知道如何变换,只需要知道变换后的结果。

 

神经网络

从神经网络的角度理解,SVM的本质是通过全连接变换,采用hinge-loss作为损失函数的分类问题。

SVM神经网络

hinge-loss(经验风险)为:

(14)L(y(wx+b))=[1y(wx+b)]+[z]+{z,z>00,z<=0

为了防止过拟合,实际优化目标还会加入正则化项(结构风险):

(15)min{[1y(wx+b)]++λ||w||2}w,b[z]+{z,z>00,z<=0

实现代码为:

 

对偶问题转化

1.

(16)L(α,w,b)=12w22+i=1Nαi[1yi(wxi+b)]α=(α1,α2,,αN)0

2.

(17)g(α)=minw,bL(α,w,b)

3.

(18)maxα,α0g(α)=maxα,α0minw,bL(α,w,b)

4.

(19)wL(w,b,α)=wi=1Nαiyixi=0bL(w,b,α)=i=1Nαiyi=0

(20)w=i=1Nαiyixii=1Nαiyi=0

L(α,w,b)

(21)L(w,b,α)=12i=1Nj=1Nαiαjyiyj(xixj)i=1Nαiyi((j=1Nαjyjxj)xi+b)+i=1Nαi=12i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi

(22)g(α)=minw,bL(α,w,b)=12i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi

5.

(23)maxα12i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi s.t. i=1Nαiyi=0αi0,i=1,2,,N

min

(24)minα12i=1Nj=1Nαiαjyiyj(xixj)i=1Nαi s.t. i=1Nαiyi=0αi0,i=1,2,,N

 

 

SMO算法

待补充。

 

 

附录

二范数求导

(25)w22=wTw=w12+w22+...+wn2
(26)wTww=2w

解释:w12+w22+...+wn2分别对w中的每个变量求偏导。