《SVM笔记系列之二》SVM的拉格朗日函数表示以及其对偶问题

前言

支持向量机的对偶问题比原问题容易解决,在符合KKT条件的情况下,其对偶问题和原问题的解相同,这里我们结合李航博士的《统计学习方法》一书和林轩田老师的《机器学习技法》中的内容,介绍下SVM的对偶问题。本人无专业的数学学习背景,只能直观上理解一些问题,请数学专业的朋友不吝赐教。 如有谬误,请联系指正。转载请注明出处。

∇ \nabla 联系方式:

e-mail: FesianXu@gmail.com

QQ: 973926198

github: https://github.com/FesianXu

知乎专栏: 计算机视觉/计算机图形理论与应用

微信公众号
qrcode


SVM的原问题的拉格朗日乘数表示

我们在上一篇博文《SVM笔记系列1,SVM起源与目的》中,谈到了SVM的原问题,这里摘抄如下:
min ⁡ W , b 1 2 ∣ ∣ W ∣ ∣ 2 s . t . 1 − y i ( W T x i + b ) ≤ 0 ,   i = 1 , ⋯   , N (1.1) \min_{W,b} \frac{1}{2}||W||^2 \\ s.t. 1-y_i(W^Tx_i+b) \leq 0, \ i=1,\cdots,N \tag{1.1} W,bmin21W2s.t.1yi(WTxi+b)0, i=1,,N(1.1)
其满足形式:
min ⁡ W , b f ( x ) s . t . c i ( x ) ≤ 0 , i = 1 , ⋯   , k h j ( x ) = 0 , j = 1 , ⋯   , l (1.2) \min_{W,b} f(x) \\ s.t. c_i(x) \leq0, i=1,\cdots,k \\ h_j(x) = 0, j=1,\cdots,l \tag{1.2} W,bminf(x)s.t.ci(x)0,i=1,,khj(x)=0,j=1,,l(1.2)

假设原问题为 θ P ( x ) \theta_P(x) θP(x),并且其最优解为 p ∗ = θ P ( x ∗ ) p^*=\theta_P(x^*) p=θP(x)
这是一个有约束的最优化问题,我们利用广义拉格朗日乘子法(具体移步《拉格朗日乘数法和KKT条件的直观解释》),将其转换为无约束的形式:
L ( W , b , α ) = 1 2 ∣ ∣ W ∣ ∣ 2 + ∑ i = 1 N α i ( 1 − y i ( W T x i + b ) ) ,   α i ≥ 0 (1.3) L(W,b,\alpha) = \frac{1}{2}||W||^2 + \sum_{i=1}^N \alpha_i (1-y_i(W^Tx_i+b)), \ \alpha_i \geq 0 \tag{1.3} L(W,b,α)=21W2+i=1Nαi(1yi(WTxi+b)), αi0(1.3)
变形为:
L ( W , b , α ) = 1 2 ∣ ∣ W ∣ ∣ 2 + ∑ i = 1 N α i − ∑ i = 1 N α i y i ( W T x i + b ) ,   α i ≥ 0 (1.4) L(W,b,\alpha) = \frac{1}{2}||W||^2 + \sum_{i=1}^N {\alpha_i}-\sum_{i=1}^N{\alpha_iy_i(W^Tx_i+b)} , \ \alpha_i \geq 0 \tag{1.4} L(W,b,α)=21W2+i=1Nαii=1Nαiyi(WTxi+b), αi0(1.4)
我们将会得到原问题的另一个表述为:
f ( x ) = max ⁡ α L ( W , b , α ) = max ⁡ α 1 2 ∣ ∣ W ∣ ∣ 2 + ∑ i = 1 N α i − ∑ i = 1 N α i y i ( W T x i + b ) , ,   α i ≥ 0 (1.5) f(x) = \max_{\alpha} L(W, b, \alpha)=\\ \max_{\alpha} \frac{1}{2}||W||^2 + \sum_{i=1}^N {\alpha_i}-\sum_{i=1}^N{\alpha_iy_i(W^Tx_i+b)},, \ \alpha_i \geq 0 \tag{1.5} f(x)=αmaxL(W,b,α)=αmax21W2+i=1Nαii=1Nαiyi(WTxi+b),, αi0(1.5)
θ P ( x ) = min ⁡ W , b f ( x ) = min ⁡ W , b max ⁡ α L ( W , b , α ) = min ⁡ W , b max ⁡ α 1 2 ∣ ∣ W ∣ ∣ 2 + ∑ i = 1 N α i − ∑ i = 1 N α i y i ( W T x i + b ) , ,   α i ≥ 0 (1.6) \theta_P(x) = \min_{W,b}f(x) = \min_{W,b} \max_{\alpha} L(W, b, \alpha)= \\ \min_{W,b} \max_{\alpha} \frac{1}{2}||W||^2 + \sum_{i=1}^N {\alpha_i}-\sum_{i=1}^N{\alpha_iy_i(W^Tx_i+b)},, \ \alpha_i \geq 0 \tag{1.6} θP(x)=W,bminf(x)=W,bminαmaxL(W,b,α)=W,bminαmax21W2+i=1Nαii=1Nαiyi(WTxi+b),, αi0(1.6)
这里我觉得有必要解释下为什么 f ( x ) f(x) f(x)可以表述为 max ⁡ α L ( W , b , α ) \max_{\alpha} L(W, b, \alpha) maxαL(W,b,α)这种形式。
假设我们有一个样本点 x i x_i xi是不满足原问题的约束条件 1 − y i ( W T x i + b ) ≤ 0 1-y_i(W^Tx_i+b) \leq 0 1yi(WTxi+b)0的,也就是说 1 − y i ( W T x i + b ) > 0 1-y_i(W^Tx_i+b) \gt 0 1yi(WTxi+b)>0,那么在 max ⁡ α \max_{\alpha} maxα这个环节就会使得 α i → + ∞ \alpha_i \rightarrow +\infty αi+从而使得 L ( W , b , α ) → + ∞ L(W,b,\alpha) \rightarrow +\infty L(W,b,α)+。如果 x i x_i xi是满足约束条件的,那么为了求得最大值,因为 1 − y i ( W T x i + b ) ≤ 0 1-y_i(W^Tx_i+b) \leq 0 1yi(WTxi+b)0而且 α i ≥ 0 \alpha_i \geq 0 αi0,所以就会使得 α i = 0 \alpha_i = 0 αi=0。由此我们得知:
max ⁡ α L ( W , b , α ) = { 1 2 ∣ ∣ W ∣ ∣ 2 1 − y i ( W T x i + b ) ≤ 0 满 足 约 束 条 件 + ∞ 1 − y i ( W T x i + b ) > 0 不 满 足 约 束 条 件 (1.7) \max_{\alpha}L(W,b,\alpha) = \begin{cases} \frac{1}{2}||W||^2 & 1-y_i(W^Tx_i+b) \leq 0 满足约束条件\\ +\infty & 1-y_i(W^Tx_i+b) \gt 0 不满足约束条件 \end{cases} \tag{1.7} αmaxL(W,b,α)={21W2+1yi(WTxi+b)01yi(WTxi+b)>0(1.7)
因此在满足约束的情况下,
max ⁡ α L ( W , b , α ) = 1 2 ∣ ∣ W ∣ ∣ 2 \max_{\alpha}L(W,b,\alpha)=\frac{1}{2}||W||^2 αmaxL(W,b,α)=21W2
不满足约束条件的样本点则因为无法对正无穷求最小值而自然抛弃。
这个时候,我们试图去解 max ⁡ α L ( W , b , α ) \max_{\alpha}L(W,b,\alpha) maxαL(W,b,α)中的 max ⁡ α \max_{\alpha} maxα我们会发现因为 L ( W , b , α ) = 1 2 ∣ ∣ W ∣ ∣ 2 + ∑ i = 1 N α i − ∑ i = 1 N α i y i ( W T x i + b ) L(W,b,\alpha)=\frac{1}{2}||W||^2 + \sum_{i=1}^N {\alpha_i}-\sum_{i=1}^N{\alpha_iy_i(W^Tx_i+b)} L(W,b,α)=21W2+i=1Nαii=1Nαiyi(WTxi+b)对于 α \alpha α是线性的,非凸的1,因此无法通过梯度的方法求得其最大值点,其最大值点应该处于可行域边界上,因此我们需要得到SVM的对偶问题进行求解。
至此,我们得到了原问题的最小最大表述:
θ P ( x ) = min ⁡ W , b max ⁡ α L ( W , b , α ) = min ⁡ W , b max ⁡ α 1 2 ∣ ∣ W ∣ ∣ 2 + ∑ i = 1 N α i − ∑ i = 1 N α i y i ( W T x i + b ) , α i ≥ 0 , i = 1 , ⋯   , N (1.8) \theta_P(x) = \min_{W,b} \max_{\alpha} L(W, b, \alpha)= \\ \min_{W,b} \max_{\alpha} \frac{1}{2}||W||^2 + \sum_{i=1}^N {\alpha_i}-\sum_{i=1}^N{\alpha_iy_i(W^Tx_i+b)}, \alpha_i \geq0,i=1,\cdots,N \tag{1.8} θP(x)=W,bminαmaxL(W,b,α)=W,bminαmax21W2+i=1Nαii=1Nαiyi(WTxi+b),αi0,i=1,,N(1.8)


SVM的对偶问题

从上面的讨论中,我们得知了SVM的原问题的最小最大表达形式为:
θ P ( x ) = min ⁡ W , b max ⁡ α L ( W , b , α ) = min ⁡ W , b max ⁡ α 1 2 ∣ ∣ W ∣ ∣ 2 + ∑ i = 1 N α i − ∑ i = 1 N α i y i ( W T x i + b ) , α i ≥ 0 , i = 1 , ⋯   , N (2.1) \theta_P(x) = \min_{W,b} \max_{\alpha} L(W, b, \alpha)= \\ \min_{W,b} \max_{\alpha} \frac{1}{2}||W||^2 + \sum_{i=1}^N {\alpha_i}-\sum_{i=1}^N{\alpha_iy_i(W^Tx_i+b)}, \alpha_i \geq0,i=1,\cdots,N \tag{2.1} θP(x)=W,bminαmaxL(W,b,α)=W,bminαmax21W2+i=1Nαii=1Nαiyi(WTxi+b),αi0,i=1,,N(2.1)
设SVM的对偶问题为 θ D ( α ) \theta_D(\alpha) θD(α),其最优解为 d ∗ = θ D ( α ∗ ) d^*=\theta_D(\alpha^*) d=θD(α),可知道其为:
g ( x ) = min ⁡ W , b L ( W , b , α ) = min ⁡ W , b 1 2 ∣ ∣ W ∣ ∣ 2 + ∑ i = 1 N α i − ∑ i = 1 N α i y i ( W T x i + b ) (2.2) g(x) = \min_{W,b} L(W,b,\alpha)= \\ \min_{W,b} \frac{1}{2}||W||^2 + \sum_{i=1}^N {\alpha_i}-\sum_{i=1}^N{\alpha_iy_i(W^Tx_i+b)} \tag{2.2} g(x)=W,bminL(W,b,α)=W,bmin21W2+i=1Nαii=1Nαiyi(WTxi+b)(2.2)
θ D ( α ) = max ⁡ α g ( x ) = max ⁡ α min ⁡ W , b L ( W , b , α ) = max ⁡ α min ⁡ W , b 1 2 ∣ ∣ W ∣ ∣ 2 + ∑ i = 1 N α i − ∑ i = 1 N α i y i ( W T x i + b ) (2.3) \theta_D(\alpha) = \max_{\alpha}g(x) = \max_{\alpha} \min_{W,b} L(W,b,\alpha)= \\ \max_{\alpha} \min_{W,b} \frac{1}{2}||W||^2 + \sum_{i=1}^N {\alpha_i}-\sum_{i=1}^N{\alpha_iy_i(W^Tx_i+b)} \tag{2.3} θD(α)=αmaxg(x)=αmaxW,bminL(W,b,α)=αmaxW,bmin21W2+i=1Nαii=1Nαiyi(WTxi+b)(2.3)
此时,我们得到了对偶问题的最大最小表述,同样的,我们试图去求解 θ D ( α ) \theta_D(\alpha) θD(α)中的 min ⁡ W , b \min_{W,b} minW,b,我们会发现由于 L ( W , b , α ) = 1 2 ∣ ∣ W ∣ ∣ 2 + ∑ i = 1 N α i − ∑ i = 1 N α i y i ( W T x i + b ) L(W,b,\alpha)=\frac{1}{2}||W||^2 + \sum_{i=1}^N {\alpha_i}-\sum_{i=1}^N{\alpha_iy_i(W^Tx_i+b)} L(W,b,α)=21W2+i=1Nαii=1Nαiyi(WTxi+b)对于 W W W来说是凸函数,因此可以通过梯度的方法求得其最小值点(即是其极小值点)。

求解 min ⁡ W , b L ( W , b , α ) \min_{W,b} L(W,b,\alpha) minW,bL(W,b,α),因为 L ( W , b , α ) L(W,b,\alpha) L(W,b,α)是凸函数,我们对采用求梯度的方法求解其最小值(也是KKT条件中的, ∇ W L ( W , b , α ) = 0 \nabla_WL(W,b,\alpha)=0 WL(W,b,α)=0 ∇ b L ( W , b , α ) = 0 \nabla_b L(W,b,\alpha)=0 bL(W,b,α)=0):
∂ L ∂ W = W − ∑ i = 1 N α i y i x i = 0 , i = 1 , ⋯   , N (2.4) \frac{\partial{L}}{\partial{W}}=W-\sum_{i=1}^N\alpha_iy_ix_i=0, i=1,\cdots,N \tag{2.4} WL=Wi=1Nαiyixi=0,i=1,,N(2.4)
∂ L ∂ b = ∑ i = 1 N α i y i = 0 , i = 1 , ⋯   , N (2.5) \frac{\partial{L}}{\partial{b}}=\sum_{i=1}^N\alpha_iy_i=0,i=1,\cdots,N \tag{2.5} bL=i=1Nαiyi=0,i=1,,N(2.5)
得出:
W = ∑ i = 1 N α i y i x i ,   ∑ i = 1 N α i y i = 0 ,   α i ≥ 0 , i = 1 , ⋯   , N (2.6) W=\sum_{i=1}^N\alpha_iy_ix_i, \sum_{i=1}^N\alpha_iy_i=0, \alpha_i \geq0,i=1,\cdots,N \tag{2.6} W=i=1Nαiyixi, i=1Nαiyi=0, αi0,i=1,,N(2.6)
将其代入 g ( x ) g(x) g(x),注意到 ∑ i = 1 N α i y i = 0 \sum_{i=1}^N\alpha_iy_i=0 i=1Nαiyi=0,得:
g ( x ) = 1 2 ∑ i = 1 N α i y i x i ∑ j = 1 N a j y j x j + ∑ i = 1 N α i − ∑ i = 1 N α i y i ( ∑ j = 1 N α j y j x j ⋅ x i + b ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i g(x) = \frac{1}{2} \sum_{i=1}^N \alpha_iy_ix_i \sum_{j=1}^N a_jy_jx_j+\sum_{i=1}^N\alpha_i -\sum_{i=1}^N\alpha_iy_i(\sum_{j=1}^N \alpha_jy_jx_j \cdot x_i+b)= \\ -\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 g(x)=21i=1Nαiyixij=1Najyjxj+i=1Nαii=1Nαiyi(j=1Nαjyjxjxi+b)=21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi
整理为:
max ⁡ α g ( x ) = 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 α i ≥ 0 , i = 1 , ⋯   , N (2.7) \max_{\alpha}g(x) = \max_{\alpha} -\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. \ \sum_{i=1}^N\alpha_iy_i=0 \\ \alpha_i \geq0,i=1,\cdots,N \tag{2.7} αmaxg(x)=αmax21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαis.t. i=1Nαiyi=0αi0,i=1,,N(2.7)

等价为求最小问题:
min ⁡ α g ( x ) = 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 α i ≥ 0 , i = 1 , ⋯   , N (2.8) \min_{\alpha}g(x) = \min_{\alpha} \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. \ \sum_{i=1}^N\alpha_iy_i=0 \\ \alpha_i \geq0,i=1,\cdots,N \tag{2.8} αming(x)=αmin21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαis.t. i=1Nαiyi=0αi0,i=1,,N(2.8)

根据Karush–Kuhn–Tucker(KKT)条件2,我们有:
∇ W L ( W ∗ , b ∗ , α ∗ ) = W ∗ − ∑ i = 1 N α i ∗ y i x i = 0 ⟹ W ∗ = ∑ i = 1 N α i ∗ y i x i (2.9) \nabla_WL(W^*,b^*,\alpha^*)=W^*-\sum_{i=1}^N\alpha_i^*y_ix_i=0 \Longrightarrow W^* = \sum_{i=1}^N\alpha_i^*y_ix_i \tag{2.9} WL(W,b,α)=Wi=1Nαiyixi=0W=i=1Nαiyixi(2.9)
∇ b L ( W ∗ , b ∗ , α ∗ ) = − ∑ i = 1 N α i ∗ y i = 0 (2.10) \nabla_bL(W^*,b^*,\alpha^*) = -\sum_{i=1}^N \alpha^*_i y_i=0 \tag{2.10} bL(W,b,α)=i=1Nαiyi=0(2.10)
α i ∗ ( 1 − y i ( W ∗ x i + b ∗ ) ) = 0 (2.11) \alpha^*_i(1-y_i(W^*x_i+b^*))=0 \tag{2.11} αi(1yi(Wxi+b))=0(2.11)
1 − y i ( W ∗ x i + b ∗ ) ≤ 0 (2.12) 1-y_i(W^*x_i+b^*) \leq 0 \tag{2.12} 1yi(Wxi+b)0(2.12)
α i ∗ ≥ 0 (2.13) \alpha^*_i \geq 0 \tag{2.13} αi0(2.13)
前两个式子我们已经在求极值的时候利用了,得知:
W ∗ = ∑ i = 1 N α i ∗ y i x i (2.14) W^* = \sum_{i=1}^N\alpha_i^*y_ix_i \tag{2.14} W=i=1Nαiyixi(2.14)
并且其中至少有一个 α j ∗ > 0 \alpha_j^* \gt 0 αj>0,对此 j j j有, y j ( W ∗ x j + b ∗ ) − 1 = 0 y_j(W^*x_j+b^*)-1=0 yj(Wxj+b)1=0
代入刚才的 W ∗ W^* W,我们有
b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) (2.15) b^*=y_j-\sum_{i=1}^N\alpha^*_iy_i(x_i \cdot x_j) \tag{2.15} b=yji=1Nαiyi(xixj)(2.15)
所以决策超平面为:
∑ i = 1 N α i ∗ y i ( x i ⋅ x ) + b ∗ = 0 (2.16) \sum_{i=1}^N \alpha^*_iy_i(x_i \cdot x)+b^*=0 \tag{2.16} i=1Nαiyi(xix)+b=0(2.16)
分类超平面为:
θ ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i ( x i ⋅ x ) + b ∗ ) (2.17) \theta(x)=sign(\sum_{i=1}^N \alpha^*_iy_i(x_i \cdot x)+b^*) \tag{2.17} θ(x)=sign(i=1Nαiyi(xix)+b)(2.17)
其中,我们可以观察到超平面只是依赖于 α i ∗ > 0 \alpha_i^*>0 αi>0的样本点 x i x_i xi,而其他样本点对其没有影响,所以这些样本是对决策超平面起着决定性作用的,因此我们将 α i ∗ > 0 \alpha_i^*>0 αi>0对应的样本点集合 x i x_i xi称为支持向量。同时,我们可以这样理解当 α i ∗ > 0 \alpha^*_i >0 αi>0时,我们有 1 − y i ( W ∗ x i + b ) = 0 1-y_i(W^*x_i+b)=0 1yi(Wxi+b)=0,这个恰恰是表明了支持向量的函数间隔都是1,恰好和我们之前的设定一致。
svm_margin

至此,我们得到了硬间隔线性支持向量机的数学表述形式,所谓硬间隔线性支持向量机,就是满足我之前的假设

两类样本是线性可分的,总是存在一个超平面 W T x + b W^Tx+b WTx+b可以将其完美分割开。

但是,在现实生活中的数据往往是或本身就是非线性可分但是近似线性可分的,或是线性可分但是具有噪声的,以上两种情况都会导致在现实应用中,硬间隔线性支持向量机变得不再实用,因此我们将会在后续讨论用以解决近似线性可分的软间隔线性支持向量机基于kernel的支持向量机,后者可以解决非线性可分的问题。下图表示了硬间隔线性支持向量机软间隔支持向量机之间的区别。
hard_margin

soft_margin
在下一篇中,我们紧接着现在的内容,介绍序列最小最优化算法(Sequential Minimal Optimization,SMO),用于求解 θ D ( x ) \theta_D(x) θD(x),得到 α i ∗ \alpha^*_i αi以便于得到超平面的 W ∗ W^* W b b b。我们将在其他文章中介绍软间隔线性支持向量机广义拉格朗日乘数法KKT条件基于kernel的支持向量机

这里我们要记住我们需要最优化的目的式子,我们以后将会反复提到这个式子。
min ⁡ α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i \min_{\alpha} \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 αmin21i=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
α i ≥ 0 , i = 1 , ⋯   , N \alpha_i \geq0,i=1,\cdots,N αi0,i=1,,N


  1. 易证明。参考wikipedia的凸函数定义。 ↩︎

  2. 事实上,如果 θ D ( x ) \theta_D(x) θD(x) L ( W , b , α ) L(W,b,\alpha) L(W,b,α)满足KKT条件,那么在SVM这个问题中, W ∗ W^* W b ∗ b^* b α i ∗ \alpha^*_i αi同时是原问题和对偶问题的解的充分必要条件是满足KKT条件,具体见《统计学习方法》附录和《拉格朗日乘数法和KKT条件的直观解释》↩︎

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FesianXu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值