小白学机器学习西瓜书-第六章支持向量机(3)

小白学机器学习西瓜书-第六章支持向量机3

  • 6.6 软间隔与正则化

在前面的讨论中,我们一直做了一个假定,即存在一个超平面能够将不同类的样本完全进行区分。但这个假定显然是比较绝对的,因此我们需要允许算法分类的一些样本出错,这就是“软间隔”。

6.6 软间隔与正则化

前面我们提出的约束为

{ w T x i + b ≥ 1 y i = + 1 w T x i + b ≤ − 1 y i = − 1 (4) \begin{cases} w^Tx_i+b\geq 1 & y_i=+1\\ w^Tx_i+b\leq -1 &y_i=-1 \tag{4} \end{cases} {wTxi+b1wTxi+b1yi=+1yi=1(4)
这里的含义是指所有的样本点均划分正确,称为硬间隔
我们将其归纳为 s . t . y i ( w T x i + b ) ≥ 1 s.t. \quad y_i(w^Tx_i+b)\geq 1 s.t.yi(wTxi+b)1

我们将目标函数进行修改,使得在最大化间隔的同时,使得不满足约束的样本尽可能的少
min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m l 0 / 1 ( y i ( w T x i + b ) − 1 ) (21) \min_{w,b}\frac{1}{2}\mid \mid w\mid\mid^2+C\sum^m_{i=1}l_{0/1}(y_i(w^Tx_i+b)-1)\tag{21} w,bmin21∣∣w2+Ci=1ml0/1(yi(wTxi+b)1)(21)

其中,C为惩罚常数, l 0 / 1 l_{0/1} l0/1为损失函数,当样本分类正确,则z值为0,否则为1
l 0 / 1 ( z ) = { 1 i f z < 0 0 o t h e r w i s e (22) l_{0/1}(z)=\begin{cases} 1 & if \quad z<0\\ 0&otherwise \tag{22} \end{cases} l0/1(z)={10ifz<0otherwise(22)

当C为无穷大时,式(21)就会迫使所有样本满足约束条件,目标函数就会退化为之前的硬间隔,但当C取有限值时,算法会允许一些样本不满足约束条件。

l 0 / 1 l_{0/1} l0/1这个损失函数非凸不连续,因此我们寻找替代函数,如hinge损失
l h i n g e ( z ) = max ⁡ ( 0 , 1 − z ) l_{hinge(z)}=\max(0,1-z) lhinge(z)=max(0,1z)

则式(21)变为
min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m max ⁡ ( 0 , 1 − y i ( w T x i + b ) ) (23) \min_{w,b}\frac{1}{2}\mid \mid w\mid\mid^2+C\sum^m_{i=1}\max(0,1-y_i(w^Tx_i+b))\tag{23} w,bmin21∣∣w2+Ci=1mmax(0,1yi(wTxi+b))(23)

使式子更加简约,我们引入松弛变量

ξ i = max ⁡ ( 0 , 1 − y i ( w T x i + b ) ) ≥ 0 \xi_i=\max(0,1-y_i(w^Tx_i+b)) \geq 0 ξi=max(0,1yi(wTxi+b))0

  1. 1 − y i ( w T x i + b ) > 0 1-y_i(w^Tx_i+b) > 0 1yi(wTxi+b)>0时, ξ i = 1 − y i ( w T x i + b ) \xi_i=1-y_i(w^Tx_i+b) ξi=1yi(wTxi+b)
  2. 1 − y i ( w T x i + b ) ≤ 0 1-y_i(w^Tx_i+b) \leq 0 1yi(wTxi+b)0时, ξ i = 0 \xi_i=0 ξi=0

因此, ξ i ≥ 1 − y i ( w T x i + b ) \xi_i\geq1-y_i(w^Tx_i+b) ξi1yi(wTxi+b)

整合一下即为
min ⁡ w , b , ξ i 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i s . t . y i ( w T x i + b ) ≥ 1 − ξ i ξ i ≥ 0 , i = 1 , 2 , . . . , m (24) \min_{w,b,\xi_i}\frac{1}{2}\mid \mid w\mid\mid^2+C\sum^m_{i=1}\xi_i\\ s.t.\quad y_i(w^Tx_i+b)\geq 1-\xi_i\\ \quad\quad\xi_i\geq 0,i=1,2,...,m \tag{24} w,b,ξimin21∣∣w2+Ci=1mξis.t.yi(wTxi+b)1ξiξi0,i=1,2,...,m(24)

继续寻找其对偶问题求解
其拉格朗日函数( α , μ \alpha,\mu α,μ为乘子)为
L ( w , b , α , ξ , μ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ξ i + ∑ i = 1 m α i ( 1 − ξ i − y i ( w T x i + b ) ) − ∑ i = 1 m μ i ξ i (25) L(w,b,\alpha,\xi,\mu)=\frac{1}{2}\mid \mid w\mid\mid^2+C\sum^m_{i=1}\xi_i+\sum^m_{i=1}\alpha_i(1-\xi_i-y_i(w^Tx_i+b))\\ -\sum^m_{i=1}\mu_i\xi_i\tag{25} L(w,b,α,ξ,μ)=21∣∣w2+Ci=1mξi+i=1mαi(1ξiyi(wTxi+b))i=1mμiξi(25)

为了求拉格朗日函数关于自变量的最小值,我们分别对 ( w , b , ξ i ) (w,b,\xi_i) (w,b,ξi)求偏导
l ∂ w = w − ∑ i = 1 m α i y i x i   l ∂ b = − ∑ i = 1 m α i y i l ∂ ξ i = C − α i − μ i \frac{l}{\partial w}=w-\sum^m_{i=1}\alpha_iy_ix_i\\\ \frac{l}{\partial b}=-\sum^m_{i=1}\alpha_iy_i\\ \frac{l}{\partial \xi_i}=C-\alpha_i-\mu_i wl=wi=1mαiyixi bl=i=1mαiyiξil=Cαiμi

使他们都为0,可得到
{ w = ∑ i = 1 m α i y i x i ∑ i = 1 m α i y i = 0 α i + μ i = C (26) \begin{cases} w=\sum^m_{i=1}\alpha_iy_ix_i\\ \sum^m_{i=1}\alpha_iy_i=0\\ \alpha_i+\mu_i=C \tag{26} \end{cases} w=i=1mαiyixii=1mαiyi=0αi+μi=C(26)

将其带入式(25)即可得到对偶问题
max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j s . t . ∑ i = 1 m α i y i = 0 C ≥ α i ≥ 0 , i = 1 , 2 , . . . , m (27) \max_{\alpha}\sum^m_{i=1}\alpha_i-\frac{1}{2}\sum^m_{i=1}\sum^m_{j=1}\alpha_i\alpha_jy_iy_jx_i^Tx_j\\ s.t.\quad \sum^m_{i=1}\alpha_iy_i=0\\ \quad\quad\quad\quad C\geq \alpha_i\geq 0,i=1,2,...,m \tag{27} αmaxi=1mαi21i=1mj=1mαiαjyiyjxiTxjs.t.i=1mαiyi=0Cαi0,i=1,2,...,m(27)

对比一下硬间隔的对偶问题

max ⁡ ( ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j ) s . t . ∑ i = 1 m α i y i = 0 α i ≥ 0 , i = 1 , 2... , m (17) \qquad \qquad\max(\sum_{i=1}^m\alpha_i-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i \alpha_j y_iy_jx_i^Tx_j)\\ s.t.\quad \sum_{i=1}^m\alpha_i y_i=0\\ \quad \quad \quad \quad \quad\quad \alpha_i \geq 0,i=1,2...,m \tag{17} max(i=1mαi21i=1mj=1mαiαjyiyjxiTxj)s.t.i=1mαiyi=0αi0,i=1,2...,m(17)

可以发现,区别主要在于 α \alpha α的取值

接下来给出KKT条件
{ 1 − ξ i − y i ( w T x i + b ) ≤ 0 α i ( 1 − ξ i − y i ( w T x i + b ) ) = 0 ξ i ≥ 0 α i ≥ 0 μ i ≥ 0 μ i ξ i = 0 (28) \begin{cases} 1-\xi_i-y_i(w^Tx_i+b)\leq 0\\ \alpha_i(1-\xi_i-y_i(w^Tx_i+b))=0\\ \xi_i\geq 0\\ \alpha_i\geq0\\ \mu_i\geq0\\ \mu_i\xi_i=0 \tag{28} \end{cases} 1ξiyi(wTxi+b)0αi(1ξiyi(wTxi+b))=0ξi0αi0μi0μiξi=0(28)

=>
{ 1 − ξ i − y i f ( x i ) ≤ 0 α i ( 1 − ξ i − y i f ( x i ) ) = 0 ξ i ≥ 0 α i ≥ 0 μ i ≥ 0 μ i ξ i = 0 (29) \begin{cases} 1-\xi_i-y_if(x_i)\leq 0\\ \alpha_i(1-\xi_i-y_if(x_i))=0\\ \xi_i\geq 0\\ \alpha_i\geq0\\ \mu_i\geq0\\ \mu_i\xi_i=0 \tag{29} \end{cases} 1ξiyif(xi)0αi(1ξiyif(xi))=0ξi0αi0μi0μiξi=0(29)

对于任意样本,总有 α i = 0 \alpha_i=0 αi=0 or 1 − ξ i − y i f ( x i ) = 0 1-\xi_i-y_if(x_i)=0 1ξiyif(xi)=0

  1. 如果 α i = 0 \alpha_i=0 αi=0,对 f ( x ) f(x) f(x)没有影响,如果 α i > 0 \alpha_i>0 αi>0,那么 1 − ξ i − y i f ( x i ) = 0 1-\xi_i-y_if(x_i)=0 1ξiyif(xi)=0,那么该样本为支持向量
  2. 有式(26)可知,若 α i < C \alpha_iαi<C,则 μ i > 0 \mu_i>0 μi>0,进而 ξ i = 0 \xi_i=0 ξi=0,即该样本在最大间隔边界上。
  3. α i = C \alpha_i=C αi=C,则 μ i = 0 \mu_i=0 μi=0,此时 ξ i ≤ 1 \xi_i\leq1 ξi1,则该样本落在最大间隔边界内部,若 ξ i > 1 \xi_i>1 ξi>1,则该样本被错误分类

你可能感兴趣的:(机器学习西瓜书,机器学习,支持向量机,算法)