【机器学习】支持向量机【上】硬间隔

有任何的书写错误、排版错误、概念错误等,希望大家包含指正。

在阅读本篇之前建议先学习:
【机器学习】拉格朗日对偶性
【机器学习】核函数

由于字数限制,分成两篇博客。
【机器学习】支持向量机【上】硬间隔
【机器学习】支持向量机【下】软间隔与核函数

支持向量机

支持向量机(support vector machines,SVM)是一种二分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器,其决策方式与感知机一致,但是采用最大间隔的思想进行学习使它有别于感知机。支持向量机学习方法包含构建由简至繁的模型:线性可分支持向量机(linear support vector machine in linearly separable case)、线性支持向量机(linear support vector machine)以及非线性支持向量机(non-linear support vector machine)。当训练数据线性可分时,通过硬间隔最大化(hard margin maximization)学习一个线性的分类器,即线性可分支持向量机,又称为硬间隔支持向量机;当训练数据近似线性可分时,通过软间隔最大化(soft margin maximization),也学习一个线性的分类器,即线性支持向量机,又称为软间隔支持向量机;当训练数据线性不可分时,通过使用核技巧(kernel trick)及软间隔最大化,学习非线性支持向量机。

线性可分支持向量机

硬间隔最大化

给定数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x n , y n ) } D=\{(x_1,y_1),(x_2,y_2),\dots,(x_n,y_n)\} D={(x1,y1),(x2,y2),,(xn,yn)} x i ∈ R d x_i\in \mathbb R^d xiRd y i ∈ { − 1 , + 1 } y_i\in \{-1,+1\} yi{1,+1},分类学习最基本的想法就是基于训练集 D D D 在样本空间找到一个划分超平面,将不同类别的样本分开。在感知机算法中,参数初值的选取影响最终确定的划分超平面,这是因为能将训练样本分开的划分超平面可能很多,而支持向量机通过对感知机算法进一步限制,意在找到唯一“最佳”划分超平面。

【机器学习】支持向量机【上】硬间隔_第1张图片

图 1    存在多个划分超平面将两类训练样本分开

直观上看,应该去找位于两类训练样本“正中间”的划分超平面,也就是“最佳”划分超平面,即图 1 1 1 中红色直线,因为该划分超平面对训练样本局部扰动的“容忍”性最好。比如,对于绿色划分超平面而言,紧邻这些超平面的样本仅仅是发生轻微变动,便会出现越过超平面的情况,此时划分超平面将不再能将训练集正确划分,而红色划分超平面距离两类样本都比较远,分类结果受轻微变动的影响最小。换言之,红色划分超平面所产生的分类结果是最鲁棒的,泛化能力最强。

在样本空间中,划分超平面可通过如下线性方程来描述:
w T x + b = 0 w^Tx+b=0 wTx+b=0
其中 w = ( w 1 w 2 … w d ) T w=\left( \begin{matrix} w_1 & w_2 & \dots & w_d \end{matrix} \right)^T w=(w1w2wd)T 为法向量,决定了超平面的方向; b b b 为偏置项,(与 w w w 共同)决定了超平面与原点之间的距离。划分超平面可以被法向量 w w w 和偏置 b b b 确定,将超平面记为 ( w , b ) (w,b) (w,b)。样本空间中任意点 x x x 到超平面 ( w , b ) (w,b) (w,b) 的距离可写为
r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r = \frac{|w^Tx+b|}{||w||} r=wwTx+b
假设超平面 ( w , b ) (w,b) (w,b) 能将训练样本正确分类,即对于 ( x i , y i ) ∈ D (x_i,y_i)∈ D (xi,yi)D,若 y i = + 1 y_i=+1 yi=+1,则有 w T x i + b > 0 w^Tx_i+b > 0 wTxi+b>0;若 y = − 1 y=-1 y=1,则有 w T x i + b < 0 w^Tx_i+b<0 wTxi+b<0。令
{ w T x i + b ≥ + 1 , y i = + 1 w T x i + b ≤ − 1 , y i = − 1 (1) \left\{ \begin{matrix} w^Tx_i+b\ge +1,& y_i=+1\\ w^Tx_i+b\le -1,& y_i=-1\\ \end{matrix} \right.\tag{1} {wTxi+b+1,wTxi+b1,yi=+1yi=1(1)

对式 ( 1 ) (1) (1) 讲解。

由于训练集样本线性可分,所以无论两类样本有多么临近,总是可以找到一个划分超平面 ( w , b ) (w,b) (w,b),将样本正确划分且无样本落在该超平面上。

同样地,也可以找到两个分别位于划分超平面两侧且与之平行的超平面,无论两类样本有多么临近,我们都能够通过让两个超平面不断靠近划分超平面,来保证两类样本同时满足位于两个超平面的两侧,或落在两个超平面上,此时两个超平面之间的空间不存在样本。

所谓的“让两个超平面不断靠近划分超平面”,相当于让两个超平面的距离尽可能小。假设两个超平面方程为 w T x + b = C w^Tx+b=C wTx+b=C w T x + b = D w^Tx+b=D wTx+b=D,其中 C C C D D D 均为常数,且满足 C ⋅ D < 0 C·D<0 CD<0,则超平面距离表示为 ∣ C − D ∣ / ∣ ∣ w ∣ ∣ |C-D|/||w|| CD/w。可见,只要控制 w w w 尽可能大,就能够保证两个超平面距离无限小,即无限靠近。显然, C C C D D D 的具体取值不会影响分类结果,即对于 C C C D D D 任何符合条件的取值,总可以找到合适的 w w w,使两类样本分别位于两个超平面两侧或落在超平面上,此时两类样本也一定位于划分超平面两侧。当 C C C D D D 分别取为 + 1 +1 +1 − 1 -1 1 时得到式 ( 1 ) (1) (1)

如图 2 2 2 所示,距离超平面最近的这几个训练样本点使式 ( 1 ) (1) (1) 的等号成立,它们被称为“支持向量”(support vector),两个异类支持向量到超平面的距离之和为
γ = 2 ∣ ∣ w ∣ ∣ \gamma = \frac{2}{||w||} γ=w2
它被称为“间隔”(margin)。

在决定分离超平面时只有支持向量起作用,而其他样本点并不起作用。如果移动支持向量将改变所求的解;但是如果在间隔边界以外移动其他样本点,甚至去掉这些点,则解是不会改变的。由于支持向量在确定分离超平面中起着决定性作用,所以将这种分类模型称为支持向量机。支持向量的个数一般很少,所以支持向量机由很少的“重要的”训练样本确定。

【机器学习】支持向量机【上】硬间隔_第2张图片

图 2    支持向量与间隔

欲找到具有“最大间隔”(maximum margin)的划分超平面,也就是要找到能满足式 ( 1 ) (1) (1) 中约束的参数 w w w b b b,使得 γ \gamma γ 最大,即
max ⁡ w , b 2 ∣ ∣ w ∣ ∣ s . t .      y i ( w T x i + b ) ≥ 1 ,      i = 1 , 2 , … , n \max_{w,b}\frac{2}{||w||} \\ s.t.\space\space\space\space y_i(w^Tx_i+b)\ge 1,\space\space\space\space i=1,2,\dots, n w,bmaxw2s.t.    yi(wTxi+b)1,    i=1,2,,n
显然,为了最大化间隔,仅需最大化 ∣ ∣ w ∣ ∣ − 1 ||w||^{-1} w1,这等价于最小化 ∣ ∣ w ∣ ∣ 2 ||w||^2 w2。上式重写为
min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t .      y i ( w T x i + b ) ≥ 1 ,      i = 1 , 2 , … , n (2) \min_{w,b}\frac{1}{2}||w||^2 \\ s.t.\space\space\space\space y_i(w^Tx_i+b)\ge1,\space\space\space\space i=1,2,\dots, n \tag{2} w,bmin21w2s.t.    yi(wTxi+b)1,    i=1,2,,n(2)
如果求出了约束最优化问题式 ( 2 ) (2) (2) 的最优解 w ∗ w^* w b ∗ b^* b,那么就可以得到最大间隔划分超平面 w ∗ T x + b ∗ = 0 {w^*}^Tx+b^*=0 wTx+b=0 及分类决策函数 f ( x ) = s i g n ( w ∗ T x + b ∗ ) f(x)={\rm sign}({w^*}^Tx+b^*) f(x)=sign(wTx+b),即线性可分支持向量机模型。

对偶问题

注意到式 ( 2 ) (2) (2) 本身是个凸优化问题,甚至是凸二次规划问题,能直接用现成的优化计算包求解,但是我们可以考虑其对偶问题,实现更高效的求解。将式 ( 2 ) (2) (2) 作为原始最优化问题,应用拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解。这样做的优点,一是对偶问题往往更容易求解;二是自然引入核函数,进而推广到非线性分类问题。

构建广义拉格朗日函数

L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 n α i ( 1 − y i ( w T x i + b ) ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 n α i y i ( w T x i + b ) + ∑ i = 1 n α i \begin{aligned} L(w, b, \alpha) &= \frac{1}{2} ||w||^2 +\sum_{i=1}^n \alpha_i \big(1-y_i(w^Tx_i+b)\big) \\ &=\frac{1}{2} ||w||^2 -\sum_{i=1}^n \alpha_i y_i(w^Tx_i+b)+\sum_{i=1}^n \alpha_i \end{aligned} L(w,b,α)=21w2+i=1nαi(1yi(wTxi+b))=21w2i=1nαiyi(wTxi+b)+i=1nαi

其中, α = { α i } \alpha = \{\alpha_i\} α={αi} 为拉格朗日乘子,且满足 α i ≥ 0 \alpha_i\ge 0 αi0

根据拉格朗日对偶性,原始问题的对偶问题为
max ⁡ α min ⁡ w , b L ( w , b , α ) \max_\alpha \min_{w,b}L(w, b, \alpha) αmaxw,bminL(w,b,α)
先求 L ( w , b , α ) L(w,b, \alpha) L(w,b,α) w w w b b b 的极小。将拉格朗日函数 L ( w , b , α ) L(w, b, \alpha) L(w,b,α) 分别对 w , b w,b w,b 求偏导并令其等于零
∇ 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 \nabla_w L(w,b,\alpha) = w - \sum_{i=1}^n \alpha_iy_ix_i = 0 \\ \nabla_b L(w,b, \alpha) = -\sum_{i=1}^n \alpha_iy_i=0 wL(w,b,α)=wi=1nαiyixi=0bL(w,b,α)=i=1nαiyi=0

w = ∑ i = 1 n α i y i x i (3) w = \sum_{i=1}^n\alpha_iy_ix_i\tag{3} w=i=1nαiyixi(3)

∑ i = 1 n α i y i = 0 (4) \sum_{i=1}^n\alpha_iy_i = 0\tag{4} i=1nαiyi=0(4)

将式 ( 3 ) (3) (3) 代入拉格朗日函数,并利用式 ( 4 ) (4) (4),得

L ( w , b , α ) = 1 2 ( ∑ i = 1 n α i y i x i ) T ( ∑ j = 1 n α j y j x j ) − ∑ i = 1 n α i y i ( ( ∑ j = 1 n α j y j x j ) T x i + b ) + ∑ i = 1 n α i = 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j ( x i T x j ) − ∑ i = 1 n ∑ j = 1 n α i α j y i y j ( x i T x j ) − b ∑ i = 1 n α i y i + ∑ i = 1 n α i = − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j ( x i T x j ) + ∑ i = 1 n α i \begin{aligned} L(w,b, \alpha) &= \frac{1}{2} \left( \sum_{i=1}^n\alpha_iy_ix_i \right)^T\left( \sum_{j=1}^n\alpha_jy_jx_j \right) - \sum_{i=1}^n\alpha_iy_i\left( \Big( \sum_{j=1}^n \alpha_jy_jx_j \Big)^Tx_i+b \right) + \sum_{i=1}^n \alpha_i \\ &=\frac{1}{2} \sum_{i=1}^n\sum_{j=1}^n \alpha_i\alpha_jy_iy_j(x_i^Tx_j) - \sum_{i=1}^n\sum_{j=1}^n \alpha_i\alpha_jy_iy_j(x_i^Tx_j) -b\sum_{i=1}^n \alpha_iy_i + \sum_{i=1}^n \alpha_i \\ &= -\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n \alpha_i\alpha_jy_iy_j(x_i^Tx_j) +\sum_{i=1}^n \alpha_i \end{aligned} L(w,b,α)=21(i=1nαiyixi)T(j=1nαjyjxj)i=1nαiyi((j=1nαjyjxj)Txi+b)+i=1nαi=21i=1nj=1nαiαjyiyj(xiTxj)i=1nj=1nαiαjyiyj(xiTxj)bi=1nαiyi+i=1nαi=21i=1nj=1nαiαjyiyj(xiTxj)+i=1nαi

min ⁡ w , b L ( w , b , α ) = − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j ( x i T x j ) + ∑ i = 1 n α i \min_{w,b} L(w, b,\alpha) = -\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n \alpha_i\alpha_jy_iy_j(x_i^Tx_j) +\sum_{i=1}^n \alpha_i w,bminL(w,b,α)=21i=1nj=1nαiαjyiyj(xiTxj)+i=1nαi

再求 min ⁡ w , b L ( w , b , α ) \min\limits_{w,b} L(w, b,\alpha) w,bminL(w,b,α) α \alpha α 的极大,即是对偶问题

max ⁡ α − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j ( x i T x j ) + ∑ i = 1 n α i s . t .      ∑ i = 1 n α i y i = 0 α i ≥ 0 ,      i = 1 , 2 , … , n \max_\alpha -\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n \alpha_i\alpha_jy_iy_j(x_i^Tx_j) +\sum_{i=1}^n \alpha_i \\\\ s.t.\space\space\space\space \sum_{i=1}^n \alpha_iy_i = 0 \\ \alpha_i\ge0,\space\space\space\space i=1,2,\dots, n αmax21i=1nj=1nαiαjyiyj(xiTxj)+i=1nαis.t.    i=1nαiyi=0αi0,    i=1,2,,n

将目标函数转化为等价的求极小形式

min ⁡ α 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j ( x i T x j ) − ∑ i = 1 n α i s . t .      ∑ i = 1 n α i y i = 0 α i ≥ 0 ,      i = 1 , 2 , … , n \min_\alpha \frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n \alpha_i\alpha_jy_iy_j(x_i^Tx_j) -\sum_{i=1}^n \alpha_i \\\\ s.t.\space\space\space\space \sum_{i=1}^n \alpha_iy_i = 0 \\ \alpha_i\ge0,\space\space\space\space i=1,2,\dots, n αmin21i=1nj=1nαiαjyiyj(xiTxj)i=1nαis.t.    i=1nαiyi=0αi0,    i=1,2,,n

原始问题式 ( 2 ) (2) (2) 为凸优化问题,且满足 Slater 条件,所以问题具有强对偶性,而且存在 w ∗ w^* w b ∗ b^* b α ∗ \alpha^* α,使 w ∗ w^* w b ∗ b^* b 是原始问题的解, α ∗ \alpha^* α 是对偶问题的解。

由于问题具有强对偶性,所以 KKT 条件成立,即得
y i ( w ∗ T x i + b ∗ ) − 1 ≥ 0 ,      i = 1 , 2 , … , n ∇ w L ( w ∗ , b ∗ , α ∗ ) = w ∗ − ∑ i = 1 n α ∗ y i x i = 0 ∇ b L ( w ∗ , b ∗ , α ∗ ) = − ∑ i = 1 n α ∗ y i = 0 α i ∗ ≥ 0 ,      i = 1 , 2 , … , n α i ∗ ( y i ( w ∗ T x i + b ∗ ) − 1 ) = 0 ,      i = 1 , 2 , … , n y_i({w^*}^Tx_i+b^* )-1\ge 0,\space\space\space\space i=1,2,\dots,n\\\\ \nabla_{w} L(w^*,b^*,\alpha^*) = w^* - \sum_{i=1}^n\alpha^*y_ix_i = 0 \\ \nabla_{b} L(w^*,b^*,\alpha^*) = - \sum_{i=1}^n\alpha^*y_i = 0 \\ \alpha_i^*\ge 0,\space\space\space\space i=1,2,\dots,n\\ \\ \alpha_i^*\big(y_i({w^*}^Tx_i+b^* )-1 \big)=0,\space\space\space\space i=1,2,\dots,n\\ yi(wTxi+b)10,    i=1,2,,nwL(w,b,α)=wi=1nαyixi=0bL(w,b,α)=i=1nαyi=0αi0,    i=1,2,,nαi(yi(wTxi+b)1)=0,    i=1,2,,n
由此可得
w ∗ = ∑ i = 1 n α i ∗ y i x i (5) w^* = \sum_{i=1}^n \alpha_i^*y_ix_i\tag{5} w=i=1nαiyixi(5)
其中至少有一个 α j ∗ > 0 \alpha_j^*>0 αj>0(反证法:假设 α ∗ = 0 \alpha^*=0 α=0,由式 ( 5 ) (5) (5) 可知 w ∗ = 0 w^*=0 w=0,而 w ∗ = 0 w^*=0 w=0 不是原始问题式 ( 2 ) (2) (2) 的解,产生矛盾),对此 j j j
y j ( w ∗ T x j + b ∗ ) − 1 = 0 (6) y_j({w^*}^Tx_j+b^*)-1=0\tag{6} yj(wTxj+b)1=0(6)

( 6 ) (6) (6) 中的样本 x j x_j xj 为支持向量,对于支持向量而言,其对应的 α j ∗ > 0 \alpha_j^*>0 αj>0,而其他样本对应的 α i ∗ = 0 ,   i ≠ j \alpha_i^*=0,\space i\ne j αi=0, i=j。这也是 KKT 条件中的互补松弛条件的意义。

将式 ( 5 ) (5) (5) 代入式 ( 6 ) (6) (6),并注意到 y j 2 = 1 y_j^2=1 yj2=1,即得
y i ( ∑ i = 1 n α i ∗ y i ( x i T x j ) + b ∗ ) = 1 ∑ i = 1 n α i ∗ y i ( x i T x j ) + b ∗ = y j y_i\Big( \sum_{i=1}^n\alpha_i^*y_i(x_i^Tx_j)+b^* \Big) = 1 \\ \sum_{i=1}^n\alpha_i^*y_i(x_i^Tx_j)+b^* = y_j yi(i=1nαiyi(xiTxj)+b)=1i=1nαiyi(xiTxj)+b=yj
解得
b ∗ = y j − ∑ i = 1 n α i ∗ y i ( x i T x j ) (7) b^* = y_j - \sum_{i=1}^n\alpha_i^*y_i(x_i^Tx_j) \tag{7} b=yji=1nαiyi(xiTxj)(7)
划分超平面可以写为
∑ i = 1 n α ∗ y i ( x i T x ) + b ∗ = 0 \sum_{i=1}^n \alpha^* y_i(x^T_ix) + b^* = 0 i=1nαyi(xiTx)+b=0
分类决策函数可以写为
f ( x ) = s i g n ( ∑ i = 1 n α ∗ y i ( x i T x ) + b ∗ ) (8) f(x) = {\rm sign}\Big(\sum_{i=1}^n \alpha^* y_i(x^T_ix) + b^* \Big)\tag{8} f(x)=sign(i=1nαyi(xiTx)+b)(8)
可见,分类决策函数只依赖于输入 x x x 和训练样本输入的内积。式 ( 8 ) (8) (8) 称为线性可分支持向量机的对偶形式。

综上所述,对于给定的线性可分训练数据集,可以首先求对偶问题的解 α ∗ α^* α;再利用式 ( 5 ) (5) (5) 和式 ( 7 ) (7) (7) 求得原始问题的解 w ∗ w^* w b ∗ b^* b;从而得到分离超平面及分类决策函数。这种算法称为线性可分支持向量机的对偶学习算法,是线性可分支持向量机学习的基本算法。完整算法流程如下:

输入:   线 性 可 分 训 练 集   D = { ( x 1 , y 1 ) , ⋅ ⋅ ⋅ , ( x n , y n ) } ,   其 中   x i ∈ R d ,   y i ∈ { + 1 , − 1 } ,   i = 1 , … , n 过程: \begin{array}{ll} \textbf{输入:}&\space线性可分训练集\space D = \{(x_1,y_1),···,(x_n,y_n)\},\space 其中\space x_i\in \mathbb R^{d},\space y_i\in \{+1,-1\},\space i=1,\dots,n \\ \textbf{过程:} \end{array} 输入:过程: 线 D={(x1,y1),,(xn,yn)},  xiRd, yi{+1,1}, i=1,,n

1 : 构 造 并 求 解 约 束 最 优 化 问 题 min ⁡ α 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j ( x i T x j ) − ∑ i = 1 n α i s . t .      ∑ i = 1 n α i y i = 0 α i ≥ 0 ,      i = 1 , 2 , … , n 求 得 最 优 解   α ∗ = { α i ∗ } ,   i = 1 , 2 , … , n 2 : 计 算 w ∗ = ∑ i = 1 n α i ∗ y i x i 3 : 选 择   α j ∗ > 0 ,   计 算 b ∗ = y j − ∑ i = 1 n α i ∗ y i ( x i T x j ) 4 : 求 得 划 分 超 平 面 w ∗ T x + b ∗ = 0 分 类 决 策 函 数 f ( x ) = s i g n ( w ∗ T x + b ∗ ) \begin{array}{rl} 1:& 构造并求解约束最优化问题\\ \\ &\begin{array}{c} & \min \limits_\alpha \frac{1}{2}\sum \limits_{i=1}^n\sum \limits_{j=1}^n \alpha_i\alpha_jy_iy_j(x_i^Tx_j) -\sum \limits_{i=1}^n \alpha_i &\\ &s.t.\space\space\space\space \sum\limits_{i=1}^n \alpha_iy_i = 0 \\ &\alpha_i\ge0,\space\space\space\space i=1,2,\dots, n \\\\ \end{array}\\ & 求得最优解 \space \alpha^* = \{\alpha_i^*\},\space i=1,2,\dots,n \\ 2:& 计算\\ \\ &\begin{array}{c} &&w^* = \sum \limits_{i=1}^n \alpha_i^*y_ix_i \end{array}\\\\ 3:& 选择 \space \alpha_j^*>0,\space 计算\\ \\ &\begin{array}{c} &&b^* = y_j - \sum\limits_{i=1}^n\alpha_i^*y_i(x_i^Tx_j) \end{array}\\\\ 4:& 求得划分超平面\\ \\ &\begin{array}{c} &&{w^*}^Tx+b^*=0 \end{array}\\\\ & 分类决策函数\\ \\ &\begin{array}{c} &&f(x)={\rm sign}({w^*}^Tx+b^*) \end{array} \end{array} 1:2:3:4:αmin21i=1nj=1nαiαjyiyj(xiTxj)i=1nαis.t.    i=1nαiyi=0αi0,    i=1,2,,n α={αi}, i=1,2,,nw=i=1nαiyixi αj>0, b=yji=1nαiyi(xiTxj)wTx+b=0f(x)=sign(wTx+b)

输出:   划 分 超 平 面 和 分 类 决 策 函 数 \begin{array}{l} \textbf{输出:}\space 划分超平面和分类决策函数 &&&&&&&&&&&&&&&&&& \end{array} 输出: 

算法 1    线性可分支持向量机学习算法

算法 1 1 1 还遗留着一个问题, α ∗ \alpha^* α 如何求解。注意到约束最优化问题的约束条件 ∑ i = 1 n α i y i = 0 \sum_{i=1}^n\alpha_iy_i=0 i=1nαiyi=0,其中 y i = ± 1 y_i=±1 yi=±1,所以该等式约束条件可以很容易变形为一个 α i \alpha_i αi 由多个其他的 α j \alpha_j αj 表示的形式。将 α i \alpha_i αi 的表达式代入目标函数,求偏导并令偏导等于零,便可计算出 α ∗ \alpha^* α。还应该注意到问题有另外一个不等式约束条件 α i ≥ 0 \alpha_i\ge 0 αi0,所以令偏导为零计算出的 α ∗ \alpha^* α 不一定满足不等式约束,但是这也就意味着最优解在不等式约束边界(即取等)取到。具体做法见下面的例题。

例题:训练数据正样本是 x 1 = ( 3 , 3 ) T x_1 = (3,3)^T x1=(3,3)T x 2 = ( 4 , 3 ) T x_2=(4,3)^T x2=(4,3)T,负样本是 x 3 = ( 1 , 1 ) T x_3=(1,1)^T x3=(1,1)T,试用算法 1 1 1 求线性可分支持向量机。

根据所给数据,对偶问题为
min ⁡ α      1 2 ∑ i = 1 n ∑ j = 1 n α i α j y u y j ( x i T x j ) − ∑ i = 1 n α i      = 1 2 ( 18 α 1 2 + 25 α 2 2 + 2 α 3 2 + 42 α 1 α 2 − 12 α 1 α 3 − 14 α 2 α 3 ) − α 1 − α 2 − α 3 s . t .        α 1 + α 2 − α 3 = 0        α i ≥ 0 ,      i = 1 , 2 , 3 \begin{aligned} \min_\alpha & \space\space\space\space \frac{1}{2} \sum_{i=1}^n \sum_{j=1}^n\alpha_i\alpha_jy_uy_j(x_i^Tx_j)-\sum_{i=1}^n\alpha_i\\ &\space\space\space\space=\frac{1}{2} (18\alpha_1^2+25\alpha^2_2+2\alpha_3^2+42\alpha_1\alpha_2-12\alpha_1\alpha_3-14\alpha_2\alpha_3)-\alpha_1-\alpha_2-\alpha_3 \\ s.t. & \space\space\space\space\space\space \alpha_1+\alpha_2-\alpha_3=0\\ & \space\space\space\space\space\space \alpha_i\ge 0,\space\space\space\space i=1,2,3 \end{aligned} αmins.t.    21i=1nj=1nαiαjyuyj(xiTxj)i=1nαi    =21(18α12+25α22+2α32+42α1α212α1α314α2α3)α1α2α3      α1+α2α3=0      αi0,    i=1,2,3
解这一最优化问题。将 α 3 = α 1 + α 2 \alpha_3=\alpha_1+\alpha_2 α3=α1+α2 代入目标函数并记为
s ( α 1 , α 2 ) = 4 α 1 2 + 13 2 α 2 2 + 10 α 1 α 2 − 2 α 1 − 2 α 2 s(\alpha_1,\alpha_2) = 4\alpha_1^2+\frac{13}{2}\alpha_2^2 +10\alpha_1\alpha_2 - 2\alpha_1 -2\alpha_2 s(α1,α2)=4α12+213α22+10α1α22α12α2
α 1 \alpha_1 α1 α 2 \alpha_2 α2 求偏导数并令其为 0 0 0,易知 s ( α 1 , α 2 ) s(\alpha_1,\alpha_2) s(α1,α2) 在点 ( 3 2 , − 1 ) \left(\begin{matrix} \frac{3}{2},-1 \end{matrix}\right) (23,1) 取极值,但该点不满足约束条件 α 2 ≥ 0 \alpha_2\ge 0 α20,所以最小值应在边界上达到。

α 1 = 0 \alpha_1=0 α1=0 时,最小值 s ( 0 , 2 13 ) = − 2 13 s(0,\frac{2}{13})=-\frac{2}{13} s(0,132)=132;当 α 2 = 0 \alpha_2=0 α2=0 时,最小值 s ( 1 4 , 0 ) = − 1 4 s(\frac{1}{4},0)=-\frac{1}{4} s(41,0)=41。于是 s ( α 1 , α 2 ) s(\alpha_1,\alpha_2) s(α1,α2) α 1 = 1 4 \alpha_1=\frac{1}{4} α1=41 α 2 = 0 \alpha_2=0 α2=0 达到最小。此时 α 3 = α 1 + α 2 = 1 4 \alpha_3 = \alpha_1+\alpha_2=\frac{1}{4} α3=α1+α2=41

这样, α 1 ∗ = α 3 ∗ = 1 4 \alpha_1^*=\alpha_3^*=\frac{1}{4} α1=α3=41 对应的样本点 x 1 x_1 x1 x 3 x_3 x3 是支持向量。根据式 ( 5 ) (5) (5) ( 7 ) (7) (7) 计算得
w 1 ∗ = w 2 ∗ = 1 2 b ∗ = − 2 w_1^*=w_2^*=\frac{1}{2}\\ b^* = -2 w1=w2=21b=2
划分超平面为
1 2 x ( 1 ) + 1 2 x ( 2 ) − 2 = 0 \frac{1}{2} x^{(1)} + \frac{1}{2} x^{(2)} - 2 = 0 21x(1)+21x(2)2=0
分类决策函数为
f ( x ) = s i g n ( 1 2 x ( 1 ) + 1 2 x ( 2 ) − 2 ) f(x) = {\rm sign} \Big( \frac{1}{2} x^{(1)} + \frac{1}{2} x^{(2)} - 2 \Big) f(x)=sign(21x(1)+21x(2)2)

你可能感兴趣的:(【机器学习】,人工智能,机器学习,算法,分类,支持向量机)