个人学习笔记(八)线性支持向量机与软间隔最大化

       在上一篇文章中介绍了线性可分支持向量机,但如果训练数据不是严格线性可分的,线性可分支持向量机便不适用了,需要修改硬间隔最大化,使其成为软间隔最大化。

1、线性支持向量机

       给定一个特征空间上的训练数据集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\} T={(x1,y1),(x2,y2),,(xN,yN)}       其中 x i ∈ R n , y i ∈ { + 1 , − 1 } x_i\in R^n,y_i\in\{+1,-1\} xiRn,yi{+1,1}。通常情况时训练数据中有一些特异点(outlier),将其除去后剩下大部分的样本点组成的集合是线性可分的。
       针对这个问题,可以对每个样本 ( x i , y i ) (x_i,y_i) (xi,yi)引进一个松弛变量 ξ i ≥ 0 \xi_i\ge0 ξi0,修改硬间隔最大化的约束条件,使函数间隔加上松弛变量大于等于1,即
y i ( w ⋅ x i + b ) ≥ 1 − ξ i y_i(w\cdot x_i+b)\ge1-\xi_i yi(wxi+b)1ξi       同时对每个松弛变量 ξ i \xi_i ξi支付一个代价,即目标函数变为
1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i \frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i 21w2+Ci=1Nξi       这有两层含义,一是使间隔尽量大,二是使误分类点的个数尽可能小, C C C是调和二者的系数。
       线性支持向量机变成如下凸二次规划(convex quadratic programming)问题
min ⁡ w , b , ξ   1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i \min_{w,b,\xi} \frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i w,b,ξmin 21w2+Ci=1Nξi s . t .   y i ( w ⋅ x i + b ) ≥ 1 − ξ i ,   i = 1 , 2 , ⋯   , N s.t. y_i(w\cdot x_i+b)\ge1-\xi_i, i=1,2,\cdots,N s.t. yi(wxi+b)1ξi, i=1,2,,N ξ i ≥ 0 ,   i = 1 , 2 , ⋯   , N \xi_i\ge0, i=1,2,\cdots,N ξi0, i=1,2,,N       可以证明, w w w的解是唯一的,但 b b b的解可能不唯一,而是存在于一个区间。

2、学习的对偶算法

       列出原始最优化问题的拉格朗日函数
L ( w , b , ξ , α , μ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i − ∑ i = 1 N α i [ y i ( w ⋅ x i + b ) − 1 + ξ i ] − ∑ i = 1 N μ i ξ i L(w,b,\xi,\alpha,\mu)=\frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i-\sum_{i=1}^N\alpha_i[y_i(w\cdot x_i+b)-1+\xi_i]-\sum_{i=1}^N\mu_i\xi_i L(w,b,ξ,α,μ)=21w2+Ci=1Nξii=1Nαi[yi(wxi+b)1+ξi]i=1Nμiξi       原始问题的对偶问题为
max ⁡ α , μ min ⁡ w , b , ξ L ( w , b , ξ , α , μ ) \max_{\alpha,\mu}\min_{w,b,\xi}L(w,b,\xi,\alpha,\mu) α,μmaxw,b,ξminL(w,b,ξ,α,μ)       首先求内部极小化问题,分别对 w , b , ξ w,b,\xi w,b,ξ求偏导
▽ w L ( w , b , ξ , α , μ ) = w − ∑ i = 1 N α i y i x i = 0 \bigtriangledown_wL(w,b,\xi,\alpha,\mu)=w-\sum_{i=1}^N\alpha_iy_ix_i=0 wL(w,b,ξ,α,μ)=wi=1Nαiyixi=0 ▽ b L ( w , b , ξ , α , μ ) = − ∑ i = 1 N α i y i = 0 \bigtriangledown_bL(w,b,\xi,\alpha,\mu)=-\sum_{i=1}^N\alpha_iy_i=0 bL(w,b,ξ,α,μ)=i=1Nαiyi=0 ▽ ξ i L ( w , b , ξ , α , μ ) = C − α i − μ i = 0 \bigtriangledown_{\xi_i} L(w,b,\xi,\alpha,\mu)=C-\alpha_i-\mu_i=0 ξiL(w,b,ξ,α,μ)=Cαiμi=0       得
w = ∑ i = 1 N α i y i x i w=\sum_{i=1}^N\alpha_iy_ix_i w=i=1Nαiyixi ∑ i = 1 N α i y i = 0 \sum_{i=1}^N\alpha_iy_i=0 i=1Nαiyi=0 C = α i + μ i C=\alpha_i+\mu_i C=αi+μi       代入对偶问题内部极小化式子中,可得
min ⁡ w , b , ξ L ( w , b , ξ , α , μ ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i \min_{w,b,\xi}L(w,b,\xi,\alpha,\mu)=-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)+\sum_{i=1}^N\alpha_i w,b,ξminL(w,b,ξ,α,μ)=21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi       再对 min ⁡ w , b , ξ L ( w , b , ξ , α , μ ) \min_{w,b,\xi}L(w,b,\xi,\alpha,\mu) minw,b,ξL(w,b,ξ,α,μ) α , μ \alpha,\mu α,μ的极大
max ⁡ α , μ   − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i \max_{\alpha,\mu} -\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)+\sum_{i=1}^N\alpha_i α,μmax 21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi s . t .   ∑ i = 1 N α i y i = 0 s.t. \sum_{i=1}^N\alpha_iy_i=0 s.t. i=1Nαiyi=0 C − α i − μ i = 0 C-\alpha_i-\mu_i=0 Cαiμi=0 α i ≥ 0 \alpha_i\ge0 αi0 μ i ≥ 0 ,   i = 1 , 2 , ⋯   , N \mu_i\ge0, i=1,2,\cdots,N μi0, i=1,2,,N       由于目标函数中没有 μ \mu μ,可以在约束条件中消去 μ i \mu_i μi,将约束条件后面的三式写成
0 ≤ α i ≤ C 0\le\alpha_i\le C 0αiC       求解上面的最优化问题,得到解 α ∗ = ( α 1 ∗ , α 2 ∗ , ⋯   , α N ∗ ) \alpha^*=(\alpha_1^*,\alpha_2^*,\cdots,\alpha_N^*) α=(α1,α2,,αN),接着考虑如何由 α ∗ \alpha^* α计算分离超平面参数 w ∗ , b ∗ w^*,b^* w,b
       由于原始问题是凸二次规划问题,其解满足KKT条件,即
▽ w L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = w ∗ − ∑ i = 1 N α i ∗ y i x i = 0 \bigtriangledown_wL(w^*,b^*,\xi^*,\alpha^*,\mu^*)=w^*-\sum_{i=1}^N\alpha_i^*y_ix_i=0 wL(w,b,ξ,α,μ)=wi=1Nαiyixi=0 ▽ b L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = − ∑ i = 1 N α i ∗ y i = 0 \bigtriangledown_bL(w^*,b^*,\xi^*,\alpha^*,\mu^*)=-\sum_{i=1}^N\alpha_i^*y_i=0 bL(w,b,ξ,α,μ)=i=1Nαiyi=0 ▽ ξ i L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = C − α i ∗ − μ i ∗ = 0 \bigtriangledown_{\xi_i} L(w^*,b^*,\xi^*,\alpha^*,\mu^*)=C-\alpha_i^*-\mu_i^*=0 ξiL(w,b,ξ,α,μ)=Cαiμi=0 α i ∗ [ y i ( w ∗ ⋅ x i + b ) − 1 + ξ i ∗ ] = 0 \alpha_i^*[y_i(w^*\cdot x_i+b)-1+\xi_i^*]=0 αi[yi(wxi+b)1+ξi]=0 μ i ∗ ξ i ∗ = 0 \mu_i^*\xi_i^*=0 μiξi=0 y i ( w ∗ ⋅ x i + b ∗ ) − 1 + ξ i ≥ 0 y_i(w^*\cdot x_i+b^*)-1+\xi_i\ge0 yi(wxi+b)1+ξi0 ξ i ∗ ≥ 0 \xi^*_i\ge0 ξi0 α i ∗ ≥ 0 \alpha_i^*\ge0 αi0 μ i ∗ ≥ 0 ,   i = 1 , 2 , ⋯   , N \mu_i^*\ge0,  i=1,2,\cdots,N μi0, i=1,2,,N       由上面的第一个KKT条件可以推出 w ∗ w^* w的计算公式
w ∗ = ∑ i = 1 N α i ∗ y i x i w^*=\sum_{i=1}^N\alpha_i^*y_ix_i w=i=1Nαiyixi       接着求取 b ∗ b^* b的公式。
       考虑若有 0 &lt; α j &lt; C 0&lt;\alpha_j&lt;C 0<αj<C,根据第三个KKT条件可推出 μ j ∗ &gt; 0 \mu_j^*&gt;0 μj>0;根据第四个KKT条件可推出 y j ( w ∗ ⋅ x j + b ∗ ) − 1 + ξ j ∗ = 0 y_j(w^*\cdot x_j+b^*)-1+\xi_j^*=0 yj(wxj+b)1+ξj=0
       由于 μ j ∗ &gt; 0 \mu^*_j&gt;0 μj>0,根据第五个KKT条件可进一步推出 ξ j ∗ = 0 \xi_j^*=0 ξj=0,因此有
y j ( w ∗ ⋅ x j + b ∗ ) − 1 = 0 y_j(w^*\cdot x_j+b^*)-1=0 yj(wxj+b)1=0       带入 w ∗ w^* w的表达式,可得
b ∗ = y j − ∑ i = 1 N y i α i ∗ ( x i ⋅ x j ) b^*=y_j-\sum_{i=1}^Ny_i\alpha_i^*(x_i\cdot x_j) b=yji=1Nyiαi(xixj)

3、支持向量

       与线性可分支持向量机相同,将对应于 α i ∗ &gt; 0 \alpha_i^*&gt;0 αi>0的样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的实例 x i x_i xi称为支持向量。支持向量 x i x_i xi到间隔边界的距离是 ξ i ∣ ∣ w ∣ ∣ \frac{\xi_i}{||w||} wξi,即 ξ i \xi_i ξi越大,离间隔边界越远。
       若 0 &lt; α i ∗ &lt; C 0&lt;\alpha_i^*&lt;C 0<αi<C,则有 ξ ∗ = 0 \xi^*=0 ξ=0,即支持向量 x i x_i xi恰好落在间隔边界上;若 α i ∗ = C \alpha_i^*=C αi=C 0 &lt; ξ i ∗ &lt; 1 0&lt;\xi_i^*&lt;1 0<ξi<1,则 x i x_i xi分类正确,但在间隔边界与分离超平面之间;若 α i ∗ = C \alpha_i^*=C αi=C ξ i ∗ = 1 \xi_i^*=1 ξi=1,则 x i x_i xi在分离超平面上;若 α i ∗ = C \alpha_i^*=C αi=C ξ i ∗ &gt; 1 \xi_i^*&gt;1 ξi>1,则 x i x_i xi在分离超平面的误分一侧。

4、合页损失函数

       线性支持向量机还有另外一种解释,就是最小化以下目标函数
min ⁡ w , b   ∑ i = 1 N [ 1 − y i ( w ⋅ x i + b ) ] + + λ ∣ ∣ w ∣ ∣ 2 \min_{w,b} \sum_{i=1}^N[1-y_i(w\cdot x_i+b)]_++\lambda||w||^2 w,bmin i=1N[1yi(wxi+b)]++λw2       其中目标函数的第一项是经验风险,函数 L ( y ( w ⋅ x + b ) ) = [ 1 − y ( w ⋅ x + b ) ] + L(y(w\cdot x+b))=[1-y(w\cdot x+b)]_+ L(y(wx+b))=[1y(wx+b)]+称为合页损失函数(hinge loss function);目标函数的第二项是 w w w L 2 L_2 L2范数,是正则化项。
       为什么说带正则化项的合页损失函数是线性支持向量机的另一种解释?可以令
[ 1 − y i ( w ⋅ x i + b ) ] + = ξ i [1-y_i(w\cdot x_i+b)]_+=\xi_i [1yi(wxi+b)]+=ξi       则 ξ i \xi_i ξi满足以下两个约束
y i ( w ⋅ x i + b ) ≥ 1 − ξ i ,   i = 1 , 2 , ⋯ &ThinSpace; , N y_i(w\cdot x_i+b)\ge1-\xi_i, i=1,2,\cdots,N yi(wxi+b)1ξi, i=1,2,,N ξ i ≥ 0 ,   i = 1 , 2 , ⋯ &ThinSpace; , N \xi_i\ge0, i=1,2,\cdots,N ξi0, i=1,2,,N       这正是线性支持向量机原始问题的两个约束条件,再看看目标函数,若取 λ = 1 2 C \lambda=\frac{1}{2C} λ=2C1,则带正则化项的合页损失函数可写成
min ⁡ w , b   1 C ( 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i ) \min_{w,b} \frac{1}{C}(\frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i) w,bmin C1(21w2+Ci=1Nξi)       可以发现,括号里的部分正是线性支持向量机原始问题的目标函数。
       与感知机相比,线性支持向量机对学习有更高的要求。感知机的损失函数是 [ − y i ( w ⋅ x i + b ) ] + [-y_i(w\cdot x_i+b)]_+ [yi(wxi+b)]+,当样本点 ( x i , y i ) (x_i,y_i) (xi,yi)被正确分类时,损失是0;相比之下线性支持向量机的合页损失函数 [ 1 − y i ( w ⋅ x i + b ) ] + [1-y_i(w\cdot x_i+b)]_+ [1yi(wxi+b)]+不仅要分类正确,而且确信度足够高时损失才是0.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值