机器学习——支持向量机SVM学习总结

在这里插入图片描述
对于上图中的红叉和蓝圈,如果我们进行二分类,找到他的分类边界,那么有许多中可能(绿色,粉色,黑色)。但是,绿色和粉色的分类超平面,对于未知样本的预测效果会比黑色的差。支持向量机,就是去找到这样一个分类超平面,使得样本点到这个平面的距离最大。

数学模型

判别模型 f ( x ) = w T x + b f(x)=w^Tx+b f(x)=wTx+b,把b当成w的一部分则 f ( x ) = w T x f(x)=w^Tx f(x)=wTx,对于最大间隔,要满足以下式子:
m a x   m a r g i n ( w , b ) s . t . y i ( w T x i + b ) > 0 max \space margin(w, b)\\s.t. y_i(w^Tx_i+b)>0 max margin(w,b)s.t.yi(wTxi+b)>0
m a r g i n ( w , b ) = min ⁡ w , b , x i   d i s t a n c e ( w , b , x i ) min ⁡ w , b , x i ∣ w T x i + b ∣ ∣ ∣ w ∣ ∣       ( 1 ) margin(w,b)=\min_{w,b,x_i}~distance(w,b,x_i) \\ \min_{w,b,x_i}\frac{|w^Tx_i+b|}{||w||}~~~~~(1) margin(w,b)=w,b,ximin distance(w,b,xi)w,b,ximinwwTxi+b     (1)
(1)式为点到直线的距离
对于分类问题:

w T x + b > 0     y = 1 w T x + b < = 0     y = − 1 w^Tx+b>0~~~y=1 \\ w^Tx+b<=0~~~y=-1 wTx+b>0   y=1wTx+b<=0   y=1

因此 ∣ w T x i + b ∣ |w^Tx_i+b| wTxi+b可以转换成 y i ( w T x i + b ) y_i(w^Tx_i+b) yi(wTxi+b)
max ⁡ w , b min ⁡ x i ∣ w T x i + b ∣ ∣ ∣ w ∣ ∣ = max ⁡ w , b 1 ∣ ∣ w ∣ ∣ min ⁡ x i y ( w T x i + b ) s . t . y ( w T x i + b ) > 0 \max_{w,b}\min_{x_i} \frac{|w^Tx_i+b|}{||w||} = \max_{w,b}\frac{1}{||w||}\min_{x_i} y(w^Tx_i+b) \\ s.t.y(w^Tx_i+b)>0 w,bmaxximinwwTxi+b=w,bmaxw1ximiny(wTxi+b)s.t.y(wTxi+b)>0
对于 min ⁡ x i y ( w T x i + b ) \min_{x_i} y(w^Tx_i+b) minxiy(wTxi+b),一定存在一个R 使得 min ⁡ x y ( w T x + b ) = R \min_{x} y(w^Tx+b)=R minxy(wTx+b)=R
对于R可以进行缩放,比如x=1和2x=2其实表达是一样的,因此这里就直接假设R=1, min ⁡ x y ( w T x + b ) = R \min_{x} y(w^Tx+b)=R minxy(wTx+b)=R等价于 y ( w T x + b ) > = R y(w^Tx+b)>=R y(wTx+b)>=R
则上式为:
max ⁡ w , b 1 ∣ ∣ w ∣ ∣ s . t . y i ( w T x i + b ) > = 1 \max_{w,b}\frac{1}{||w||} \\ s.t.y_i(w^Tx_i+b)>=1 w,bmaxw1s.t.yi(wTxi+b)>=1
min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ( w T x i + b ) > = 1     ( 2 ) \min_{w,b}\frac{1}{2}||w||^2 \\ s.t.y_i(w^Tx_i+b)>=1~~~(2) w,bmin21w2s.t.yi(wTxi+b)>=1   2
对maxmin的解释:
min是求样本中离直线最近的点,这些点可以理解为支持向量
max使得这些最近的点到分类超平面的距离最大
对偶问题
对于上面的式子,是一个
凸二次规划问题,可以直接用相应的方法求解,但是遇到维度较高的情况时,就不能直接用二次规划的方法做,因此这里引入他的对偶问题。
拉格朗日乘子法
对于上式改写为:
L ( w , b , λ ) = 1 2 w T w + ∑ i = 1 N λ i ( 1 − y i ( w T x i + b ) ) s . t . λ i > = 0 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>=0 L(w,b,λ)=21wTw+i=1Nλi(1yi(wTxi+b))s.t.λi>=0
min ⁡ w , b max ⁡ λ L s . t . λ i > = 0 \min_{w,b}\max_{\lambda}L \\ s.t.\lambda_i>=0 w,bminλmaxLs.t.λi>=0
拉格朗日乘子法中: L ( w , b , λ ) = h ( x ) + ∑ i = 1 N λ i g ( x ) L(w,b,\lambda)=h(x)+\sum_{i=1}^N{\lambda_i g(x)} L(w,b,λ)=h(x)+i=1Nλig(x) λ \lambda λ大于等于0,g(x)小于等于0
对偶关系:minmax <= maxmin即最大值中的最小值肯定大于等于最小值中的最大值。而对于凸二次规划问题,满足强对偶关系,即minmax=maxmin
所以原式可以转换为
max ⁡ λ min ⁡ w , b L s . t . λ > = 0 \max_{\lambda}\min_{w,b}L \\ s.t.\lambda>=0 λmaxw,bminLs.t.λ>=0
对于min是不受lambda约束的,所以可以直接求解。求出L关于w,b的偏导数,然后带入L得到 max ⁡ λ P λ > = 0 \max_{\lambda}P \\ \lambda >= 0 λmaxPλ>=0
P的表达式:
对w求偏导: w ∗ = w − ∑ i = 1 N λ i y i x i w^*=w - \sum_{i=1}^N{\lambda_iy_ix_i} w=wi=1Nλiyixi,对b求偏导 b ∗ = ∑ i = 1 N λ i y i b^*=\sum_{i=1}^N{\lambda_iy_i} b=i=1Nλiyi
偏导为0时函数有最小值 w − ∑ i = 1 N λ i y i x i = 0 w - \sum_{i=1}^N{\lambda_iy_ix_i}=0 wi=1Nλiyixi=0 ∑ i = 1 N λ i y i = 0 \sum_{i=1}^N{\lambda_iy_i}=0 i=1Nλiyi=0
由上式可得 w = ∑ i = 1 N λ i y i x i w=\sum_{i=1}^N{\lambda_iy_ix_i} w=i=1Nλiyixi
P = min ⁡ λ ∑ i = 1 N ∑ j = 1 N λ i λ j y i y j x i T x j − ∑ i N λ i s . t . λ > = 0 ∑ i = 1 N λ i y i = 0 P=\min_{\lambda}\sum_{i=1}^N{\sum_{j=1}^N{\lambda_i\lambda_jy_iy_jx_i^Tx_j}}-\sum_{i}^N{\lambda_i} \\ s.t.\lambda>=0 \\ \sum_{i=1}^N{\lambda_iy_i}=0 P=λmini=1Nj=1NλiλjyiyjxiTxjiNλis.t.λ>=0i=1Nλiyi=0
对于凸二次规划问题,前面提到他一定是满足强对偶关系的,而他的充要条件就是满足KKT条件。
KKT条件:
f ( x ) = { λ > = 0 1 − y ( w T x + b ) < = 0 λ ( 1 − y ( w T x + b ) ) = 0 w ∗ , b ∗ , λ ∗ = 0 f(x)=\left\{ \begin{aligned} \lambda&>=&0 \\ 1-y(w^Tx+b)&<=&0\\ \lambda(1-y(w^Tx+b))&=&0 \\ w^*,b^*,\lambda^*&=&0 \end{aligned} \right. f(x)=λ1y(wTx+b)λ(1y(wTx+b))w,b,λ>=<===0000
w ∗ , b ∗ , λ ∗ w^*,b^*,\lambda^* w,b,λ是导数,直观上理解,对于L,想要得到最大值就得后半部分为0,最大值为 1 2 w T w \frac{1}{2}w^Tw 21wTw。而后半部分为0,那就是 λ \lambda λ为0或者 1 − y ( w T x + b ) 1-y(w^Tx+b) 1y(wTx+b)为0。
在这里插入图片描述
对于在黄色和橙色线上的点 1 − y ( w T x + b ) 1-y(w^Tx+b) 1y(wTx+b)为0,而在两条线以外的点则 1 − y ( w T x + b ) < 0 1-y(w^Tx+b)<0 1y(wTx+b)<0因此此时 λ = 0 \lambda=0 λ=0
w ∗ = ∑ i = 1 N λ i y i x i w^*=\sum_{i=1}^N{\lambda_iy_ix_i} w=i=1Nλiyixi
一定存在一个 ( x k , y k ) (x_k,y_k) (xk,yk)使得 w T x k + b = y k w^Tx_k+b=y_k wTxk+b=yk,即在两条彩色线上。
b ∗ = y k − w T x k = y k − ∑ i = 1 N y i x i T x k b^*=y_k-w^Tx_k=y_k-\sum_{i=1}^N{y_ix_i^Tx_k} b=ykwTxk=yki=1NyixiTxk
分类超平面为 w ∗ T x + b ∗ w^{*T}x+b^* wTx+b
以上是hard margin的情况,也就是假设样本在理想情况下是完全可以被分开的,没有噪声的,下面总结一下soft margin的知识
soft margin
字面上理解就是相对hard,soft的条件没有这么苛刻,允许一点点错误。

所谓的一点点错误,用loss来表示,我们可以用01损失来表达,即loss表示违反条件(超过红色线)的个数 ∑ i = 1 N I { y i ( w T x i + b ) < 1 } \sum_{i=1}^N{I\{y_i(w^Tx_i+b)<1\}} i=1NI{yi(wTxi+b)<1},I表示个数
但是01loss是不连续的,求导不好弄,因此对其进行改进。
01损失函数
改进后
hinge loss
采用hinge loss 在满足条件的时候( y i ( w T x i + b ) > = 1 y_i(w^Tx_i+b)>=1 yi(wTxi+b)>=1)就为0,不满足的时候就等于
1 − y i ( w T x i + b ) 1- y_i(w^Tx_i+b) 1yi(wTxi+b)
l o s s = max ⁡ { 0 , 1 − y i ( w T x i + b ) } loss=\max\{0, 1-y_i(w^Tx_i+b)\} loss=max{0,1yi(wTxi+b)}
在这里插入图片描述
ξ \xi ξ来表示loss,可得 ξ > = 0 \xi>=0 ξ>=0
如上图所示,蓝色的线就是使用soft margin后的情况,允许在黄色这段区间内存在一些噪声。
式(2可以写成)
min ⁡ w , b 1 2 w T w + C ∑ i = 1 N ξ i s . t . y i ( w T x i + b ) > = 1 − ξ i \min_{w,b}\frac{1}{2}w^Tw+C\sum_{i=1}^N{\xi_i}\\ s.t.y_i(w^Tx_i+b)>=1-\xi_i w,bmin21wTw+Ci=1Nξis.t.yi(wTxi+b)>=1ξi
C是系数
参考:https://www.bilibili.com/video/BV1Hs411w7ci?p=3

最近开通了一个公众号,里面会分享一些机器学习,深度学习,推荐系统的学习笔记和相关知识,同时也会分享一些面经,感兴趣的小伙伴可以关注一下,十分感谢,比心
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值