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

news2024/10/8 17:52:11

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

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

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

支持向量机

支持向量机(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 中红色直线,因为该划分超平面对训练样本局部扰动的“容忍”性最好。比如,对于绿色划分超平面而言,紧邻这些超平面的样本仅仅是发生轻微变动,便会出现越过超平面的情况,此时划分超平面将不再能将训练集正确划分,而红色划分超平面距离两类样本都比较远,分类结果受轻微变动的影响最小。换言之,红色划分超平面所产生的分类结果是最鲁棒的,泛化能力最强。

在样本空间中,划分超平面可通过如下线性方程来描述:
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    支持向量与间隔

欲找到具有“最大间隔”(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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/60860.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

绿色荧光染料FITC-PEG-FA,Folic acid-PEG-Fluorescein,荧光素-聚乙二醇-叶酸

​ 1、名称 英文&#xff1a;FITC-PEG-FA&#xff0c;Folic acid-PEG-Fluorescein 中文&#xff1a;荧光素-聚乙二醇-叶酸 2、CAS编号&#xff1a;N/A 3、所属分类&#xff1a; Fluorescent PEG Folic acid&#xff08;FA&#xff09; PEG 4、分子量&#xff1a;可定制&a…

[附源码]计算机毕业设计网上书城网站Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Java实现猜数游戏

1 问题 编写一个Java程序&#xff0c;实现以下功能&#xff1a; 2 方法 首先导入java.util包下的Random&#xff0c;让程序随便分配给用户一个数。 再导入java.util包下的Scanner类&#xff0c;构建Scanner对象&#xff0c;以便输入。 利用Random().nextInt()生成一个随机的i…

统计学中关于自由度的详细解释以及求平均值为什么消耗自由度1

首先我们要了解自由度是什么 自由度在本科教学中一般都不会过度涉及&#xff0c;因为它给老师和学生都带来了很大的困扰&#xff0c;它本身也有一些历史遗留问题&#xff0c;有很多人给出了很多不同的出发点和解释&#xff0c;比如1946年“自由度就是二次型的秩”&#xff0c;…

Android入门第42天-Android中的Service(IntentService)

开篇 在前一篇中我们讲了bindService的使用。并且我们留下了一个念想&#xff0c;即在bindService取值时故意阻塞30秒&#xff0c;引起了一次ANR并引出了今天的章节-IntentService。 IntentService的生命周期中有一个非常好的方法-onHandleIntent方法&#xff0c;它是一个abs…

创建你的第⼀个XXL-Job分布式调度任务

文章目录一、程序讲解1. 注解介绍2. 编写代码二、执⾏器管理2.1. Appname2.2. 名称2.3. 注册⽅式2.4. 机器地址2.5. 效果图三、任务管理一、程序讲解 1. 注解介绍 在 Spring Bean 实例中&#xff0c;开发 Job ⽅法⽅式格式要求为 public ReturnT<String> execute(Stri…

ARM 重定位引入和链接脚本

一、一个事实&#xff1a;大部分指令是位置有关编码 位置无关编码(PIC&#xff0c;position independent code)&#xff1a;汇编源文件被编码成二进制可执行程序时&#xff0c;编码方式与位置&#xff08;内存地址&#xff09;无关。 位置有关编码&#xff1a;汇编源码编码成…

分布式智能家居项目雏形

需求分析 客户端进入室内后(局域网)能够主动发现服务(如: 环境服务&#xff0c;灯光服务) 各种服务可以有不同的载体(如&#xff1a;由不同设备提供) 各种服务之间&#xff0c;服务与客户端之间完全无耦合(服务可自由增减) 客户端可以是移动APP&#xff0c;也可以是桌面软件…

【计算机毕业设计】基于JSP的房产中介系统的设计与实现

分类号&#xff1a;TP315 U D C&#xff1a;D10621-408-(2007) 6032 -0 密 级&#xff1a;公 开 编 号&#xff1a;2003211030 学位论文 基于JSP的房产中介系统的设计与实现 摘要 计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。随着科学技术的不断提高&#xff…

2022SDNU-ACM结训赛题解

首先感谢一下各位出题人的精心准备、验题人的辛勤付出、以及选手的积极参加 题解 Problem A 柳予欣的归来【数学】 出题人&#xff1a; bhq 没想到一血是被打完山大的牛客比赛后来结训赛玩的wyx拿走的&#xff01; 题目描述&#xff1a; 计算(∑0<d<pd−1)m(\sum_{0…

Procreate iPad绘画教程

Procreate iPad绘画教程 通过动手绘画课程了解您需要了解的有关 Procreate 的所有信息。现在为 Procreate 5 更新 课程英文名&#xff1a;Drawing and Painting on the iPad with Procreate 此视频教程共11.0小时&#xff0c;中英双语字幕&#xff0c;画质清晰无水印&#x…

Qt第二十八章:异步

所有的数据处理都应该通过异步进行 定义信号# 自定义信号源 class QCustomSignal(QObject):signal_update_table Signal(list)signal_get_token Signal(str)signal_send_mq Signal() 处理函数 Slot()def handle_search(self):def thread_function():user_info get_use…

uImage的制作工具mkimage详解(源码编译、使用方法、添加的头解析、uImage的制作)

1、mkimage工具的源码 (1)mkimage是uboot下面的一个工具&#xff0c;用来将zImage制作成uImage&#xff0c;制作内核启动镜像(给zImage镜像添加64字节的头信息成uImage)&#xff1b; (2)mkimage的源码在"uboot/tool"目录下&#xff0c;在编译uboot时默认会编译出mkim…

假设检验(2)参数的假设检验

下面我们分情况讨论参数的假设检验问题&#xff0e; 3.2. 1 一个正态总体均值的检验&#xff08;方差已知时&#xff09; 例3.2. 1 某车间生产铜丝&#xff0c;铜丝的主要质量指标是折断力&#xff0c;根据过去的经验知该车间生产的铜丝折断力江今换了一批质量较好的原材料&am…

手把手实例教你短视频定位,人设和变现方式,学会节省半年摸索时间

手把手实例教你短视频定位,人设和变现方式,学会节省半年摸索时间 昨天在我赢助手的公开课上分享了一个变现模型&#xff0c;不光是做短视频可以用&#xff0c;在所有互联网项目都可以用。 基础概念就是单价、客户数量和时间的关系。 举个例子&#xff1a; 你的目标是一年赚1…

数据结构:二叉树的链式结构

文章目录一.前言二.二叉树遍历2.1前序遍历/先根遍历2.2中序遍历/中根遍历2.3后序遍历/后根遍历2.4层序遍历2.5二叉树的销毁三.二叉树节点个数四.二叉树叶子节点的个数五.二叉树的高度六.二叉树第K层的节点个数七.找二叉树的节点八.题目8.1判断单值二叉树8.2相同的树8.3另一棵子…

[Redis-实战] 企业常用的缓存使用方案(查询、更新、击穿、穿透、雪崩) 附源码

目录 &#x1f34a; 缓存查询策略 &#x1f369; 缓存更新策略 &#x1f36d; 缓存穿透 &#x1f363; 缓存雪崩 &#x1f355; 缓存击穿 &#x1f47e; 项目源码下载​​​​​​​ &#x1f34a; 缓存查询策略 我们要查询的业务数据并不是经常改变的, 这里我们可以放到Redis…

用visa进行仪表通信

第二份工作一直跟仪表打交道&#xff0c;用仪表来测试&#xff0c;当然主要还是搞自动化。仪表连接通信当然需要用到visa啦。 一.NI VISA的安装和TCP/IP配置 这里看到有人对于安装NI VISA介绍的很清楚&#xff0c;具体想了解就看他的吧。 NI VISA安装和TCP/IP配置 二.安装Py…

第6部分 单区域OSPF

目录 6.1 OSPF 概述 6.2 实验1&#xff1a;点到点链路上的OSPF 1.实验目的 2.实验拓扑 3.实验步骤 4.实验调试 &#xff08;1&#xff09;show ip route &#xff08;2&#xff09;show ip ospf neighbor 6.3 OSPF 命令汇总 OSPF(Open Shortest Path First&#xff0c…

Java实现 LeetCode 500.键盘行

500.键盘行 给你一个字符串数组 words &#xff0c;只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。 美式键盘 中&#xff1a; 第一行由字符 “qwertyuiop” 组成。第二行由字符 “asdfghjkl” 组成。第三行由字符 “zxcvbnm” 组成。 示例 1&…