【机器学习】支持向量机【上】硬间隔
创始人
2024-04-17 03:34:49

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

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

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

支持向量机

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

在这里插入图片描述

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

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

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

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

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

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

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

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

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

在这里插入图片描述

图 2    支持向量与间隔

欲找到具有“最大间隔”(maximum margin)的划分超平面,也就是要找到能满足式 (1)(1)(1) 中约束的参数 www 和 bbb,使得 γ\gammaγ 最大,即
max⁡w,b2∣∣w∣∣s.t.yi(wTxi+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,bmax​∣∣w∣∣2​s.t.    yi​(wTxi​+b)≥1,    i=1,2,…,n
显然,为了最大化间隔,仅需最大化 ∣∣w∣∣−1||w||^{-1}∣∣w∣∣−1,这等价于最小化 ∣∣w∣∣2||w||^2∣∣w∣∣2。上式重写为
min⁡w,b12∣∣w∣∣2s.t.yi(wTxi+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,bmin​21​∣∣w∣∣2s.t.    yi​(wTxi​+b)≥1,    i=1,2,…,n(2)
如果求出了约束最优化问题式 (2)(2)(2) 的最优解 w∗w^*w∗ 和 b∗b^*b∗,那么就可以得到最大间隔划分超平面 w∗Tx+b∗=0{w^*}^Tx+b^*=0w∗Tx+b∗=0 及分类决策函数 f(x)=sign(w∗Tx+b∗)f(x)={\rm sign}({w^*}^Tx+b^*)f(x)=sign(w∗Tx+b∗),即线性可分支持向量机模型。

对偶问题

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

构建广义拉格朗日函数

L(w,b,α)=12∣∣w∣∣2+∑i=1nαi(1−yi(wTxi+b))=12∣∣w∣∣2−∑i=1nαiyi(wTxi+b)+∑i=1nα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,α)​=21​∣∣w∣∣2+i=1∑n​αi​(1−yi​(wTxi​+b))=21​∣∣w∣∣2−i=1∑n​αi​yi​(wTxi​+b)+i=1∑n​αi​​

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

根据拉格朗日对偶性,原始问题的对偶问题为
max⁡αmin⁡w,bL(w,b,α)\max_\alpha \min_{w,b}L(w, b, \alpha) αmax​w,bmin​L(w,b,α)
先求 L(w,b,α)L(w,b, \alpha)L(w,b,α) 对 www 和 bbb 的极小。将拉格朗日函数 L(w,b,α)L(w, b, \alpha)L(w,b,α) 分别对 w,bw,bw,b 求偏导并令其等于零
∇wL(w,b,α)=w−∑i=1nαiyixi=0∇bL(w,b,α)=−∑i=1nαiyi=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 ∇w​L(w,b,α)=w−i=1∑n​αi​yi​xi​=0∇b​L(w,b,α)=−i=1∑n​αi​yi​=0

w=∑i=1nαiyixi(3)w = \sum_{i=1}^n\alpha_iy_ix_i\tag{3} w=i=1∑n​αi​yi​xi​(3)

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

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

L(w,b,α)=12(∑i=1nαiyixi)T(∑j=1nαjyjxj)−∑i=1nαiyi((∑j=1nαjyjxj)Txi+b)+∑i=1nαi=12∑i=1n∑j=1nαiαjyiyj(xiTxj)−∑i=1n∑j=1nαiαjyiyj(xiTxj)−b∑i=1nαiyi+∑i=1nαi=−12∑i=1n∑j=1nαiαjyiyj(xiTxj)+∑i=1nα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=1∑n​αi​yi​xi​)T(j=1∑n​αj​yj​xj​)−i=1∑n​αi​yi​((j=1∑n​αj​yj​xj​)Txi​+b)+i=1∑n​αi​=21​i=1∑n​j=1∑n​αi​αj​yi​yj​(xiT​xj​)−i=1∑n​j=1∑n​αi​αj​yi​yj​(xiT​xj​)−bi=1∑n​αi​yi​+i=1∑n​αi​=−21​i=1∑n​j=1∑n​αi​αj​yi​yj​(xiT​xj​)+i=1∑n​αi​​

min⁡w,bL(w,b,α)=−12∑i=1n∑j=1nαiαjyiyj(xiTxj)+∑i=1nα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,bmin​L(w,b,α)=−21​i=1∑n​j=1∑n​αi​αj​yi​yj​(xiT​xj​)+i=1∑n​αi​

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

max⁡α−12∑i=1n∑j=1nαiαjyiyj(xiTxj)+∑i=1nαis.t.∑i=1nαiyi=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 αmax​−21​i=1∑n​j=1∑n​αi​αj​yi​yj​(xiT​xj​)+i=1∑n​αi​s.t.    i=1∑n​αi​yi​=0αi​≥0,    i=1,2,…,n

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

min⁡α12∑i=1n∑j=1nαiαjyiyj(xiTxj)−∑i=1nαis.t.∑i=1nαiyi=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 αmin​21​i=1∑n​j=1∑n​αi​αj​yi​yj​(xiT​xj​)−i=1∑n​αi​s.t.    i=1∑n​αi​yi​=0αi​≥0,    i=1,2,…,n

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

由于问题具有强对偶性,所以 KKT 条件成立,即得
yi(w∗Txi+b∗)−1≥0,i=1,2,…,n∇wL(w∗,b∗,α∗)=w∗−∑i=1nα∗yixi=0∇bL(w∗,b∗,α∗)=−∑i=1nα∗yi=0αi∗≥0,i=1,2,…,nαi∗(yi(w∗Txi+b∗)−1)=0,i=1,2,…,ny_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​(w∗Txi​+b∗)−1≥0,    i=1,2,…,n∇w​L(w∗,b∗,α∗)=w∗−i=1∑n​α∗yi​xi​=0∇b​L(w∗,b∗,α∗)=−i=1∑n​α∗yi​=0αi∗​≥0,    i=1,2,…,nαi∗​(yi​(w∗Txi​+b∗)−1)=0,    i=1,2,…,n
由此可得
w∗=∑i=1nαi∗yixi(5)w^* = \sum_{i=1}^n \alpha_i^*y_ix_i\tag{5} w∗=i=1∑n​αi∗​yi​xi​(5)
其中至少有一个 αj∗>0\alpha_j^*>0αj∗​>0(反证法:假设 α∗=0\alpha^*=0α∗=0,由式 (5)(5)(5) 可知 w∗=0w^*=0w∗=0,而 w∗=0w^*=0w∗=0 不是原始问题式 (2)(2)(2) 的解,产生矛盾),对此 jjj 有
yj(w∗Txj+b∗)−1=0(6)y_j({w^*}^Tx_j+b^*)-1=0\tag{6} yj​(w∗Txj​+b∗)−1=0(6)

式 (6)(6)(6) 中的样本 xjx_jxj​ 为支持向量,对于支持向量而言,其对应的 α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),并注意到 yj2=1y_j^2=1yj2​=1,即得
yi(∑i=1nαi∗yi(xiTxj)+b∗)=1∑i=1nαi∗yi(xiTxj)+b∗=yjy_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=1∑n​αi∗​yi​(xiT​xj​)+b∗)=1i=1∑n​αi∗​yi​(xiT​xj​)+b∗=yj​
解得
b∗=yj−∑i=1nαi∗yi(xiTxj)(7)b^* = y_j - \sum_{i=1}^n\alpha_i^*y_i(x_i^Tx_j) \tag{7} b∗=yj​−i=1∑n​αi∗​yi​(xiT​xj​)(7)
划分超平面可以写为
∑i=1nα∗yi(xiTx)+b∗=0\sum_{i=1}^n \alpha^* y_i(x^T_ix) + b^* = 0 i=1∑n​α∗yi​(xiT​x)+b∗=0
分类决策函数可以写为
f(x)=sign(∑i=1nα∗yi(xiTx)+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=1∑n​α∗yi​(xiT​x)+b∗)(8)
可见,分类决策函数只依赖于输入xxx 和训练样本输入的内积。式 (8)(8)(8) 称为线性可分支持向量机的对偶形式。

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

输入:线性可分训练集D={(x1,y1),⋅⋅⋅,(xn,yn)},其中xi∈Rd,yi∈{+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​)}, 其中 xi​∈Rd, yi​∈{+1,−1}, i=1,…,n

1:构造并求解约束最优化问题min⁡α12∑i=1n∑j=1nαiαjyiyj(xiTxj)−∑i=1nαis.t.∑i=1nαiyi=0αi≥0,i=1,2,…,n求得最优解α∗={αi∗},i=1,2,…,n2:计算w∗=∑i=1nαi∗yixi3:选择αj∗>0,计算b∗=yj−∑i=1nαi∗yi(xiTxj)4:求得划分超平面w∗Tx+b∗=0分类决策函数f(x)=sign(w∗Tx+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:​构造并求解约束最优化问题​αmin​21​i=1∑n​j=1∑n​αi​αj​yi​yj​(xiT​xj​)−i=1∑n​αi​s.t.    i=1∑n​αi​yi​=0αi​≥0,    i=1,2,…,n​求得最优解 α∗={αi∗​}, i=1,2,…,n计算​​w∗=i=1∑n​αi∗​yi​xi​​选择 αj∗​>0, 计算​​b∗=yj​−i=1∑n​αi∗​yi​(xiT​xj​)​求得划分超平面​​w∗Tx+b∗=0​分类决策函数​​f(x)=sign(w∗Tx+b∗)​​

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

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

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

例题:训练数据正样本是 x1=(3,3)Tx_1 = (3,3)^Tx1​=(3,3)T,x2=(4,3)Tx_2=(4,3)^Tx2​=(4,3)T,负样本是 x3=(1,1)Tx_3=(1,1)^Tx3​=(1,1)T,试用算法 111 求线性可分支持向量机。

根据所给数据,对偶问题为
min⁡α12∑i=1n∑j=1nαiαjyuyj(xiTxj)−∑i=1nαi=12(18α12+25α22+2α32+42α1α2−12α1α3−14α2α3)−α1−α2−α3s.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} αmin​s.t.​    21​i=1∑n​j=1∑n​αi​αj​yu​yj​(xiT​xj​)−i=1∑n​αi​    =21​(18α12​+25α22​+2α32​+42α1​α2​−12α1​α3​−14α2​α3​)−α1​−α2​−α3​      α1​+α2​−α3​=0      αi​≥0,    i=1,2,3​
解这一最优化问题。将 α3=α1+α2\alpha_3=\alpha_1+\alpha_2α3​=α1​+α2​ 代入目标函数并记为
s(α1,α2)=4α12+132α22+10α1α2−2α1−2α2s(\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​α2​−2α1​−2α2​
对 α1\alpha_1α1​ 和 α2\alpha_2α2​ 求偏导数并令其为 000,易知 s(α1,α2)s(\alpha_1,\alpha_2)s(α1​,α2​) 在点 (32,−1)\left(\begin{matrix} \frac{3}{2},-1 \end{matrix}\right)(23​,−1​) 取极值,但该点不满足约束条件 α2≥0\alpha_2\ge 0α2​≥0,所以最小值应在边界上达到。

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

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

相关内容

热门资讯

demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...