【机器学习】支持向量机(3)——线性支持向量机(软间隔最大化,对偶算法)

前言

此文介绍了线性可分支持向量机的硬间隔最大化以及它的对偶算法,很好的理解线性可分支持向量机是理解线性支持向量机的基础,只要理解前面的,后面的就会很容易理解。

首先,前面我们所讨论的都是基于线性可分的训练数据集,但在现实任务中,我们得到的一般都不是线性可分的,这是线性可分支持向量机就不适用了。因为这时我们之前所提到的不等式约束并不能都成立。

缓解该问题的一个办法就是允许支持向量机在一些样本上出错。那么我们怎样才能将它扩展到线性不可分问题呢?这就需要我们将硬间隔最大化改为软间隔最大化

软间隔

这里写图片描述

图片来源:周志华《机器学习》

我们之前提到的硬间隔,是要求所有样本都满足约束条件,而软间隔则是允许某些样本不满足约束:
y i ( w ⋅ x i + b ) ⩾ 1 y_i(w \cdot x_i+b) \geqslant 1 yi(wxi+b)1
自然,在最大化间隔的同时,不满足约束的样本应尽可能的少。

为了解决某些样本不满足约束条件,可以对每个样本点 ( x i , y i ) (x_i,y_i) (xi,yi) 引入一个松弛变量 ξ i ⩾ 0 \xi_i \geqslant 0 ξi0,是函数间隔加上松弛变量大于等于1,这样,约束条件就变为:
y i ( w ⋅ x i + b ) ⩾ 1 − ξ i y_i(w \cdot x_i+b) \geqslant 1-\xi_i yi(wxi+b)1ξi
同时,对每个松弛变量 ξ i \xi_i ξi,支付一个代价 ξ i \xi_i ξi 。目标函数由原来的 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21w2变成:
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 > 0 C > 0 C>0称为惩罚系数, C C C值大时对误分类的惩罚增加, C C C值小时对误分类的惩罚减小。

此时,最优化的目标函数包括两个含义:

  • 使 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21w2尽量小即间隔尽量大
  • 使误分类点的个数尽量小

C C C是调和二者的系数

有了上面的思路,可以和线性可分支持向量机一样来考虑线性支持向量机的学习问题。

线性不可分的线性支持向量机的学习问题就变为如下凸二次规划问题(原始问题):

min ⁡ w , b , ξ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i s . t . y i ( w ⋅ x i + b ) ⩾ 1 − ξ i , i = 1 , 2 , . . . , N ξ i ⩾ 0 , i = 1 , 2 , . . . , N \min_{w,b,\xi} \quad \frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i \\ s.t. \quad y_i(w \cdot x_i+b) \geqslant 1-\xi_i,i = 1,2,...,N \\ \xi_i \geqslant 0,i = 1,2,...,N w,b,ξmin21w2+Ci=1Nξis.t.yi(wxi+b)1ξii=1,2,...,Nξi0i=1,2,...,N

通过求解以上凸二次规划问题,即软间隔最大化问题,得到的分离超平面为:

w ∗ ⋅ x + b ∗ = 0 w^*\cdot x + b^* = 0 wx+b=0
以及相应的分类决策函数:
f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x) = sign(w^*\cdot x + b^*) f(x)=sign(wx+b)
这就称为:线性支持向量机

对偶算法

对偶问题的构建和线性可分支持向量机的对偶问题的构建类似。

为了让大家更容易理解,现在我们再来构建一次:

(1)首先构建拉格朗日函数
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
其中, α i ⩾ 0 , μ i ⩾ 0 \alpha_i \geqslant 0,\mu_i \geqslant 0 αi0μi0

(2)求 min ⁡ w , b , ξ   L ( w , b , ξ , α , μ ) \min_{w,b,\xi} \ L(w,b,\xi,\alpha,\mu) minw,b,ξ L(w,b,ξ,α,μ)

拉格朗日函数$L(w,b,\xi,\alpha,\mu) 依 次 对 依次对 w,b,\xi$求偏导数并令为0:
∇ w L ( w , b , ξ , α , μ ) = w − ∑ i = 1 N α i y i x i = 0 ∇ b L ( w , b , ξ , α , μ ) = − ∑ i = 1 N α i y i = 0 ∇ ξ i L ( w , b , ξ , α , μ ) = C − α i − μ i = 0 \nabla_wL(w,b,\xi,\alpha,\mu) = w - \sum_{i=1}^N\alpha_iy_ix_i = 0\\ \nabla_bL(w,b,\xi,\alpha,\mu) = -\sum_{i=1}^N\alpha_iy_i = 0\\ \nabla_{\xi_i}L(w,b,\xi,\alpha,\mu) = C - \alpha_i - \mu_i = 0 wL(w,b,ξ,α,μ)=wi=1Nαiyixi=0bL(w,b,ξ,α,μ)=i=1Nαiyi=0ξiL(w,b,ξ,α,μ)=Cαiμi=0
得:
w = ∑ i = 1 N α i y i x i ∑ i = 1 N α i y i = 0 C − α i − μ i = 0 w = \sum_{i=1}^N\alpha_iy_ix_i \\ \sum_{i=1}^N\alpha_iy_i = 0 \\ C - \alpha_i - \mu_i = 0 w=i=1Nαiyixii=1Nαiyi=0Cαiμi=0

代入拉格朗日函数,得:
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,ξmin L(w,b,ξ,α,μ)=21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi

(3)再对 min ⁡ w , b , ξ   L ( w , b , ξ , α , μ ) \min_{w,b,\xi} \ L(w,b,\xi,\alpha,\mu) minw,b,ξ L(w,b,ξ,α,μ) α \alpha α的极大,即得对偶问题:
max ⁡ α − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i s . t . ∑ i = 1 N α i y i = 0 C − α i − μ i = 0 α i ⩾ 0 μ i ⩾ 0 , i = 1 , 2 , . . . , N \max_{\alpha} \quad - \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 \\ s.t. \quad \sum_{i=1}^N \alpha_iy_i = 0 \\ C - \alpha_i - \mu_i = 0 \\ \alpha_i \geqslant 0 \\ \mu_i \geqslant 0, i = 1,2,...,N αmax21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαis.t.i=1Nαiyi=0Cαiμi=0αi0μi0i=1,2,...,N
将上式的目标函数由求极大转换为求极小,再将约束条件合并,得到等价的对偶最优化问题:
min ⁡ α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i s . t . ∑ i = 1 N α i y i = 0 0 ⩽ α i ⩽ C , i = 1 , 2 , . . . , N \min_{\alpha} \quad \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 \\ s.t. \quad \sum_{i=1}^N \alpha_iy_i = 0 \\ 0 \leqslant \alpha_i \leqslant C,i = 1,2,...,N αmin21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαis.t.i=1Nαiyi=00αiCi=1,2,...,N

线性支持向量机对偶算法:

输入:线性可分训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T = \{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)},其中, x i ∈ X = R n , y i ∈ Y = { − 1 , + 1 } , i = 1 , 2 , . . . , N x_i \in \mathcal{X} = R^n,y_i \in \mathcal{Y}=\{-1,+1\},i=1,2,...,N xiX=RnyiY={1,+1}i=1,2,...,N
输出:最大间隔分离超平面和分类决策函数。
(1)选择惩罚系数 $C > 0 $ ,构造并求解约束最优化问题:
min ⁡ α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i s . t . ∑ i = 1 N α i y i = 0 0 ⩽ α i ⩽ C , i = 1 , 2 , . . . , N \min_{\alpha} \quad \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 \\ s.t. \quad \sum_{i=1}^N \alpha_iy_i = 0 \\ 0 \leqslant \alpha_i \leqslant C,i = 1,2,...,N αmin21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαis.t.i=1Nαiyi=00αiCi=1,2,...,N
求得最优解 α ∗ = ( α 1 ∗ , α 2 ∗ , . . . , α N ∗ ) T \alpha^*=(\alpha_1^*,\alpha_2^*,...,\alpha_N^*)^T α=(α1,α2,...,αN)T
(2)计算:
w ∗ = ∑ i = 1 N α i ∗ y i x i w^* = \sum_{i=1}^N\alpha_i^*y_ix_i w=i=1Nαiyixi
并选择 α ∗ \alpha^* α的一个分量 $\alpha_j^* $ 适合条件 0 &lt; α j ∗ &lt; C 0 &lt; \alpha_j^* &lt; C 0<αj<C,计算:
b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) b^* = y_j - \sum_{i=1}^N\alpha_i^*y_i(x_i \cdot x_j) b=yji=1Nαiyi(xixj)
(3)求得分离超平面:
w ∗ ⋅ x + b ∗ = 0 w^* \cdot x+b^* = 0 wx+b=0
分类决策函数:
f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x) = sign(w^* \cdot x+b^* ) f(x)=sign(wx+b)

软间隔支持向量

这里写图片描述

软间隔的支持向量 x i x_i xi 或在间隔边界上,或在间隔边界与分离超平面之间,或在分离超平面误分一侧。

  • α i ∗ &lt; C \alpha_i^* &lt;C αi<C,则 ξ i = 0 \xi_i=0 ξi=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 在分离超平面误分一侧;

合页损失函数

线性支持向量机学习还有另外一种解释,就是最小化以下目标函数:
∑ i = 1 N [ 1 − y i ( w ⋅ x i + b ) ] + + λ ∣ ∣ w ∣ ∣ 2 \sum_{i=1}^N[1-y_i(w \cdot x_i + b ) ] _+ + \lambda||w||^2 i=1N[1yi(wxi+b)]++λw2
目标函数第一项是经验损失或经验风险,称为合页损失函数。下标“+”表示一下取正值的函数:
[ z ] + = { z , z &gt; 0 0 , z ⩽ 0 [z]_+ = \begin{cases} z, \quad z &gt; 0 \\ 0, \quad z \leqslant 0 \end{cases} [z]+={z,z>00,z0

这就是说,当样本点 ( x i , y i ) (x_i,y_i) (xi,yi)被正确分类且函数间隔(确信度)$y_i(w\cdot x_i+b) $大于1时,损失是0,否则损失为 1 − y i ( w ⋅ x i + b ) 1 - y_i(w\cdot x_i+b) 1yi(wxi+b),我们注意到上图中实例点 x 4 x_4 x4被正确分类,但是在间隔边界与分离超平面之间,损失不是0,目标函数第二项是系数 λ \lambda λ w w w L 2 L_2 L2范数,是正则化项。

两个方式的相互转换:

定理: 线性支持向量机原始最优化问题:
min ⁡ w , b , ξ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i s . t . y i ( w ⋅ x i + b ) ⩾ 1 − ξ i , i = 1 , 2 , . . . , N ξ i ⩾ 0 , i = 1 , 2 , . . . , N \min_{w,b,\xi} \quad \frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i \\ s.t. \quad y_i(w \cdot x_i+b) \geqslant 1-\xi_i,i = 1,2,...,N \\ \xi_i \geqslant 0,i = 1,2,...,N w,b,ξmin21w2+Ci=1Nξis.t.yi(wxi+b)1ξii=1,2,...,Nξi0i=1,2,...,N
等价于最优化问题:
min ⁡ w , b ∑ i = 1 N [ 1 − y i ( w ⋅ x i + b ) ] + + λ ∣ ∣ w ∣ ∣ 2 \min_{w,b} \quad \sum_{i=1}^N[1-y_i(w \cdot x_i + b ) ] _+ + \lambda||w||^2 w,bmini=1N[1yi(wxi+b)]++λw2

证明:
令: [ 1 − y i ( w ⋅ x i + b ) ] + = ξ i [1-y_i(w \cdot x_i + b ) ] _+ = \xi_i [1yi(wxi+b)]+=ξi
ξ i ⩾ 0 , \xi_i \geqslant 0, ξi0式$ \ \xi_i \geqslant 0$成立;
当$1-y_i(w \cdot x_i + b ) > 0 时 , 有 时,有 y_i(w \cdot x_i + b ) = 1 - \xi_i$;
当$1-y_i(w \cdot x_i + b ) \leqslant 0 时 , 时, \xi_i = 0$ ,有 y i ( w ⋅ x i + b ) ⩾ 1 − ξ i y_i(w \cdot x_i + b ) \geqslant 1 - \xi_i yi(wxi+b)1ξi
故: w , b , ξ i w,b,\xi_i w,b,ξi 满足约束条件,所以最优化问题:
min ⁡ w , b ∑ i = 1 N [ 1 − y i ( w ⋅ x i + b ) ] + + λ ∣ ∣ w ∣ ∣ 2 \min_{w,b} \quad \sum_{i=1}^N[1-y_i(w \cdot x_i + b ) ] _+ + \lambda||w||^2 w,bmini=1N[1yi(wxi+b)]++λw2
可写为:
min ⁡ w , b ∑ i = 1 N ξ i + λ ∣ ∣ w ∣ ∣ 2 \min_{w,b} \quad \sum_{i=1}^N\xi_i + \lambda||w||^2 w,bmini=1Nξi+λw2
若取 λ = 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} \quad \frac{1}{C}(\frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i) w,bminC1(21w2+Ci=1Nξi)
与原始问题等价。

常用的合页损失函数有:

  • hinge损失: ℓ h i n g e ( z ) = m a x ( 0 , 1 − z ) \ell_hinge(z) = max(0, 1-z) hinge(z)=max(0,1z)
  • 指数损失: ℓ e x p ( z ) = e x p ( − z ) \ell_exp(z) = exp(-z) exp(z)=exp(z)
  • 对数损失: ℓ l o g ( z ) = l o g ( 1 + e x p ( − z ) ) \ell_log(z) = log(1 + exp(-z)) log(z)=log(1+exp(z))

函数图像如下图:

这里写图片描述

参考书籍:
《机器学习》 周志华,《统计学习方法》 李航

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值