细品SVM

SVM的简介

1.SVM要解决的问题

对于线性可分的问题,我们可以得到很多的决策面将不同类别的样本分开,以二分类为例,如图所示,可以画出很多决策面(在二维平面上,决策面退化为线)
在这里插入图片描述
那么SVM希望解决的就是,找到这众多决策面中,最优的决策面,使得模型更具有鲁棒性,也就是找到两类样本的最大间隔,如图所示:
在这里插入图片描述

2.SVM与逻辑回归的区别

SVM的决策面只与支持向量(与决策面距离最近的向量)有关,而逻辑回归与所有向量都有关系,即在不改变支持向量的情况下,改变其他的点,SVM的决策面不变,而逻辑回归的结果会发生变化,即SVM抗干扰的能力更强,更具有鲁棒性。
这是因为逻辑回归中梯度更新的方式为:
在这里插入图片描述
σ ( x ) \sigma ( x) σ(x)的函数为
在这里插入图片描述
因此对于任何样本点, y − σ ( θ T x ) y-\sigma \left( \theta ^{T} x\right) yσ(θTx)的值都不会为0,即数据变化,就会影响 θ \theta θ的值,也就会影响决策面。
第二种方式理解,如下图所示:
在这里插入图片描述
目标函数为:
在这里插入图片描述
则进行预测时:
在这里插入图片描述
当样本点离决策面越远, s ( x ) s(x) s(x)越大,但是 1 / ( 1 + e − s ( x ) ) 1/(1+e^{-s(x)}) 1/(1+es(x))永远不会等于1,误差永远存在,梯度也就永远存在,进而会更新参数,影响最终的决策面。

3.SVM的推导

1.一些变量定义:
1.特征向量: x x x
2.类别标签: y ∈ { − 1 , 1 } y\in \{-1,1\} y{1,1}
3.待优化参数: b , w b,w b,w
4.预测函数:
h w , b ( x ) = g ( w T x + b ) g ( z ) = + 1     z ⩾ 0 g ( z ) = − 1   o t h e r w i s e \begin{array}{l} h_{w,b}( x) =g\left( w^{T} x+b\right)\\ g( z) =+1\ \ \ z\geqslant 0\\ g( z) =-1\ otherwise \end{array} hw,b(x)=g(wTx+b)g(z)=+1   z0g(z)=1 otherwise
这里我们把负样本的标签定义为-1,为了后期计算的方便。
物理意义方面:
(1) w w w表示决策面的法向量,它决定了决策面的朝向
(2) b b b表示决策面到原点的距离(函数距离,不是物理上的几何距离)

2.几何间隔与函数间隔:
如图所示
在这里插入图片描述
我们定义函数间隔为:
γ ^ ( i ) = y ( i ) ( w T x ( i ) + b ) \hat{\gamma }^{( i)} =y^{( i)}\left( w^{T} x^{( i)} +b\right) γ^(i)=y(i)(wTx(i)+b)
等比例缩放 w , b w,b w,b并不会改变决策面函数,而函数间隔可以进行不同比例的调整,即
g ( w T x + b ) = g ( 2 w T x + 2 b ) g\left( w^{T} x+b\right) =g\left( 2w^{T} x+2b\right) g(wTx+b)=g(2wTx+2b)
几何间隔也就是物理上的距离,为:
γ ( i ) = y ( i ) ( w T x ( i ) + b ) \gamma ^{( i)} =y^{( i)}\left( w^{T} x^{( i)} +b\right) γ(i)=y(i)(wTx(i)+b),其中 ∣ ∣ w ∣ ∣ 2 = 1 ||w||^{2} =1 w2=1,即单位法向量。

注意 几何间隔是唯一的,有确定的物理意义;函数间隔不唯一,可以对w,b进行不同程度的缩放。

3.决策边界
根据上面的定义,我们可以写出决策边界的函数表达式为:
w T ( x ( i ) − γ ( i ) y ( i ) w ∣ ∣ w ∣ ∣ ) + b = 0 w^{T}\left( x^{( i)} -\gamma ^{( i)} y^{( i)}\frac{w}{||w||}\right) +b=0 wT(x(i)γ(i)y(i)ww)+b=0
辅助下图可以更好的帮助我们理解该表达式:
在这里插入图片描述
从中我们可以推出几何间隔为:
w T ( x ( i ) − γ ( i ) y ( i ) w ∣ ∣ w ∣ ∣ ) + b = 0 w T x ( i ) + b = γ ( i ) y ( i ) w T w ∣ ∣ w ∣ ∣ ∵ y = ± 1 ∴ γ ( i ) = w T x ( i ) + b y ( i ) ∣ ∣ w ∣ ∣ = y ( i ) w T x ( i ) + b ∣ ∣ w ∣ ∣ \begin{array}{l} w^{T}\left( x^{( i)} -\gamma ^{( i)} y^{( i)}\frac{w}{||w||}\right) +b=0\\ w^{T} x^{( i)} +b=\gamma ^{( i)} y^{( i)}\frac{w^{T} w}{||w||}\\ \because y=\pm 1\\ \therefore \gamma ^{( i)} =\frac{w^{T} x^{( i)} +b}{y^{( i)} ||w||} =y^{( i)}\frac{w^{T} x^{( i)} +b}{||w||} \end{array} wT(x(i)γ(i)y(i)ww)+b=0wTx(i)+b=γ(i)y(i)wwTwy=±1γ(i)=y(i)wwTx(i)+b=y(i)wwTx(i)+b
根据给定的数据样本: S = { ( x i , y i ) } i = 1 , . . . , m S=\{( x_{i} ,y_{i})\} i=1,...,m S={(xi,yi)}i=1,...,m
定义最小几何间隔:
γ = m i n   γ ( i ) ; i = 1 , . . . , m \gamma =min\ \gamma ^{( i)} ;i=1,...,m γ=min γ(i);i=1,...,m
SVM的本质就是:找到最小的几何间隔,并通过调整决策面使它最大化,即:
     m a x   γ s . t .   y ( i ) ( w T x ( i ) + b ) ⩾ γ , i = 1 , . . . , m          ∣ ∣ w ∣ ∣ = 1 \begin{array}{l} \ \ \ \ max\ \gamma \\ s.t.\ y^{( i)}\left( w^{T} x^{( i)} +b\right) \geqslant \gamma ,i=1,...,m\\ \ \ \ \ \ \ \ \ ||w||=1 \end{array}     max γs.t. y(i)(wTx(i)+b)γ,i=1,...,m        w=1
仔细观察这个优化模型,发现约束项中包含 ∣ ∣ w ∣ ∣ = 1 ||w||=1 w=1,这是一个环形带,从而使得解空间不是凸集,很多优化方法都不能用。因此我们可以考虑使用函数间隔消除这个约束项。
考虑到函数间隔几何间隔的之间关系,有:
m a x   γ ^ ∣ ∣ w ∣ ∣ s . t .   y ( i ) ( w T x ( i ) + b ) ⩾ γ ^ , i = 1 , . . . , m \begin{array}{l} max\ \frac{\hat{\gamma }}{||w||}\\ s.t.\ y^{( i)}\left( w^{T} x^{( i)} +b\right) \geqslant \hat{\gamma } ,i=1,...,m \end{array} max wγ^s.t. y(i)(wTx(i)+b)γ^,i=1,...,m
优化目标一定要保证几何间隔不变,函数间隔是可以根据 w , b w,b w,b进行等比缩放的,换句话说想要多大要多大,想要多小要多小,都能满足决策面方程。

因为我们的优化参数是 w , b w,b w,b,而在上式中, w w w在优化目标的分母上,导致优化目标不是凸函数,为我们求解带来不便,考虑到函数间隔可以根据 w , b w,b w,b进行任意的调整,我们可以将函数间隔固定为1,即 γ ^ = 1 \hat\gamma=1 γ^=1
从而我们的优化目标可以写成:
m a x   1 ∣ ∣ w ∣ ∣ s . t .   y ( i ) ( w T x ( i ) + b ) ⩾ 1 , i = 1 , . . . , m \begin{array}{l} max\ \frac{1}{||w||}\\ s.t.\ y^{( i)}\left( w^{T} x^{( i)} +b\right) \geqslant 1 ,i=1,...,m \end{array} max w1s.t. y(i)(wTx(i)+b)1,i=1,...,m
这时观察优化目标变成关于 ∣ ∣ w ∣ ∣ ||w|| w的单调函数,等价于:
m a x   1 2 ∣ ∣ w ∣ ∣ 2 s . t .   y ( i ) ( w T x ( i ) + b ) ⩾ 1 , i = 1 , . . . , m \begin{array}{l} max\ \frac{1}{2} ||w||^{2}\\ s.t.\ y^{( i)}\left( w^{T} x^{( i)} +b\right) \geqslant 1 ,i=1,...,m \end{array} max 21w2s.t. y(i)(wTx(i)+b)1,i=1,...,m
至此,我们将该问题转化为了凸集上的凸优化问题!便于使用优化方法进行求解。

SVM的优化

1.准备工作-拉格朗日函数-对偶问题

1.拉格朗日函数
对于凸优化问题:
在这里插入图片描述
可以定义拉格朗日函数:
在这里插入图片描述
该问题的解为拉格朗日函数偏导为0的点,即
在这里插入图片描述
在这里插入图片描述
因为 f ( w ) f(w) f(w)为凸函数,其等高线为椭圆形。

同样对于含有不等约束的优化问题(该问题就和SVM的优化目标一样了,求解了该问题就求解了SVM的优化问题):
在这里插入图片描述
依然可以定义拉格朗日函数:
在这里插入图片描述
注意转化成 L ( w , α , β ) \mathcal{L}( w,\alpha ,\beta ) L(w,α,β)后,引入了 α , β \alpha,\beta α,β变量,这个问题如何来优化求解呢?
我们定义原问题如下:
在这里插入图片描述
分析一下这个原问题:
对于一个给定的 w w w,如果存在 g i ( w ) > 0     o r     h i ( w ) ≠ 0 g_{i}( w) >0\ \ \ or\ \ \ h_{i}( w) \neq 0 gi(w)>0   or   hi(w)=0,那么一定能够找到 α , β \alpha,\beta α,β,使得 θ P ( w ) → + ∞ \theta _{\mathcal{P}}( w)\rightarrow +\infty θP(w)+
而如果我们的 w w w满足了原始优化问题的所有约束,即 g i ( w ) ⩽ 0 ,   h i ( w ) = 0 g_{i}( w) \leqslant 0,\ h_{i}( w) =0 gi(w)0, hi(w)=0,那么一定有 θ P ( w ) = f ( w ) \theta _{\mathcal{P}}( w) =f( w) θP(w)=f(w),因为 g i ( w ) ⩽ 0 g_{i}( w) \leqslant 0 gi(w)0,对于 g i ( w ) = 0 g_{i}( w) = 0 gi(w)=0的部分, α \alpha α可以去大于等于0的所有值,而 g i ( w ) < 0 g_{i}( w) < 0 gi(w)<0的部分,必有 α = 0 \alpha=0 α=0,而 h ( w ) = 0 h(w)=0 h(w)=0,因此 β \beta β可以任意取,总之 L ( w , α , β ) \mathcal{L}( w,\alpha ,\beta ) L(w,α,β)后两项为0。
根据以上的分析,我们可以定义最小化优化问题:
在这里插入图片描述
该问题和原始问题等价
在这里插入图片描述
那么这样做的好处是什么?可以发现我们定义的最小化优化问题扔掉了约束项,直接对 w w w进行优化,转化为无约束优化问题!!!
2.对偶问题
先说一下我们为什么要考虑对偶问题,因为我们定义的最小化优化问题其实实际上是对 w w w的优化问题,而无法对 α , β \alpha,\beta α,β进行求解,而最后的 w w w结果又与 α , β \alpha,\beta α,β有关。因此我们需要求解出 α , β \alpha,\beta α,β,而通过对偶问题求解出 α , β \alpha,\beta α,β

SVM的核函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值