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

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

  • 6.4 基本型
  • 6.5 对偶问题

上次我们讲到我们用数学式子表达了我们要求的超平面
max ⁡ w , b y m i n ( w T x m i n + b ) ∣ ∣ w ∣ ∣ (8) \max_{w,b}\frac{y_{min}(w^Tx_{min}+b)}{\mid\mid w\mid\mid} \tag{8} w,bmax∣∣w∣∣ymin(wTxmin+b)(8)
                    s.t.   y i ( w T x i + b ) ≥ y m i n ( w T x m i n + b ) y_i(w^Tx_i+b)\geq y_{min}(w^Tx_{min}+b) yi(wTxi+b)ymin(wTxmin+b)

6.4 基本型

由于若求得了最优解 ( w ∗ , b ∗ ) (w^*,b^*) (w,b),那么 ( α w ∗ , α b ∗ ) , α > 0 (\alpha w^*,\alpha b^*),\alpha>0 (αw,αb),α>0 也必然是其中的最优解,因此,我们令
y m i n ( w T x m i n + b ) = 1 (9) y_{min}(w^Tx_{min}+b)=1\tag{9} ymin(wTxmin+b)=1(9)

使得存在唯一的最优解 ( w ∗ , b ∗ ) (w^*,b^*) (w,b)

因此式(8)变为
max ⁡ w , b 1 ∣ ∣ w ∣ ∣ (9) \max_{w,b}\frac{1}{\mid\mid w\mid\mid} \tag{9} w,bmax∣∣w∣∣1(9)

                             s.t.   y i ( w T x i + b ) ≥ 1 y_i(w^Tx_i+b)\geq 1 yi(wTxi+b)1

由于最小化比最大化好求以及避免出现根号等原因,我们可以再次改写式(9)
min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 (10) \min_{w,b}\frac{1}{2}\mid\mid w\mid\mid^2 \tag{10} w,bmin21∣∣w2(10)

                             s.t.   y i ( w T x i + b ) ≥ 1 y_i(w^Tx_i+b)\geq 1 yi(wTxi+b)1

这就是求解支持向量机问题的基本型。

6.5 对偶问题

这里我们需要用到约束优化中的寻找对偶问题以及利用KKT条件求解,可以参考链接link:对偶问题及KKT条件

我们根据式(10)的主问题写拉格朗日函数
L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) (11) L(w,b,\alpha)=\frac{1}{2}\mid\mid w\mid\mid^2+\sum_{i=1}^m\alpha_i(1-y_i(w^Tx_i+b))\tag{11} L(w,b,α)=21∣∣w2+i=1mαi(1yi(wTxi+b))(11)

其中 α = ( α 1 ; α 2 , . . . , α m ) \alpha=(\alpha_1;\alpha_2,...,\alpha_m) α=(α1;α2,...,αm)为拉格朗日乘子,接下来我们要求其关于 w , b w,b w,b 的最小值,由于其为凸函数,所以我们对其分别求偏导

首先令 L ( w , b , α ) L(w,b,\alpha) L(w,b,α)对w和b求偏导。

1、 先对w求偏导:
∂ L ∂ w = ∂ ( 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) ) ∂ w = ∂ ( 1 2 w T w + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) ) ∂ w = 1 2 × 2 I w + ∑ i = 1 m α i ( − y i ) x i = w − ∑ i = 1 m α i y i x i (12) \begin{aligned} \frac{\partial L}{\partial w}&=\frac{\partial (\frac{1}{2}\mid\mid w\mid\mid^2+\sum_{i=1}^m\alpha_i(1-y_i(w^Tx_i+b)))}{\partial w}\\ &=\frac{\partial (\frac{1}{2}w^Tw+\sum_{i=1}^m\alpha_i(1-y_i(w^Tx_i+b)))}{\partial w}\\ &=\frac{1}{2}\times 2Iw+\sum_{i=1}^m\alpha_i (-y_i)x_i\\ &=w-\sum_{i=1}^m\alpha_i y_ix_i \tag{12} \end{aligned} wL=w(21∣∣w2+i=1mαi(1yi(wTxi+b)))=w(21wTw+i=1mαi(1yi(wTxi+b)))=21×2Iw+i=1mαi(yi)xi=wi=1mαiyixi(12)
令其为0,
w = ∑ i = 1 m α i y i x i (13) w=\sum_{i=1}^m\alpha_i y_ix_i\tag{13} w=i=1mαiyixi(13)

2、对b求偏导
∂ L ∂ b = ∂ ( 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) ) ∂ b = − ∑ i = 1 m α i y i (14) \begin{aligned} \frac{\partial L}{\partial b}&=\frac{\partial (\frac{1}{2}\mid\mid w\mid\mid^2+\sum_{i=1}^m\alpha_i(1-y_i(w^Tx_i+b)))}{\partial b}\\ &=-\sum_{i=1}^m\alpha_i y_i\\ \tag{14} \end{aligned} bL=b(21∣∣w2+i=1mαi(1yi(wTxi+b)))=i=1mαiyi(14)
令其为0,
∑ i = 1 m α i y i = 0 (15) \sum_{i=1}^m\alpha_i y_i=0\tag{15} i=1mαiyi=0(15)

将式(13)和式(14)带入拉格朗日函数,即为基本型的拉格朗日对偶函数

L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) (11) L(w,b,\alpha)=\frac{1}{2}\mid\mid w\mid\mid^2+\sum_{i=1}^m\alpha_i(1-y_i(w^Tx_i+b))\tag{11} L(w,b,α)=21∣∣w2+i=1mαi(1yi(wTxi+b))(11)

w = ∑ i = 1 m α i y i x i (13) w=\sum_{i=1}^m\alpha_i y_ix_i\tag{13} w=i=1mαiyixi(13)

∑ i = 1 m α i y i = 0 (15) \sum_{i=1}^m\alpha_i y_i=0\tag{15} i=1mαiyi=0(15)

L ( w , b , α ) = 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j + ∑ i = 1 m α i − ∑ i = 1 m α i y i b − ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j = − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j + ∑ i = 1 m α i (16) \begin{aligned} L(w,b,\alpha)&=\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i \alpha_j y_iy_jx_i^Tx_j+\sum_{i=1}^m\alpha_i-\sum_{i=1}^m\alpha_iy_ib\\&-\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_jx_i^Tx_j \\ &=-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i \alpha_j y_iy_jx_i^Tx_j+\sum_{i=1}^m\alpha_i\\ \tag{16} \end{aligned} L(w,b,α)=21i=1mj=1mαiαjyiyjxiTxj+i=1mαii=1mαiyibi=1mj=1mαiαjyiyjxiTxj=21i=1mj=1mαiαjyiyjxiTxj+i=1mαi(16)

因此,基本型的对偶问题即为
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 α后,代入求出w和b即可
函数可写为
f ( x ) = w T x + b = ∑ i = 1 m α i y i x i T x + b (18) \begin{aligned} f(x)&=w^Tx+b\\ &=\sum_{i=1}^m\alpha_i y_ix_i^Tx+b \tag{18} \end{aligned} f(x)=wTx+b=i=1mαiyixiTx+b(18)

由于主问题中存在不等式约束,所以还需要满足KKT条件
{ α i ≥ 0 y i ( w T x i + b ) ≥ 1 α i ( y i ( w T x i + b ) − 1 ) = 0 (19) \begin{cases} \alpha_i \geq 0 \\ y_i(w^Tx_i+b)\geq 1\\ \alpha_i(y_i(w^Tx_i+b)-1)=0 \tag{19} \end{cases} αi0yi(wTxi+b)1αi(yi(wTxi+b)1)=0(19)

=》
{ α i ≥ 0 y i f ( x i ) ≥ 1 α i ( y i f ( x i ) − 1 ) = 0 (20) \begin{cases} \alpha_i \geq 0 \\ y_if(x_i)\geq 1\\ \alpha_i(y_if(x_i)-1)=0 \tag{20} \end{cases} αi0yif(xi)1αi(yif(xi)1)=0(20)
从上式可以做一个简单的推导,对任意训练样本,总有 α i = 0 \alpha_i=0 αi=0 or y i f ( x i ) = 1 y_if(x_i)=1 yif(xi)=1
如果 α i = 0 \alpha_i=0 αi=0,那么根据式(18),他不会对函数产生影响,
如果 α i > 0 \alpha_i>0 αi>0,那么 y i f ( x i ) = 1 y_if(x_i)=1 yif(xi)=1,即该样本点位于最大间隔边界上。
这是支持向量机的一个重要性质,即大部分的训练样本都不保留,模型仅和支持向量有关

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