对于上图中的红叉和蓝圈,如果我们进行二分类,找到他的分类边界,那么有许多中可能(绿色,粉色,黑色)。但是,绿色和粉色的分类超平面,对于未知样本的预测效果会比黑色的差。支持向量机,就是去找到这样一个分类超平面,使得样本点到这个平面的距离最大。
数学模型
判别模型f(x)=wTx+b,把b当成w的一部分则f(x)=wTx,对于最大间隔,要满足以下式子:
max margin(w,b)s.t.yi(wTxi+b)>0
margin(w,b)=w,b,ximin distance(w,b,xi)w,b,ximin∣∣w∣∣∣wTxi+b∣ (1)
(1)式为点到直线的距离
对于分类问题:
wTx+b>0 y=1wTx+b<=0 y=−1
因此∣wTxi+b∣可以转换成yi(wTxi+b),
w,bmaxximin∣∣w∣∣∣wTxi+b∣=w,bmax∣∣w∣∣1ximiny(wTxi+b)s.t.y(wTxi+b)>0
对于minxiy(wTxi+b),一定存在一个R 使得minxy(wTx+b)=R
对于R可以进行缩放,比如x=1和2x=2其实表达是一样的,因此这里就直接假设R=1,minxy(wTx+b)=R等价于y(wTx+b)>=R
则上式为:
w,bmax∣∣w∣∣1s.t.yi(wTxi+b)>=1
w,bmin21∣∣w∣∣2s.t.yi(wTxi+b)>=1 (2)
对maxmin的解释:
min是求样本中离直线最近的点,这些点可以理解为支持向量
max使得这些最近的点到分类超平面的距离最大
对偶问题
对于上面的式子,是一个
凸二次规划问题,可以直接用相应的方法求解,但是遇到维度较高的情况时,就不能直接用二次规划的方法做,因此这里引入他的对偶问题。
拉格朗日乘子法
对于上式改写为:
L(w,b,λ)=21wTw+i=1∑Nλi(1−yi(wTxi+b))s.t.λi>=0
w,bminλmaxLs.t.λi>=0
拉格朗日乘子法中:L(w,b,λ)=h(x)+∑i=1Nλig(x) λ大于等于0,g(x)小于等于0
对偶关系:minmax <= maxmin即最大值中的最小值肯定大于等于最小值中的最大值。而对于凸二次规划问题,满足强对偶关系,即minmax=maxmin
所以原式可以转换为
λmaxw,bminLs.t.λ>=0
对于min是不受lambda约束的,所以可以直接求解。求出L关于w,b的偏导数,然后带入L得到λmaxPλ>=0
P的表达式:
w∗=∑i=1Nλiyixi,b∗=∑i=1Nλiyi
P=λmini=1∑Nj=1∑NλiλjyiyjxiTxj−i∑Nλis.t.λ>=0i=1∑Nλiyi=0
对于凸二次规划问题,前面提到他一定是满足强对偶关系的,而他的充要条件就是满足KKT条件。
KKT条件:
f(x)=⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧λ1−y(wTx+b)λ(1−y(wTx+b))w∗,b∗,λ∗>=<===0000
w∗,b∗,λ∗是导数,直观上理解,对于L,想要得到最大值就得后半部分为0,最大值为21wTw。而后半部分为0,那就是λ为0或者1−y(wTx+b)为0。
对于在黄色和橙色线上的点1−y(wTx+b)为0,而在两条线以外的点则1−y(wTx+b)<0因此此时λ=0
w∗=∑i=1Nλiyixi
一定存在一个(xk,yk)使得wTxk+b=yk,即在两条彩色线上。
b∗=yk−wTxk=yk−∑i=1NyixiTxk
分类超平面为w∗Tx+b∗
以上是hard margin的情况,也就是假设样本在理想情况下是完全可以被分开的,没有噪声的,下面总结一下soft margin的知识
soft margin
字面上理解就是相对hard,soft的条件没有这么苛刻,允许一点点错误。
所谓的一点点错误,用loss来表示,我们可以用01损失来表达,即loss表示违反条件(超过红色线)的个数∑i=1NI{yi(wTxi+b)<1},I表示个数
但是01loss是不连续的,求导不好弄,因此对其进行改进。
改进后
采用hinge loss 在满足条件的时候(yi(wTxi+b)>=1)就为0,不满足的时候就等于
1−yi(wTxi+b)
loss=max{0,1−yi(wTxi+b)}
ξ来表示loss,可得ξ>=0
如上图所示,蓝色的线就是使用soft margin后的情况,允许在黄色这段区间内存在一些噪声。
式(2可以写成)
w,bmin21wTw+Ci=1∑Nξis.t.yi(wTxi+b)>=1−ξi
C是系数
参考:https://www.bilibili.com/video/BV1Hs411w7ci?p=3