《统计学习方法》—— SVM(线性可分支持向量机、线性支持向量机、非线性支持向量机)的详细推导

article/2025/9/13 1:39:11

前言

支持向量机是定义在特征空间上使得间隔最大的线性分类器。它可以形式化为凸二次规划问题。对于这样的凸二次规划问题,我们往往使用拉格朗日方法转为为它的对偶问题。对于这样的对偶问题,我们可以使用SMO最小序列算法进行求解。

我们将介绍三种支持向量机。当数据线性可分时,我们采用线性可分支持向量机;当数据近似线性可分,或者说去除掉数据中的某些点后剩余数据是线性可分的,则可以采用线性支持向量机;当数据线性不可分,则应该采用非线性支持向量机。

在进入具体的模型之前,我们先来看一个问题。

给定一个超曲面 w ⋅ x + b = 0 w\cdot x+b=0 wx+b=0,如果存在另一个点 x 1 x_1 x1,则这个点与超平面距离是多少?

我们假设超平面上的一点 x 2 x_2 x2,则 x 1 x_1 x1 与超平面的距离可以表示为
∣ w ∣ ∣ w ∣ ∣ ⋅ ( x 1 − x 2 ) ∣ = ∣ w ⋅ x 1 − w ⋅ x 2 ∣ ∣ ∣ w ∣ ∣ = ∣ w ⋅ x 1 + b ∣ ∣ ∣ w ∣ ∣ \begin{array}{lll} \vert\frac{w}{|| w||}\cdot (x_1-x_2)\vert&=&\frac{\vert w\cdot x_1-w\cdot x_2\vert}{|| w||}\\ &=&\frac{\vert w\cdot x_1+b\vert}{|| w||} \end{array} ww(x1x2)==wwx1wx2wwx1+b

这里, w ∣ ∣ w ∣ ∣ \frac{w}{|| w||} ww 为超平面的单位法向量。第二个等号成立是因为 x 2 x_2 x2 在超平面上,也就意味着满足 w ⋅ x 2 + b = 0 w\cdot x_2+b=0 wx2+b=0

有了上面的结论,我们就可以接着来介绍 函数距离和几何距离。

对于线性可分的数据集 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)} y i ∈ { − 1 , + 1 } y_i\in\{-1, +1\} yi{1,+1},必然存在一个超平面 w ⋅ x + b = 0 w\cdot x+b=0 wx+b=0 使得能够正确分割正负类别的数据点,也就是说,满足 对所有的 i i i,不等式 y i ( w ⋅ x i + b ) > 0 y_i(w\cdot x_i+b)>0 yi(wxi+b)>0恒成立。

此时,借助上面问题的结论,我们有数据集中任意一点 x i x_i xi 到超平面 w ⋅ x + b = 0 w\cdot x+b=0 wx+b=0 的距离为
∣ w ⋅ x i + b ∣ ∣ ∣ w ∣ ∣ = y i ( w ⋅ x i + b ) ∣ ∣ w ∣ ∣ \frac{\vert w\cdot x_i+b\vert}{|| w||}=\frac{y_i(w\cdot x_i+b)}{||w||} wwxi+b=wyi(wxi+b)

这个等式成立,是因为正确分类的数据点 x i x_i xi 始终满足 y i ( w ⋅ x i + b ) > 0 y_i(w\cdot x_i+b)>0 yi(wxi+b)>0 y i = ± 1 y_i=\pm 1 yi=±1,则 ∣ w ⋅ x i + b ∣ = y i ( w ⋅ x i + b ) \vert w\cdot x_i+b\vert=y_i(w\cdot x_i+b) wxi+b=yi(wxi+b)

在这里,我们将 y i ( w ⋅ x i + b ) ∣ ∣ w ∣ ∣ \frac{y_i(w\cdot x_i+b)}{||w||} wyi(wxi+b) 称为 x i x_i xi 到超平面的几何距离,而 y i ( w ⋅ x i + b ) y_i(w\cdot x_i+b) yi(wxi+b) 称为 x i x_i xi 到超平面的函数距离

有了函数距离和几何距离的定义,下面我们将依次介绍三种支持向量机。

1. 线性可分支持向量机

1.1 凸二次规划问题

对于线性可分的数据集,根据线性可分数据集的定义,我们知道必然有一个超平面,使得该超平面能够正确分开所有数据点。

但支持向量机的目标是,找到那个具有最大几何距离的那个超平面,也就是说,使得超平面能够尽可能在不同类别的数据中间,同时尽可能远离数据点。这样,超平面就可以更加明显地区分不同标记的数据点。

因此,对于线性可分的数据集 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)},我们给出如下最优化问题:
max ⁡ w , b min ⁡ i = 1 , 2 , . . . , N y i ( w ⋅ x i + b ) ∣ ∣ w ∣ ∣ \max\limits_{w, b}\min_{i=1, 2, ..., N}\frac{y_i(w\cdot x_i+b)}{||w||} w,bmaxi=1,2,...,Nminwyi(wxi+b)
将上式展开,有
max ⁡ w , b γ s . t . y i ( w ⋅ x i + b ) ∣ ∣ w ∣ ∣ ≥ γ , i = 1 , 2 , . . . , N \begin{array}{lll} &\max\limits_{w, b}& \gamma\\ &s.t.& \frac{y_i(w\cdot x_i+b)}{||w||}\ge \gamma, i=1, 2, ..., N \end{array} w,bmaxs.t.γwyi(wxi+b)γ,i=1,2,...,N

显然, max ⁡ w , b min ⁡ i = 1 , 2 , . . . , N y i ( w ⋅ x i + b ) ∣ ∣ w ∣ ∣ = max ⁡ w , b 1 ∣ ∣ w ∣ ∣ min ⁡ i = 1 , 2 , . . . , N y i ( w ⋅ x i + b ) \max\limits_{w, b}\min_{i=1, 2, ..., N}\frac{y_i(w\cdot x_i+b)}{||w||}=\max\limits_{w, b}\frac{1}{||w||}\min_{i=1, 2, ..., N}y_i(w\cdot x_i+b) w,bmaxi=1,2,...,Nminwyi(wxi+b)=w,bmaxw1i=1,2,...,Nminyi(wxi+b)

而这意味着上面的最优化问题等价于
max ⁡ w , b γ ∣ ∣ w ∣ ∣ ( 1 ) s . t . y i ( w ⋅ x i + b ) ≥ γ , i = 1 , 2 , . . . , N \begin{array}{lll} &\max\limits_{w, b}& \frac{\gamma}{||w||}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(1)\\ &s.t.& y_i(w\cdot x_i+b)\ge \gamma, i=1, 2, ..., N \end{array} w,bmaxs.t.wγ                                                  (1)yi(wxi+b)γ,i=1,2,...,N

我们接下来说明优化问题(1)与
max ⁡ w , b 1 ∣ ∣ w ∣ ∣ ( 2 ) s . t . y i ( w ⋅ x i + b ) ≥ 1 , i = 1 , 2 , . . . , N \begin{array}{lll} &\max\limits_{w, b}& \frac{1}{||w||}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(2)\\ &s.t.& y_i(w\cdot x_i+b)\ge 1, i=1, 2, ..., N \end{array} w,bmaxs.t.w1                                                  (2)yi(wxi+b)1,i=1,2,...,N
等价。

γ ( w , b ) = min ⁡ i = 1 , 2 , . . . , N y i ( w ⋅ x i + b ) \gamma(w, b)=\min\limits_{i=1, 2, ..., N}y_i(w\cdot x_i+b) γ(w,b)=i=1,2,...,Nminyi(wxi+b)。假设问题(1)的最优解为 ( w 1 , b 1 ) (w_1, b_1) (w1,b1),问题(2)的最优解为 ( w 2 , b 2 ) (w_2, b_2) (w2,b2)

  • ( w 1 γ ( w 1 , b 1 ) , b 1 γ ( w 1 , b 1 ) ) (\frac{w_1}{\gamma(w_1, b_1)}, \frac{b_1}{\gamma(w_1, b_1)}) (γ(w1,b1)w1,γ(w1,b1)b1) 是问题(2)的一个可行解,这是因为 γ ( w 1 γ ( w 1 , b 1 ) , b 1 γ ( w 1 , b 1 ) ) = 1 \gamma\left(\frac{w_1}{\gamma(w_1, b_1)}, \frac{b_1}{\gamma(w_1, b_1)}\right)=1 γ(γ(w1,b1)w1,γ(w1,b1)b1)=1。由于 ( w 2 , b 2 ) (w_2, b_2) (w2,b2) 是问题(2)的最优解,所以,我们有 1 ∣ ∣ w 2 ∣ ∣ ≥ 1 ∣ ∣ w 1 γ ( w 1 , b 1 ) ∣ ∣ = γ ( w 1 , b 1 ) ∣ ∣ w 1 ∣ ∣ \frac{1}{||w_2||}\ge\frac{1}{||\frac{w_1}{\gamma(w_1, b_1)}||}=\frac{\gamma(w_1, b_1)}{||w_1||} w21γ(w1,b1)w11=w1γ(w1,b1)
  • ( w 2 , b 2 ) (w_2, b_2) (w2,b2) 同样是问题(1)的一个可行解,这是因为问题(1)等价于 max ⁡ w , b 1 ∣ ∣ w ∣ ∣ min ⁡ i = 1 , 2 , . . . , N y i ( w ⋅ x i + b ) \max\limits_{w, b}\frac{1}{||w||}\min\limits_{i=1, 2, ..., N}y_i(w\cdot x_i+b) w,bmaxw1i=1,2,...,Nminyi(wxi+b),则 max ⁡ w , b 1 ∣ ∣ w ∣ ∣ min ⁡ i = 1 , 2 , . . . , N y i ( w ⋅ x i + b ) = γ ( w 1 , b 1 ) ∣ ∣ w 1 ∣ ∣ ≥ γ ( w 2 , b 2 ) ∣ ∣ w 2 ∣ ∣ = 1 ∣ ∣ w 2 ∣ ∣ \begin{array}{lll} &&\max\limits_{w, b}\frac{1}{||w||}\min\limits_{i=1, 2, ..., N}y_i(w\cdot x_i+b)\\ &=&\frac{\gamma(w_1, b_1)}{||w_1||}\\ &\ge&\frac{\gamma(w_2, b_2)}{||w_2||}\\ &=&\frac{1}{||w_2||} \end{array} ==w,bmaxw1i=1,2,...,Nminyi(wxi+b)w1γ(w1,b1)w2γ(w2,b2)w21
  • 综合上面两点,我们有等式 1 ∣ ∣ w 2 ∣ ∣ = γ ( w 1 , b 1 ) ∣ ∣ w 1 ∣ ∣ \frac{1}{||w_2||}=\frac{\gamma(w_1, b_1)}{||w_1||} w21=w1γ(w1,b1) 这就说明 ( w 1 γ ( w 1 , b 1 ) , b 1 γ ( w 1 , b 1 ) ) (\frac{w_1}{\gamma(w_1, b_1)}, \frac{b_1}{\gamma(w_1, b_1)}) (γ(w1,b1)w1,γ(w1,b1)b1) 是问题(2)的一个最优解;而 ( w 2 , b 2 ) (w_2, b_2) (w2,b2) 是问题(1)的一个最优解。联系到问题(1)与问题(2)的最优解的唯一性,因此,我们有 ( w 1 , b 1 ) = ( w 2 , b 2 ) (w_1, b_1)=(w_2, b_2) (w1,b1)=(w2,b2) γ ( w 1 , b 1 ) = 1 \gamma(w_1, b_1)=1 γ(w1,b1)=1。因此,问题(1)与问题(2)是等价的。

对于问题(2), max ⁡ w , b 1 ∣ ∣ w ∣ ∣ \max\limits_{w, b}\frac{1}{||w||} w,bmaxw1 等价于 min ⁡ w , b ∣ ∣ w ∣ ∣ \min\limits_{w, b}||w|| w,bminw,而 min ⁡ w , b ∣ ∣ w ∣ ∣ \min\limits_{w, b}||w|| w,bminw 等价于 min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 \min\limits_{w, b}\frac{1}{2}||w||^2 w,bmin21w2。因此,问题(2)等价于
min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 ( 3 ) s . t . y i ( w ⋅ x i + b ) ≥ 1 , i = 1 , 2 , . . . , N \begin{array}{lll} &\min\limits_{w, b}&\frac{1}{2}||w||^2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(3)\\ &s.t.& y_i(w\cdot x_i+b)\ge 1, i=1, 2, ..., N \end{array} w,bmins.t.21w2                                                  (3)yi(wxi+b)1,i=1,2,...,N

最终,我们将问题转化为问题(3)的形式,而问题(3)是一个凸二次规划的问题。

1.2 对偶问题

我们通过拉格朗日方法,将问题(3)转化为对偶问题。之所以转化为对偶问题,是因为对偶问题相对简单,同时自然引入核函数的概念。

通过拉格朗日方法,我们有拉格朗日函数
L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 N α i y i ( w ⋅ x i + b ) + ∑ i = 1 N α i L(w, b, \alpha)=\frac{1}{2}||w||^2-\sum_{i=1}^N\alpha_iy_i(w\cdot x_i+b)+\sum_{i=1}^N\alpha_i L(w,b,α)=21w2i=1Nαiyi(wxi+b)+i=1Nαi

其中, α i ≥ 0 , i = 1 , 2 , . . . , N \alpha_i\ge0,i=1, 2, ..., N αi0i=1,2,...,N

原始问题可以写为 min ⁡ w , b max ⁡ α L ( w , b , α ) \min\limits_{w, b}\max\limits_{\alpha}L(w, b, \alpha) w,bminαmaxL(w,b,α)

之所以这是原始问题,是因为从上面的表达式中,可以还原出问题(3)。我们可以这样看:

  • 我们要选择 ( w , b ) (w, b) (w,b) 使得选出最小的 max ⁡ α L ( w , b , α ) \max\limits_{\alpha}L(w, b, \alpha) αmaxL(w,b,α)
  • 仔细观察 L ( w , b , α ) L(w, b, \alpha) L(w,b,α),可以看到 α i \alpha_i αi 前面的系数为 1 − y i ( w ⋅ x i + b ) 1-y_i(w\cdot x_i+b) 1yi(wxi+b)
  • 如果 1 − y i ( w ⋅ x i + b ) > 0 1-y_i(w\cdot x_i+b)>0 1yi(wxi+b)>0,则我们可以选择特别大的 α i \alpha_i αi,使得 max ⁡ α L ( w , b , α ) = + ∞ \max\limits_{\alpha}L(w, b, \alpha)=+\infty αmaxL(w,b,α)=+
  • 因此,为了确保使得 max ⁡ α L ( w , b , α ) \max\limits_{\alpha}L(w, b, \alpha) αmaxL(w,b,α) 不是无限大,我们必须挑选 ( w , b ) (w, b) (w,b) 使得 1 − y i ( w ⋅ x i + b ) ≤ 0 1-y_i(w\cdot x_i+b)\le0 1yi(wxi+b)0 对任意 i i i 恒成立,这就意味着问题(3)的约束条件被还原出来;
  • 1 − y i ( w ⋅ x i + b ) ≤ 0 1-y_i(w\cdot x_i+b)\le0 1yi(wxi+b)0 时,为了 max ⁡ α L ( w , b , α ) \max\limits_{\alpha}L(w, b, \alpha) αmaxL(w,b,α),显然,对于 1 − y i ( w ⋅ x i + b ) < 0 1-y_i(w\cdot x_i+b)<0 1yi(wxi+b)<0 严格成立的点,我们必须令 α i = 0 \alpha_i=0 αi=0;而对于 1 − y i ( w ⋅ x i + b ) = 0 1-y_i(w\cdot x_i+b)=0 1yi(wxi+b)=0 的点,我们则对 α i > 0 \alpha_i>0 αi>0;
  • 这样,我们可以保证 ∑ i = 1 N ( 1 − y i ( w ⋅ x i + b ) ) = 0 \sum_{i=1}^N\left(1-y_i(w\cdot x_i+b)\right)=0 i=1N(1yi(wxi+b))=0,此时, min ⁡ w , b max ⁡ α L ( w , b , α ) = min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 \min\limits_{w, b}\max\limits_{\alpha}L(w, b, \alpha)=\min\limits_{w, b}\frac{1}{2}||w||^2 w,bminαmaxL(w,b,α)=w,bmin21w2。这时,目标函数也被还原出来。

综合上面的叙述,我们可以看出,原始问题为
min ⁡ w , b max ⁡ α L ( w , b , α ) \min\limits_{w, b}\max\limits_{\alpha}L(w, b, \alpha) w,bminαmaxL(w,b,α)

此时,所谓的对偶问题为
max ⁡ α min ⁡ w , b L ( w , b , α ) \max\limits_{\alpha}\min\limits_{w, b}L(w, b, \alpha) αmaxw,bminL(w,b,α)

一般来说,这两个问题的解并不一定相等,但从库恩塔克定理可以知道,只要原问题的目标函数以及不等式约束是凸函数,则原问题与对偶问题的解一致。

现在,我们尝试求解对偶问题。

给定 α \alpha α,我们求 min ⁡ w , b L ( w , b , α ) \min\limits_{w, b}L(w, b, \alpha) w,bminL(w,b,α)。具体的,我们对 L ( w , b , α ) L(w, b, \alpha) L(w,b,α) 分别关于 ( w , b ) (w, b) (w,b) 求导,则
∂ L ( w , b , α ) ∂ w = w − ∑ i = 1 N α i y i x i = 0 \frac{\partial L(w, b, \alpha)}{\partial w}=w-\sum_{i=1}^N\alpha_iy_ix_i=0 wL(w,b,α)=wi=1Nαiyixi=0

∂ L ( w , b , α ) ∂ b = − ∑ i = 1 N α i y i = 0 \frac{\partial L(w, b, \alpha)}{\partial b}=-\sum_{i=1}^N\alpha_iy_i=0 bL(w,b,α)=i=1Nαiyi=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。将结果代入 L ( w , b , α ) L(w, b, \alpha) L(w,b,α),可得

L ( w ( α ) , b ( α ) , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 N α i y i ( w ⋅ x i + b ) + ∑ i = 1 N α i = 1 2 w ⋅ w − ∑ i = 1 N α i y i x i ⋅ w − b ∑ i = 1 N α i y i + ∑ α i = 1 2 w ⋅ w − w ⋅ w + ∑ α i = − 1 2 w ⋅ w + ∑ α i = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j x i ⋅ x j + ∑ i = 1 N α i \begin{array}{lll} L(w(\alpha), b(\alpha), \alpha)&=&\frac{1}{2}||w||^2-\sum_{i=1}^N\alpha_iy_i(w\cdot x_i+b)+\sum_{i=1}^N\alpha_i\\ &=&\frac{1}{2}w\cdot w-\sum_{i=1}^N\alpha_iy_ix_i\cdot w-b\sum_{i=1}^N\alpha_iy_i+\sum\alpha_i\\ &=&\frac{1}{2}w\cdot w-w\cdot w+\sum\alpha_i\\ &=&-\frac{1}{2}w\cdot w+\sum\alpha_i\\ &=&-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j+\sum_{i=1}^N\alpha_i \end{array} L(w(α),b(α),α)=====21w2i=1Nαiyi(wxi+b)+i=1Nαi21wwi=1Nαiyixiwbi=1Nαiyi+αi21wwww+αi21ww+αi21i=1Nj=1Nαiαjyiyjxixj+i=1Nαi

因此,对偶问题转化为问题
max ⁡ α L ( α ) = − 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 , 2 , . . . , N \begin{array}{lll} &\max\limits_{\alpha}&L(\alpha)=-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j+\sum_{i=1}^N\alpha_i\\ &s.t.&\sum_{i=1}^N\alpha_iy_i=0\\ &&\alpha_i\ge0, i=1, 2, ..., N \end{array} αmaxs.t.L(α)=21i=1Nj=1Nαiαjyiyjxixj+i=1Nαii=1Nαiyi=0αi0,i=1,2,...,N

上面的问题可以通过SMO算法(快速最小序列算法)得到解 α ∗ \alpha^* α

根据库恩塔克条件,我们知道最优解 ( w ∗ , b ∗ , α ∗ ) (w^*, b^*, \alpha^*) (w,b,α) 满足
∂ L ∂ w ∣ ( w , b , α ) = ( w ∗ , b ∗ , α ∗ ) = w ∗ − ∑ i = 1 N α i ∗ y i x i = 0 ∂ L ∂ b ∣ ( w , b , α ) = ( w ∗ , b ∗ , α ∗ ) = − ∑ i = 1 N α i ∗ y i = 0 α i ∗ ( 1 − y i ( w ∗ ⋅ x i + b ∗ ) ) = 0 , i = 1 , 2 , . . . , N 1 − y i ( w ∗ ⋅ x i + b ∗ ) ≤ 0 , i = 1 , 2 , . . . , N α i ∗ ≥ 0 , i = 1 , 2 , . . . , N \begin{array}{rll} \frac{\partial L}{\partial w}|_{(w, b, \alpha)=(w^*, b^*, \alpha^*)}&=&w^*-\sum_{i=1}^N\alpha_i^*y_ix_i=0\\ \frac{\partial L}{\partial b}|_{(w, b, \alpha)=(w^*, b^*, \alpha^*)}&=&-\sum_{i=1}^N\alpha_i^*y_i=0\\ \alpha_i^*(1-y_i(w^*\cdot x_i+b^*))&=&0, i=1, 2, ..., N\\ 1-y_i(w^*\cdot x_i+b^*)&\le& 0, i=1, 2, ..., N\\ \alpha_i^*&\ge&0, i=1, 2, ..., N \end{array} wL(w,b,α)=(w,b,α)bL(w,b,α)=(w,b,α)αi(1yi(wxi+b))1yi(wxi+b)αi===wi=1Nαiyixi=0i=1Nαiyi=00,i=1,2,...,N0,i=1,2,...,N0,i=1,2,...,N

从条件可知

  • 由第一个等式可知, w ∗ = ∑ i = 1 N α i ∗ y i x i w^*=\sum_{i=1}^N\alpha_i^*y_ix_i w=i=1Nαiyixi
  • 由第三个等式可知,必然存在一个 α j ∗ > 0 \alpha_j^*>0 αj>0,这是因为如果所有的 α j ∗ = 0 \alpha_j^*=0 αj=0,则 w ∗ = 0 w^*=0 w=0,这显然不是最优解,因此,对于第j个数据,有 1 − y j ( w ∗ ⋅ x j + b ∗ ) = 0 1-y_j(w^*\cdot x_j+b^*)=0 1yj(wxj+b)=0,得 b ∗ = y j − ∑ i = 1 N α i ∗ y i x i ⋅ x j b^*=y_j-\sum_{i=1}^N\alpha_i^*y_ix_i\cdot x_j b=yji=1Nαiyixixj

2. 线性支持向量机

现实生活中,我们可能遇到不能够严格线性可分的数据集,但是当去掉一些点之后,这个数据集便是线性可分的。对于这种数据集,我们可以使用线性支持向量机。

回忆到问题(3)中,约束条件 y i ( w ⋅ x i + b ) ≥ 1 , i = 1 , 2 , . . . , N y_i(w\cdot x_i+b)\ge 1, i=1, 2, ..., N yi(wxi+b)1,i=1,2,...,N 意味着所有数据的函数间隔最少为1,这确保了线性可分。

如果线性不可分,则意味着对于某些数据,约束条件不满足。我们引入松弛变量 ξ i ≥ 0 , i = 1 , 2 , . . . , N \xi_i\ge0, i=1, 2, ..., N ξi0,i=1,2,...,N,将约束条件放松为 y i ( w ⋅ x i + b ) ≥ 1 − ξ i , i = 1 , 2 , . . . , N y_i(w\cdot x_i+b)\ge 1-\xi_i, i=1, 2, ..., N yi(wxi+b)1ξi,i=1,2,...,N;为了使得约束条件不至于没有任何约束作用,我们需要取尽可能紧凑的松弛变量,也就是让松弛变量尽可能小,我们可以在目标函数上加入松弛变量的惩罚项,也就是 max ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i \max\limits_{w, b}\frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i w,bmax21w2+Ci=1Nξi,其中, C ≥ 0 C\ge0 C0

因此,线性支持向量机的问题可以表述为
min ⁡ w , b , ξ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i ( 4 ) s . t . y i ( w ⋅ x i + b ) ≥ 1 − ξ i , i = 1 , 2 , . . . , N ξ i ≥ 0 , i = 1 , 2 , . . . , N \begin{array}{lll} &\min\limits_{w, b, \xi}&\frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i~~~~~~~~~~~~~~~~~~~~~~~~~~~(4)\\ &s.t.& y_i(w\cdot x_i+b)\ge 1-\xi_i, i=1, 2, ..., N\\ && \xi_i\ge0, i=1, 2, ..., N \end{array} w,b,ξmins.t.21w2+Ci=1Nξi                           (4)yi(wxi+b)1ξi,i=1,2,...,Nξi0,i=1,2,...,N

同样的,我们用拉格朗日方法,将原始问题转化为对偶问题进行求解。此时,拉格朗日函数为
L ( w , b , ξ , α , μ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i − ∑ i = 1 N α i y i ( w ⋅ x i + b ) + ∑ i = 1 N α i ( 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_iy_i(w\cdot x_i+b)+\sum_{i=1}^N\alpha_i(1-\xi_i)-\sum_{i=1}^N\mu_i\xi_i L(w,b,ξ,α,μ)=21w2+Ci=1Nξii=1Nαiyi(wxi+b)+i=1Nαi(1ξi)i=1Nμiξi

其中, α i ≥ 0 , μ i ≥ 0 , i = 1 , 2 , . . . , N \alpha_i\ge0, \mu_i\ge0, i=1, 2, ..., N αi0,μi0,i=1,2,...,N

这时,原始问题为
min ⁡ w , b , ξ max ⁡ α , μ L ( w , b , ξ , α , μ ) \min_{w, b, \xi}\max_{\alpha, \mu}L(w, b, \xi, \alpha, \mu) w,b,ξminα,μmaxL(w,b,ξ,α,μ)

对偶问题为
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,ξ,α,μ)

类似的,这里的对偶问题和原始问题等价。为了求得对偶问题的解,我们有
∂ L ( w , b , ξ , α , μ ) ∂ w = w − ∑ i = 1 N α i y i x i = 0 \frac{\partial L(w,b, \xi, \alpha, \mu)}{\partial w}=w-\sum_{i=1}^N\alpha_iy_ix_i=0 wL(w,b,ξ,α,μ)=wi=1Nαiyixi=0

∂ L ( w , b , ξ , α , μ ) ∂ b = − ∑ i = 1 N α i y i = 0 \frac{\partial L(w,b, \xi, \alpha, \mu)}{\partial b}=-\sum_{i=1}^N\alpha_iy_i=0 bL(w,b,ξ,α,μ)=i=1Nαiyi=0

∂ L ( w , b , ξ , α , μ ) ∂ ξ i = C − α i − μ i = 0 , i = 1 , 2 , . . . , N \frac{\partial L(w,b, \xi, \alpha, \mu)}{\partial \xi_i}=C-\alpha_i-\mu_i=0, i=1, 2, ..., N ξiL(w,b,ξ,α,μ)=Cαiμi=0,i=1,2,...,N

  • 通过第一个式子,我们有 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
  • 通过第三个式子,我们有 α i = C − μ i , i = 1 , 2 , . . . , N \alpha_i=C-\mu_i, i=1, 2, ..., N αi=Cμi,i=1,2,...,N

将上面的结果,代入拉格朗日函数 L ( w , b , ξ , α , μ ) L(w,b, \xi, \alpha, \mu) L(w,b,ξ,α,μ),可以得到
L ( α , μ ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j x i ⋅ x j + ∑ i = 1 N α i L(\alpha, \mu)=-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j+\sum_{i=1}^N\alpha_i L(α,μ)=21i=1Nj=1Nαiαjyiyjxixj+i=1Nαi

约束条件有 ∑ i = 1 N α i y i = 0 \sum_{i=1}^N\alpha_iy_i=0 i=1Nαiyi=0 α i = C − μ i , i = 1 , 2 , . . . , N \alpha_i=C-\mu_i, i=1, 2, ..., N αi=Cμi,i=1,2,...,N。考虑到目标函数 L ( α , μ ) L(\alpha, \mu) L(α,μ) 中实际上并没有 μ i \mu_i μi,所以我们可以消去 μ i \mu_i μi,将等式 α i = C − μ i \alpha_i=C-\mu_i αi=Cμi 变成 0 ≤ α i ≤ C 0\le \alpha_i\le C 0αiC

因此,我们有如下最优化问题
max ⁡ α L ( α ) = − 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 \begin{array}{lll} &\max\limits_{\alpha}&L(\alpha)=-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j+\sum_{i=1}^N\alpha_i\\ &s.t.&\sum_{i=1}^N\alpha_iy_i=0\\ &&0\le \alpha_i\le C, i=1, 2, ..., N \end{array} αmaxs.t.L(α)=21i=1Nj=1Nαiαjyiyjxixj+i=1Nαii=1Nαiyi=00αiC,i=1,2,...,N

类似的,通过库恩塔克条件,我们有最优解 ( w ∗ , b ∗ ) (w^*, b^*) (w,b) 需要满足 w ∗ = ∑ i = 1 N α i ∗ y i x i w^*=\sum_{i=1}^N\alpha_i^*y_ix_i w=i=1Nαiyixi b ∗ = y j − ∑ i = 1 N α i ∗ y i x i ⋅ x j b^*=y_j-\sum_{i=1}^N\alpha_i^*y_ix_i\cdot x_j b=yji=1Nαiyixixj
其中, j j j 满足 0 < α j ∗ ≤ C 0<\alpha_j^*\le C 0<αjC

3. 非线性支持向量机

对于更加一般的非线性可分数据集,我们可以采用核函数方法。

这种方法的起因来自于对上述两种方法的观察得来的。

  • 线性可分支持向量机,求最优 α ∗ \alpha^* α 的问题
    max ⁡ α L ( α ) = − 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 , 2 , . . . , N \begin{array}{lll} &\max\limits_{\alpha}&L(\alpha)=-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j+\sum_{i=1}^N\alpha_i\\ &s.t.&\sum_{i=1}^N\alpha_iy_i=0\\ &&\alpha_i\ge 0, i=1, 2, ..., N \end{array} αmaxs.t.L(α)=21i=1Nj=1Nαiαjyiyjxixj+i=1Nαii=1Nαiyi=0αi0,i=1,2,...,N
  • 线性支持向量机,求最优 α ∗ \alpha^* α 的问题
    max ⁡ α L ( α ) = − 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 \begin{array}{lll} &\max\limits_{\alpha}&L(\alpha)=-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_jx_i\cdot x_j+\sum_{i=1}^N\alpha_i\\ &s.t.&\sum_{i=1}^N\alpha_iy_i=0\\ &&0\le \alpha_i\le C, i=1, 2, ..., N \end{array} αmaxs.t.L(α)=21i=1Nj=1Nαiαjyiyjxixj+i=1Nαii=1Nαiyi=00αiC,i=1,2,...,N

观察上述问题,我们发现,对于线性可分或者接近线性可分的数据集,我们关心的往往不是具体的特征 x i x_i xi,而是特征的内积 x i ⋅ x j x_i\cdot x_j xixj

当我们能够将一个线性不可分的数据,通过变换 ϕ \phi ϕ 将特征投射到另一个空间上去,从而让这些数据可分。在那个空间上,我们关心的依然只是内积 ϕ ( x i ) ⋅ ϕ ( x j ) \phi(x_i)\cdot \phi(x_j) ϕ(xi)ϕ(xj)

举一个例子。在图1中,有两类数据,标记为1的数据基本包围标记为-1的数据。可以想象,当我们把数据特征 x = ( x ( 1 ) , x ( 2 ) ) x=(x^{(1)}, x^{(2)}) x=(x(1),x(2)) 映射为 ϕ ( x ) = ( ( x ( 1 ) ) 2 , ( x ( 2 ) ) 2 ) \phi(x)=((x^{(1)})^2, (x^{(2)})^2) ϕ(x)=((x(1))2,(x(2))2),外面的一圈圆点数据会被映射到一条直线上去,而里面的×数据则被映射到该条直线的下方,如图2所示。
在这里插入图片描述
在这里插入图片描述
经过这样的映射变换之后,我们就可以在新的特征空间中按照现行可分的数据集进行处理。注意到在求解过程中,我们仅仅关心特征的内积 ϕ ( x 1 ) ⋅ ϕ ( x 2 ) \phi(x_1)\cdot \phi(x_2) ϕ(x1)ϕ(x2)

因此,我们可以求新的特征空间中的超平面。具体问题为
max ⁡ α L ( α ) = − 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 , 2 , . . . , N \begin{array}{lll} &\max\limits_{\alpha}&L(\alpha)=-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j\phi(x_i)\cdot \phi(x_j)+\sum_{i=1}^N\alpha_i\\ &s.t.&\sum_{i=1}^N\alpha_iy_i=0\\ &&\alpha_i\ge 0, i=1, 2, ..., N \end{array} αmaxs.t.L(α)=21i=1Nj=1Nαiαjyiyjϕ(xi)ϕ(xj)+i=1Nαii=1Nαiyi=0αi0,i=1,2,...,N

这样求得的 ( w ∗ , b ∗ ) (w^*, b^*) (w,b) 等于
w ∗ = ∑ i = 1 N α i ∗ y i ϕ ( x i ) w^*=\sum_{i=1}^N\alpha_i^*y_i\phi(x_i) w=i=1Nαiyiϕ(xi) b ∗ = y j − ∑ i = 1 N α i ∗ y i ϕ ( x i ) ⋅ ϕ ( x j ) b^*=y_j-\sum_{i=1}^N\alpha_i^*y_i\phi(x_i)\cdot \phi(x_j) b=yji=1Nαiyiϕ(xi)ϕ(xj)
其中, j j j 满足 α j ∗ ≥ 0 \alpha_j^*\ge 0 αj0

要求的超平面为
f ( x ) = w ∗ ⋅ ϕ ( x ) + b ∗ = ∑ i = 1 N α i ∗ y i ϕ ( x i ) ⋅ ϕ ( x ) + y j − ∑ i = 1 N α i ∗ y i ϕ ( x i ) ⋅ ϕ ( x j ) \begin{array}{lll} f(x)&=&w^*\cdot \phi(x)+b^*\\ &=&\sum_{i=1}^N\alpha_i^*y_i\phi(x_i)\cdot\phi(x)+y_j-\sum_{i=1}^N\alpha_i^*y_i\phi(x_i)\cdot \phi(x_j) \end{array} f(x)==wϕ(x)+bi=1Nαiyiϕ(xi)ϕ(x)+yji=1Nαiyiϕ(xi)ϕ(xj)

显而易见,上面的超平面表达式中依然只与内积有关。我们将这种特征内积定义为核函数 K ( x i , x j ) K(x_i, x_j) K(xi,xj),即
K ( x i , x j ) = ϕ ( x i ) ⋅ ϕ ( x j ) K(x_i, x_j)=\phi(x_i)\cdot \phi(x_j) K(xi,xj)=ϕ(xi)ϕ(xj)

上面那个例子中, ϕ ( x ) = ( ( x ( 1 ) ) 2 , ( x ( 2 ) ) 2 ) \phi(x)=((x^{(1)})^2, (x^{(2)})^2) ϕ(x)=((x(1))2,(x(2))2),这里,对应的核函数 K ( x i , x j ) = ( x 1 ( 1 ) x 2 ( 1 ) ) 2 + ( x 1 ( 2 ) x 2 ( 2 ) ) 2 K(x_i, x_j)=(x_1^{(1)}x_2^{(1)})^2+(x_1^{(2)}x_2^{(2)})^2 K(xi,xj)=(x1(1)x2(1))2+(x1(2)x2(2))2,作用就是将环形分布的数据转换为线性分布。

实际上,我们并不关心具体的特征函数 ϕ ( ⋅ ) \phi(\cdot) ϕ() 是什么,甚至于 ϕ ( ⋅ ) \phi(\cdot ) ϕ() 与核函数 K ( ⋅ , ⋅ ) K(\cdot, \cdot ) K(,) 也没有一一对应关系。上面的例子仅仅是说,这样的核函数,你可以从这样的特征函数构造,然后可以这样理解。

实际上,我们通常就是直接应用而已~

通常,我们应用的核函数为多项式核函数和高斯核函数。关于如何通过特征映射构造出多项式核函数和高斯核函数,可以参考
机器学习有很多关于核函数的说法,核函数的定义和作用是什么? - 优达学城(Udacity)的回答 - 知乎

求解 α ∗ \alpha^* α 的 SMO 算法,后面有时间再详细介绍。


http://chatgpt.dhexx.cn/article/yQhGFKin.shtml

相关文章

深度学习核心技术精讲100篇(十三)-线性可分支持向量机中KKT最有条件理解

前言 KKT最优化条件是Karush[1939],以及Kuhn和Tucker[1951]先后独立发表出來的。这组最优化条件在Kuhn和Tucker发表之后才逐渐受到重视,因此许多情况下只记载成库恩塔克条件(Kuhn-Tucker conditions) 库恩塔克条件(Kuhn-Tucker conditions)是非线性规划领域里最重要的理论…

拉格朗日函数对偶问题、KKT条件

一、概念介绍 KKT最优化条件是Karush(1939)以及Kuhn和Tucker(1951)先后独立发表出来的&#xff0c;但在Kuhn和Tucker发表之后才逐渐受到重视&#xff0c;因此多数情况下记载成库恩-塔克条件(Kuhn-Tucker conditions)。先介绍几个优化的概念。 1.1 优化 最优化问题&#xff0…

西工大机考《 现代设计方法》大作业网考

???202110?? 试卷总分:100 得分:96 一、 单选题 (共 40 道试题,共 80 分) 1.Powell改进算法是一种( )。 A.一维搜索方法 B.处理约束问题的优化方法 C.利用海森矩阵求解的无约束优化方法 D.利用梯度求解的无约束优化方法 2.下列特性中,梯度法不具有的是( )。 A.二次收…

拉格朗日乘子法和KKT 条件解析

1.最优化问题 拉格朗日乘子法和KKT条件是求解最优化问题的重要方法&#xff0c;因此&#xff0c;在正式讲解二者之前&#xff0c;要先谈一谈最优化问题。 通常&#xff0c;需要求解的最优化问题分为3类&#xff1a; 1.1. 无约束优化问题: 对于此类问题&#xff0c;可以通…

直观理解拉格朗日乘子法和Karush-Kuhn-Tucker(KKT)条件

在最优化问题中&#xff0c;经常是会有约束条件的&#xff0c;而约束条件可分为等式约束条件和不等式约束条件&#xff0c;对于前者&#xff0c;我们有拉格朗日乘子法&#xff0c;对于后者&#xff0c;有KKT条件&#xff0c;对于既有等式约束又有不等式约束的最优化问题&#x…

非线性优化问题处理技术(二) Karush–Kuhn–Tucker条件

对于只有等式约束的非线性优化问题&#xff0c;拉格朗日定理是可以适用的&#xff0c;但是当存在不等式约束时就不适用了&#xff0c;此时Karush–Kuhn–Tucker(KKT)条件是更为通用的处理技术&#xff0c;拉格朗日定理其实只是KKT条件定理的特殊情况。 KKT条件一开始称为Kuhn–…

支持向量机SVM(二)

6 拉格朗日对偶&#xff08;Lagrange duality&#xff09; 先抛开上面的二次规划问题&#xff0c;先来看看存在等式约束的极值问题求法&#xff0c;比如下面的最优化问题&#xff1a; 目标函数是f(w)&#xff0c;下面是等式约束。通常解法是引入拉格朗日算子&#xff0c;这里使…

2012年全国卷导数题与含约束的多元函数极值问题(KKT条件)

这道题目编的比较好&#xff0c;第一问就构造的特别巧妙 &#xff08;1&#xff09; f(x) f‘(1)e^(x-1) - f(0) x f(1) f(1) - f(0) 1, f(0)1 f(x) f(1)e^(x-1) - f(0)x 1/2x^2 …

运筹学教学|动态规划例题分析(一)

例题1&#xff1a; 问题描述 假设桌子上有n根火柴&#xff0c;我先手取1&#xff0c;2,…,k(k<n)根火柴&#xff0c;之后我的对手也必须取1&#xff0c;2&#xff0c;…k根火柴。双方轮换重复直到最后一根火柴被捡起来。最后一个捡起来火柴的人是输家&#xff0c;那么&…

对约束条件优化问题的理解

以二维空间 R^2 举例 无约束的优化问题注意我在图里画了等高线。此时 在局部极小值点 处的梯度必然为0&#xff0c;比较容易理解。这个梯度为零的条件是局部极小值点的必要条件。这样&#xff0c;优化问题的求解变成了对该必要条件解方程组。 2.带等式约束的优化问题, 与无约束…

数学建模 非线性规划

一.非线性规划模型 1.概念: 如果目标函数或约束条件中包含非线性函数,就称该规划问题为非线性规划问题.一般来说,求解非线性规划问题要比求解线性规划问题困难得多,也不像线性规划问题那样有单纯形法这一通用方法,各个方法都有自己的适用范围 注意:如果线性规划的最优解存在,则…

博弈论中的Stackelberg模型和库恩塔克条件如何通过Matlab求解或者数值分析?

博弈论中的Stackelberg模型和库恩塔克条件如何通过Matlab求解或者数值分析&#xff1f; 下面是两个供应链成员的利润函数&#xff0c;其中p_c和p_b为决策变量&#xff0c;其余参数均在[0,1]之间。此外&#xff0c;b为领导者&#xff0c;c为跟随者。按照逆向归纳法求解可以得到…

拉格朗日乘子库恩塔克条件

拉格朗日乘子法的证明 在学习支持向量机的时候&#xff0c;计算对偶问题时用到了拉格朗日乘子法((Lagrange multiplier method))&#xff0c;回想起高中时使用拉格朗日乘子法求不等式约束条件下的最优化问题时的困惑&#xff0c;虽然一直知道用&#xff0c;但是却不知道为什么…

库恩塔克条件

KKT条件主要涉及凸优化问题&#xff0c;学习SVM的时候求解拉格朗日函数的对偶问题时&#xff0c;需要使用KKT条件来得到最终的。 1、对于无约束问题(unconstrained minimization): 1) 一阶必要条件为&#xff1a; 2) 二阶必要条件为&#xff1a; 即Hessian半正定 2、等式约束问…

卡罗需-库恩-塔克条件

卡罗需&#xff0d;库恩&#xff0d;塔克条件 维基百科&#xff0c;自由的百科全书 在数学中&#xff0c;卡罗需-库恩-塔克条件&#xff08;英文原名: Karush-Kuhn-Tucker Conditions常见别名: Kuhn-Tucker&#xff0c;KKT条件&#xff0c;Karush-Kuhn-Tucker最优化条件&#x…

直观理解KKT条件

直观理解KKT条件 等高线 从等高线讲起。如果我们要优化 f ( x , y ) x 2 y f(x,y)x^2y f(x,y)x2y这个函数&#xff0c;给定约束为&#xff0c; x 2 y 2 1 x^2y^21 x2y21&#xff0c;我们希望在满足约束的情况下使得f最大。也就是说&#xff0c;我们希望找到一个最“上方”…

机器学习中的数学基础 5

优化问题简介 最优化定义 最优化&#xff0c;是应用数学的一个分支。主要研究在特定情况下最大化或最小化某一特定函数或变量。 数学表示&#xff1a; Y Y Y 是 随机变量 X X X 的函数&#xff0c;求 y ^ f θ ( X ) \widehat{y} f_{\theta}(X) y ​fθ​(X) &#xff0…

微信小程序真机测试 Provisional headers are shown 问题解决办法

微信开发工具请求正常&#xff0c;真机调试出现 Provisional headers are shown 图片源自&#xff1a;https://blog.csdn.net/xyphf/article/details/90045286 网上大部分原因为ssl证书问题&#xff0c;使用以下2个ssl证书检测工具 1.https://www.myssl.cn/tools/check-serve…

JS提示框效果

提示框 js事件 //提示确认删除 <a href"javascript:if(confirm(确实要删除该内容吗?))locationhttp://www.google.com">弹出窗口</a> function tusi(txt, fun) {   $(.tusi).remove();    var div $(<div style"background: url(/images/…