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 = {( x 1 , y 1 ) , ( x 2 , y 2 ) , ... , ( x N , y N )} 其中,x i ∈ X = R n x_i\in X=R^n x i ∈ X = R n ,y i ∈ Y = { + 1 , − 1 } , i = 1 , 2 , . . . , N y_i\in Y=\{+1,-1\}, i=1,2,...,N y i ∈ Y = { + 1 , − 1 } , i = 1 , 2 , ... , N ,x i x_i x i 为第i i i 个特征向量,也称为实例,y i y_i y i 为x i x_i x i 的类标记,当y i = + 1 y_i=+1 y i = + 1 时,称x i x_i x i 为正例;当y i = − 1 y_i=-1 y i = − 1 时,称x i x_i x i 为负例,( x i , y i ) (x_i,y_i) ( x i , y i ) 称为样本点。再假设训练数据集是线性可分的。
学习的目标是在特征空间中找到一个分离超平面,能将实例分到不同的类。分离超平面对应于方程w ⋅ x + b = 0 w\cdot x+b=0 w ⋅ x + b = 0 ,它由法向量w和截距b决定,可用( w , b ) (w,b) ( w , b ) 来表示。分离超平面将特征空间划分为两部分,一部分是正类,一部分是负类。法向量指向的一侧为正类,另一侧为负类。
w ∗ ⋅ x + b ∗ = 0 w^*\cdot x+b^*=0 w ∗ ⋅ x + b ∗ = 0 f ( x ) = sign ( w ∗ ⋅ x + b ∗ ) f(x)=\text{sign}(w^*\cdot x+b^*) f ( x ) = sign ( w ∗ ⋅ x + b ∗ ) 一般来说,一个点距离分离超平面的远近可以表示分类预测的确信程度 。在超平面w ⋅ x + b = 0 w\cdot x+b=0 w ⋅ x + b = 0 确定的情况下,∣ w ⋅ x + b ∣ |w\cdot x+b| ∣ w ⋅ x + b ∣ 能够相对地表示点x x x 距离超平面的远近。而w ⋅ x + b w\cdot x+b w ⋅ x + b 的符号与类标记y y y 的符号是否一致能够表示分类是否正确。所以可用量y ( w ⋅ x + b ) y(w\cdot x+b) y ( w ⋅ x + b ) 来表示分类的正确性及确信度 ,这就是函数间隔 (functional margin)的概念。
疑问:为什么∣ w ⋅ x + b ∣ |w\cdot x+b| ∣ w ⋅ x + b ∣ 能够相对地表示点x距离超平面的远近?
因为:根据点到直线的距离计算公式为:设直线L的方程为Ax+By+C=0,点P的坐标为( x 0 , y 0 ) (x_0, y_0) ( x 0 , y 0 ) ,则点P到直线L的距离为:
∣ A x 0 + B y 0 + C ∣ A 2 + B 2 = ∣ w ⋅ x + b ∣ ∣ ∣ w ∣ ∣ \frac{|Ax_0+By_0+C|}{\sqrt{A^2+B^2}}=\frac{|w\cdot x+b|}{||w||} A 2 + B 2 ∣ A x 0 + B y 0 + C ∣ = ∣∣ w ∣∣ ∣ w ⋅ x + b ∣ 对于给定的训练数据集T和超平面( w , b ) (w,b) ( w , b ) ,定义超平面( w , b ) (w,b) ( w , b ) 关于样本点( x , y ) (x,y) ( x , y ) 的函数间隔为
γ ^ i = y i ( w ⋅ x i + b ) \hat{\gamma}_i=y_i(w\cdot x_i+b) γ ^ i = y i ( w ⋅ x i + b ) 定义超平面关于训练数据集T的函数间隔为超平面( w , b ) (w,b) ( w , b ) 关于T中所有样本点( x i , y i ) (x_i,y_i) ( x i , y i ) 的函数间隔之最小值,即
γ ^ = min i = 1 , . . . , N γ ^ i \hat{\gamma}=\mathop{\text{min}}_{i=1,...,N}\hat{\gamma}_i γ ^ = min i = 1 , ... , N γ ^ i 函数间隔可以表示分类预测的正确性及确信度。但是选择分离超平面时,只有函数间隔还不够。因为只要成比例地改变w和b,例如将它们改为2w和2b,超平面并没有改变,但函数间隔却成为原来的2倍。这一事实启示我们,可以对分离超平面的法向量w加某些束,如规范化,∣ ∣ w ∣ ∣ = 1 ||w|| = 1 ∣∣ w ∣∣ = 1 ,使得间隔是确定的。这时函数间隔成为几何间隔(geometric margin)。
下图给出了超平面( w , b ) (w,b) ( w , b ) 及其法向量w。点A表示某一实例其类标记为y i = + 1 y_i=+1 y i = + 1 。点A与超平面( w , b ) (w,b) ( w , b ) 的距离由线段AB给出,记作γ i \gamma_i γ i
γ i = w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ \gamma_i=\frac{w}{||w||}\cdot x_i+\frac{b}{||w||} γ i = ∣∣ w ∣∣ w ⋅ x i + ∣∣ w ∣∣ b 其中,∣ ∣ w ∣ ∣ ||w|| ∣∣ w ∣∣ 为w的L 2 L_2 L 2 范数。这是点A在超平面正的一侧的情形。如果点Z在超平面负的一侧,即y i = − 1 y_i=-1 y i = − 1 ,那么点与超平面的距离为
γ i = − ( w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ ) \gamma_i=-\left(\frac{w}{||w||}\cdot x_i+\frac{b}{||w||}\right) γ i = − ( ∣∣ w ∣∣ w ⋅ x i + ∣∣ w ∣∣ b ) 一般地,当样本点( x i , y i ) (x_i,y_i) ( x i , y i ) 被超平面( w , b ) (w,b) ( w , b ) 正确分类时,点x i x_i x i 与超平面( w , b ) (w,b) ( w , b ) 的距离是
γ i = y i ( w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ ) \gamma_i=y_i\left(\frac{w}{||w||}\cdot x_i+\frac{b}{||w||}\right) γ i = y i ( ∣∣ w ∣∣ w ⋅ x i + ∣∣ w ∣∣ b ) 对于给定的训练数据集T和超平面( w , b ) (w,b) ( w , b ) ,定义超平面( w , b ) (w,b) ( w , b ) 关于样本点( x i , y i ) (x_i,y_i) ( x i , y i ) 的几何间隔为
γ i = y i ( w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ ) \gamma_i=y_i\left(\frac{w}{||w||}\cdot x_i+\frac{b}{||w||}\right) γ i = y i ( ∣∣ w ∣∣ w ⋅ x i + ∣∣ w ∣∣ b ) 定义超平面( w , b ) (w,b) ( w , b ) 关于训练数据集T的几何间隔为超平面( w , b ) (w,b) ( w , b ) 关于T所有样本点( x i , y i ) (x_i,y_i) ( x i , y i ) 的几何间隔之最小值,即
γ = min i = 1 , . . . , N γ i \gamma=\mathop{\text{min}}_{i=1,...,N}\gamma_i γ = min i = 1 , ... , N γ i 超平面( w , b ) (w,b) ( w , b ) 关于样本点( x i , y i ) (x_i,y_i) ( x i , y i ) 的几何间隔一般是实例点到超平面的带符号的距离(signed distance),当样本点被超平面正确分类时就是实例点到超平面的距离。
γ i = γ ^ i ∣ ∣ w ∣ ∣ γ = γ ^ ∣ ∣ w ∣ ∣ \begin{aligned}
\gamma_i&=\frac{\hat{\gamma}_i}{||w||}\\
\gamma&=\frac{\hat{\gamma}}{||w||}\\
\end{aligned} γ i γ = ∣∣ w ∣∣ γ ^ i = ∣∣ w ∣∣ γ ^ 如果∣ ∣ w ∣ ∣ = 1 ||w||=1 ∣∣ w ∣∣ = 1 ,那么函数间隔和几何间隔相等。如果超平面参数w和b成比例地改变(超平面没有改变),函数间隔也按此比例改变,而几何间隔不变。
max w , b γ s.t. y i ( w ∣ ∣ w ∣ ∣ ⋅ x i + b ∣ ∣ w ∣ ∣ ) ⩾ γ , i = 1 , 2 , . . . , N \begin{aligned}
&\mathop{\text{max}}_{w,b}\quad \gamma\\
&\text{s.t.}\quad y_i\left(\frac{w}{||w||}\cdot x_i+\frac{b}{||w||}\right)\geqslant \gamma,\ i=1,2,...,N\\
\end{aligned} max w , b γ s.t. y i ( ∣∣ w ∣∣ w ⋅ x i + ∣∣ w ∣∣ b ) ⩾ γ , i = 1 , 2 , ... , N 即我们希望最大化超平面( w , b ) (w,b) ( w , b ) 关于训练数据集的几何间隔γ \gamma γ ,约束条件表示的是超平面( w , b ) (w,b) ( w , b ) 关于每个训练样本点的几何间隔至少是γ \gamma γ 。
max w , b γ ^ ∣ ∣ w ∣ ∣ s.t. y i ( w ⋅ x i + b ) ⩾ γ ^ , i = 1 , 2 , . . . , N \begin{aligned}
&\mathop{\text{max}}_{w,b}\quad \frac{\hat{\gamma}}{||w||}\\
&\text{s.t.}\quad y_i\left(w\cdot x_i+b\right)\geqslant \hat{\gamma},\ i=1,2,...,N\\
\end{aligned} max w , b ∣∣ w ∣∣ γ ^ s.t. y i ( w ⋅ x i + b ) ⩾ γ ^ , i = 1 , 2 , ... , N 函数间隔γ ^ \hat{\gamma} γ ^ 的取值并不影响最优化问题的解。事实上,假设将w和b按比例改变为λ w \lambda w λ w 和λ b \lambda b λb ,这时函数间隔为λγ ^ \hat{\gamma} γ ^ 。函数间隔的这一改变对上面最优化问题的不等式约束没有影响,对目标函数的优化也没有影响,也就是说,它产生一个等价的最优化问题。这样,就可以取函数间隔γ ^ = 1 \hat{\gamma}=1 γ ^ = 1 。
将γ ^ = 1 \hat{\gamma}=1 γ ^ = 1 带入上面的最优化问题,注意到最大化1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} ∣∣ w ∣∣ 1 和最小化1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 2 1 ∣∣ w ∣ ∣ 2 是等价的,于是就得到下面的线性可分支持向量机学习的最优化问题
min w , b 1 2 ∣ ∣ w ∣ ∣ 2 s.t. y i ( w ⋅ x i + b ) − 1 ⩾ 0 , i = 1 , 2 , . . . , N \begin{aligned}
&\mathop{\text{min}}_{w,b}\quad \frac{1}{2}||w||^2\\
&\text{s.t.}\quad y_i\left(w\cdot x_i+b\right)-1\geqslant 0,\ i=1,2,...,N\\
\end{aligned} min w , b 2 1 ∣∣ w ∣ ∣ 2 s.t. y i ( w ⋅ x i + b ) − 1 ⩾ 0 , i = 1 , 2 , ... , N 由于min w , b 1 2 ∣ ∣ w ∣ ∣ 2 \mathop{\text{min}}_{w,b}\frac{1}{2}||w||^2 min w , b 2 1 ∣∣ w ∣ ∣ 2 是一个凸函数,所以这是一个凸二次规划问题。
min w f ( w ) s.t. g i ( w ) ⩽ 0 , i = 1 , 2 , . . . , k h i ( w ) = 0 , i = 1 , 2 , . . . , l \begin{aligned}
&\mathop{\text{min}}_{w}\quad f(w)&\\
&\text{s.t.}\ \quad g_i(w)\leqslant 0,\ i=1,2,...,k\\
&\ \ \quad \quad h_i(w)=0,\ i=1,2,...,l\\
\end{aligned} min w f ( w ) s.t. g i ( w ) ⩽ 0 , i = 1 , 2 , ... , k h i ( w ) = 0 , i = 1 , 2 , ... , l 其中,目标函数f ( w ) f(w) f ( w ) 和约束函数g i ( x ) g_i(x) g i ( x ) 都是R n R^n R n 上的连续可微的凸函数,约束函数h i ( w ) h_i(w) h i ( w ) 是R n R^n R n 上的仿射函数。
当目标函数f ( w ) f(w) f ( w ) 是二次函数且约束函数g i ( w ) g_i(w) g i ( w ) 是仿射函数时,上述凸最优化问题成了凸二次规划问题。
如果求出了约束最优化问题的解w ∗ , b ∗ w^{*}, b^{*} w ∗ , b ∗ ,那么就可以得到最大间隔分离超平面w ∗ ⋅ x + b ∗ = 0 w^*\cdot x+b^*=0 w ∗ ⋅ x + b ∗ = 0 及分类决策函数f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) f(x)=sign(w^*\cdot x+b^*) f ( x ) = s i g n ( w ∗ ⋅ x + b ∗ ) ,即线性可分支持向量机模型。
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 = {( x 1 , y 1 ) , ( x 2 , y 2 ) , ... , ( x N , y N )} 其中,x i ∈ X = R n x_i\in X=R^n x i ∈ X = R n ,y i ∈ Y = { + 1 , − 1 } , i = 1 , 2 , . . . , N y_i\in Y=\{+1,-1\}, i=1,2,...,N y i ∈ Y = { + 1 , − 1 } , i = 1 , 2 , ... , N ;
min w , b 1 2 ∣ ∣ w ∣ ∣ 2 s.t. y i ( w ⋅ x i + b ) − 1 ⩾ 0 , i = 1 , 2 , . . . , N \begin{aligned}
&\mathop{\text{min}}_{w,b}\quad \frac{1}{2}||w||^2\\
&\text{s.t.}\quad y_i\left(w\cdot x_i+b\right)-1\geqslant 0,\ i=1,2,...,N\\
\end{aligned} min w , b 2 1 ∣∣ w ∣ ∣ 2 s.t. y i ( w ⋅ x i + b ) − 1 ⩾ 0 , i = 1 , 2 , ... , N 求得最优解w ∗ , b ∗ w^{*}, b^{*} w ∗ , b ∗ 。
w ∗ ⋅ x + b ∗ = 0 w^*\cdot x+b^*=0 w ∗ ⋅ x + b ∗ = 0 f ( x ) = sign ( x ∗ ⋅ x + b ∗ ) f(x)=\text{sign}(x^*\cdot x+b^*) f ( x ) = sign ( x ∗ ⋅ x + b ∗ ) y i ( w ⋅ x i + b ) − 1 = 0 y_i(w\cdot x_i+b)-1=0 y i ( w ⋅ x i + b ) − 1 = 0 对y i = + 1 y_i=+1 y i = + 1 的正例点,支持向量在超平面H 1 : w ⋅ x + b = 1 H_1:w\cdot x+b=1 H 1 : w ⋅ x + b = 1 上,对y i = − 1 y_i=-1 y i = − 1 的负例点,支持向量在超平面H 2 : w ⋅ x + b = − 1 H_2: w\cdot x+b=-1 H 2 : w ⋅ x + b = − 1 上。如下图所示,在H 1 H_1 H 1 和H 2 H_2 H 2 上的点就是支持向量。
注意到H 1 H_1 H 1 和H 2 H_2 H 2 平行,并旦没有实例点落在它们中间。在H 1 H_1 H 1 与H 2 H_2 H 2 之间形成一条长带,分离超平面与它们平行且位于它们中央。长带的宽度,即H 1 H_1 H 1 与H 2 H_2 H 2 之间的距离称为间隔(margin)。间隔依赖于分离超平面的法向量w,等于2 ∣ ∣ w ∣ ∣ \frac{2}{||w||} ∣∣ w ∣∣ 2 ,H 1 H_1 H 1 和H 2 H_2 H 2 称为间隔边界。
首先构建拉格朗日函数。为此,对每一个不等式约束引入拉格朗日乘子α i ⩾ 0 , i = 1 , 2 , . . . , N \alpha_i\geqslant 0, i=1,2,...,N α i ⩾ 0 , i = 1 , 2 , ... , N ,定义拉格朗日函数:
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 , α ) = 2 1 ∣∣ w ∣ ∣ 2 − i = 1 ∑ N α i y i ( w ⋅ x i + b ) + i = 1 ∑ N α i 其中,α = ( α 1 , α 2 , . . . , α N ) \alpha=(\alpha_1,\alpha_2,...,\alpha_N) α = ( α 1 , α 2 , ... , α N ) 为拉格朗日乘子向量。
min w , b 1 2 ∣ ∣ w ∣ ∣ 2 s.t. y i ( w ⋅ x i + b ) − 1 ⩾ 0 , i = 1 , 2 , . . . , N \begin{aligned}
&\mathop{\text{min}}_{w,b}\quad \frac{1}{2}||w||^2\\
&\text{s.t.}\quad y_i\left(w\cdot x_i+b\right)-1\geqslant 0,\ i=1,2,...,N\\
\end{aligned} min w , b 2 1 ∣∣ w ∣ ∣ 2 s.t. y i ( w ⋅ x i + b ) − 1 ⩾ 0 , i = 1 , 2 , ... , N min w , b max λ L ( w , b , α ) s.t. α i ⩾ 0 \begin{aligned}
&\mathop{\text{min}}_{w,b}\mathop{\text{max}}_{\lambda}\quad L(w,b,\alpha)\\
&\text{s.t.}\quad \alpha_i\geqslant 0\\
\end{aligned} min w , b max λ L ( w , b , α ) s.t. α i ⩾ 0 if 1 − y i ( w T x i + b ) > 0 , max λ L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∞ = ∞ if 1 − y i ( w T x i + b ) ⩽ 0 , max λ L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 + 0 = 1 2 ∣ ∣ w ∣ ∣ 2 \begin{aligned}
&\text{if}\quad 1-y_i(w^Tx_i+b)>0,\quad \mathop{\text{max}}_{\lambda}L(w,b,\alpha)=\frac{1}{2}||w||^2+\infty=\infty\\
&\text{if}\quad 1-y_i(w^Tx_i+b)\leqslant 0,\quad \mathop{\text{max}}_{\lambda}L(w,b,\alpha)=\frac{1}{2}||w||^2+0=\frac{1}{2}||w||^2\\
\end{aligned} if 1 − y i ( w T x i + b ) > 0 , max λ L ( w , b , α ) = 2 1 ∣∣ w ∣ ∣ 2 + ∞ = ∞ if 1 − y i ( w T x i + b ) ⩽ 0 , max λ L ( w , b , α ) = 2 1 ∣∣ w ∣ ∣ 2 + 0 = 2 1 ∣∣ w ∣ ∣ 2 所以,由于满足1 − y i ( w T x i + b ) ⩽ 0 1-y_i(w^Tx_i+b)\leqslant 0 1 − y i ( w T x i + b ) ⩽ 0 ,所以是等价 的。
max α min w , b L ( w , b , α ) \mathop{\text{max}}_{\alpha}\mathop{\text{min}}_{w,b}L(w,b,\alpha) max α min w , b L ( w , b , α ) 等等,“根据拉格朗日对偶性”是什么意思?你需要看看凸优化一章。。如果拉格朗日函数具有强对偶性,那么原函数(极小极大)的最优值 p ∗ p^* p ∗ 和对偶函数(极大极小)的最优值 d ∗ d^* d ∗ 的值是一样大的。
所以,为了求得对偶问题的解,需要先求L ( w , b , α ) L(w,b,\alpha) L ( w , b , α ) 对w , b w,b w , b 的极小,再求对α \alpha α 的极大。
(1)求min w , b L ( w , b , α ) \mathop{\text{min}}_{w,b}L(w,b,\alpha) min w , b L ( w , b , α )
将拉格朗日函数L ( w , b , α ) L(w,b,\alpha) L ( w , b , α ) 分别对w , b w,b w , b 求偏导数,并令其等于0。
▽ 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 \begin{aligned}
\bigtriangledown_wL(w,b,\alpha)&=w-\sum_{i=1}^N\alpha_iy_ix_i=0\\
\bigtriangledown_bL(w,b,\alpha)&=-\sum_{i=1}^N\alpha_iy_i=0\\
\end{aligned} ▽ w L ( w , b , α ) ▽ b L ( w , b , α ) = w − i = 1 ∑ N α i y i x i = 0 = − i = 1 ∑ N α i y i = 0 w = ∑ i = 1 N α i y i x i ∑ i = 1 N α i y i = 0 \begin{aligned}
&w=\sum_{i=1}^N\alpha_iy_ix_i\\
&\sum_{i=1}^N\alpha_iy_i=0\\
\end{aligned} w = i = 1 ∑ N α i y i x i i = 1 ∑ N α i y i = 0 L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 N α i y i ( w ⋅ x i + b ) + ∑ i = 1 N α i = 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i y i ( ( ∑ j = 1 N α j y j x j ) ⋅ x i + b ) + ∑ i = 1 N α i = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i \begin{aligned}
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\\
&=\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_iy_i\left(\left( \sum_{j=1}^N\alpha_jy_jx_j \right)\cdot x_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\cdot x_j)+\sum_{i=1}^N\alpha_i\\
\end{aligned} L ( w , b , α ) = 2 1 ∣∣ w ∣ ∣ 2 − i = 1 ∑ N α i y i ( w ⋅ x i + b ) + i = 1 ∑ N α i = 2 1 i = 1 ∑ N j = 1 ∑ N α i α j y i y j ( x i ⋅ x j ) − i = 1 ∑ N α i y i ( ( j = 1 ∑ N α j y j x j ) ⋅ x i + b ) + i = 1 ∑ N α i = − 2 1 i = 1 ∑ N j = 1 ∑ N α i α j y i y j ( x i ⋅ x j ) + i = 1 ∑ N α i min w , b L ( w , b , α ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i \mathop{\text{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\cdot x_j)+\sum_{i=1}^N\alpha_i min w , b L ( w , b , α ) = − 2 1 i = 1 ∑ N j = 1 ∑ N α i α j y i y j ( x i ⋅ x j ) + i = 1 ∑ N α i (2)求min w , b L ( w , b , α ) \mathop{\text{min}}_{w,b}L(w,b,\alpha) min w , b L ( w , b , α ) 对α \alpha α 的极大,即是对偶问题
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 , 2 , . . . , N \begin{aligned}
&\mathop{\text{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.\quad \sum_{i=1}^N\alpha_iy_i=0\\
&\quad\quad\quad\alpha_i\geqslant 0,\quad i=1,2,...,N
\end{aligned} max α − 2 1 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 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 , 2 , . . . , N \begin{aligned}
&\mathop{\text{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.\quad \sum_{i=1}^N\alpha_iy_i=0\\
&\quad\quad\quad\alpha_i\geqslant 0,\quad i=1,2,...,N
\end{aligned} min α 2 1 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 考虑原始最优化问题和对偶最优化问题,原始问题满足Slater条件,使得对偶性为强对偶,所以存在w ∗ , α ∗ , β ∗ w^*, \alpha^*, \beta^* w ∗ , α ∗ , β ∗ ,使w ∗ w^* w ∗ 是原始问题的解,α ∗ , β ∗ \alpha^*, \beta^* α ∗ , β ∗ 是对偶问题的解。这意味着求解原始问题可以转换为求解对偶问题。
对线性可分训练数据集,假设对偶最优化问题对α \alpha α 的解为α ∗ = ( α 1 ∗ , α 2 ∗ , . . . , α N ∗ ) T \alpha^*=(\alpha_1^*,\alpha_2^*,...,\alpha_N^*)^T α ∗ = ( α 1 ∗ , α 2 ∗ , ... , α N ∗ ) T ,可以由α ∗ \alpha^* α ∗ 求得原始最优化问题对(w,b)的解w ∗ , b ∗ w^*,b^* w ∗ , b ∗ 。有下面的定理。
设α ∗ = ( α 1 ∗ , α 2 ∗ , . . . , α l ∗ ) T \alpha^*=(\alpha_1^*,\alpha_2^*,...,\alpha_l^*)^T α ∗ = ( α 1 ∗ , α 2 ∗ , ... , α l ∗ ) T 是对偶最优化问题的解,则存在下标j,使得α j ∗ > 0 \alpha_j^*>0 α j ∗ > 0 ,并可按下式求得原始最优化问题的解w*,b*:
w ∗ = ∑ i = 1 N α i ∗ y i x i b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) \begin{aligned}
&w^*=\sum_{i=1}^N\alpha_i^*y_ix_i\\
&b^*=y_j-\sum_{i=1}^N\alpha_i^*y_i(x_i\cdot x_j)\\
\end{aligned} w ∗ = i = 1 ∑ N α i ∗ y i x i b ∗ = y j − i = 1 ∑ N α i ∗ y i ( x i ⋅ x j ) 上式的通俗理解:把α \alpha α 理解为接触力,那接触力大于零了,不就说明正好到达约束边界了嘛,所以,此时的约束边界就是真正起作用的支持向量了。
在原函数和不等式约束是凸函数的基础上,如果满足Slater条件(存在x可以让所有不等式约束均小于零),那么强对偶性成立。则x ∗ x^* x ∗ 和α ∗ , β ∗ \alpha^*,\beta^* α ∗ , β ∗ 分别是原始问题和对偶问题的解的充分必要条件是x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x ∗ , α ∗ , β ∗ 满足下面的KKT条件:
▽ x L ( x ∗ , α ∗ , β ∗ ) = 0 ▽ α L ( x ∗ , α ∗ , β ∗ ) = 0 ▽ β L ( x ∗ , α ∗ , β ∗ ) = 0 α i ∗ c i ( x i ∗ ) = 0 , i = 1 , 2 , . . . , k KKT c i ( x ∗ ) ⩽ 0 , i = 1 , 2 , . . . , k α i ∗ ⩾ 0 i = 1 , 2 , . . . , k h j ( x ∗ ) = 0 i = 1 , 2 , . . . , l \begin{aligned}
&\bigtriangledown_xL(x^*,\alpha^*,\beta^*)=0\\
&\bigtriangledown_{\alpha}L(x^*,\alpha^*,\beta^*)=0\\
&\bigtriangledown_{\beta}L(x^*,\alpha^*,\beta^*)=0\\
&\alpha_i^*c_i(x_i^*)=0, \quad i=1,2,...,k\quad \text{KKT}\\
&c_i(x^*)\leqslant 0,\quad i=1,2,...,k\\
&\alpha_i^*\geqslant 0\quad i=1,2,...,k\\
&h_j(x^*)=0\quad i=1,2,...,l\\
\end{aligned} ▽ x L ( x ∗ , α ∗ , β ∗ ) = 0 ▽ α L ( x ∗ , α ∗ , β ∗ ) = 0 ▽ β L ( x ∗ , α ∗ , β ∗ ) = 0 α i ∗ c i ( x i ∗ ) = 0 , i = 1 , 2 , ... , k KKT c i ( x ∗ ) ⩽ 0 , i = 1 , 2 , ... , k α i ∗ ⩾ 0 i = 1 , 2 , ... , k h j ( x ∗ ) = 0 i = 1 , 2 , ... , l 特别指出,上式中的第四行称为KKT的互补松弛条件 ,粗略地讲,互补松弛条件意味着在最优点处,除了第i个约束起作用的情况(c i ( x ∗ ) = 0 c_i(x^*)=0 c i ( x ∗ ) = 0 ,即弹簧振子碰触到了边界),最优Lagrange乘子的第i项α i ∗ \alpha_i^* α i ∗ 都为零,也就是说,若α i ∗ > 0 \alpha_i^*>0 α i ∗ > 0 ,则c i ( x ∗ ) = 0 c_i(x^*)=0 c i ( x ∗ ) = 0 (即若接触力不为零,则弹簧振子接触边界)。
▽ 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 α i ∗ ( y i ( w ∗ ⋅ x i + b ∗ ) − 1 ) = 0 , i = 1 , 2 , . . . , N y i ( w ∗ x i + b ∗ ) − 1 ⩾ 0 , i = 1 , 2 , . . . , N α i ∗ ⩾ 0 , i = 1 , 2 , . . . , N \begin{aligned}
&\bigtriangledown_wL(w^*,b^*,\alpha^*)=w^*-\sum_{i=1}^N\alpha_i^*y_ix_i=0\\
&\bigtriangledown_{b}L(w^*,b^*,\alpha^*)=-\sum_{i=1}^N\alpha_iy_i=0\\
&\alpha_i^*(y_i(w^*\cdot x_i+b^*)-1)=0, \quad i=1,2,...,N\\
&y_i(w^*x_i+b^*)-1\geqslant 0,\quad i=1,2,...,N\\
&\alpha_i^*\geqslant 0,\quad i=1,2,...,N\\
\end{aligned} ▽ 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 α i ∗ ( y i ( w ∗ ⋅ x i + b ∗ ) − 1 ) = 0 , i = 1 , 2 , ... , N y i ( w ∗ x i + b ∗ ) − 1 ⩾ 0 , i = 1 , 2 , ... , N α i ∗ ⩾ 0 , i = 1 , 2 , ... , N w ∗ = ∑ i α i ∗ y i x i w^*=\sum_i\alpha_i^*y_ix_i w ∗ = i ∑ α i ∗ y i x i 其中至少有一个α j ∗ > 0 \alpha_j^*>0 α j ∗ > 0 (反证法,如果所有的α ∗ \alpha^* α ∗ 均为0,则w ∗ w^* w ∗ 为0,不是原始最优化问题的解,则产生矛盾),因此对这个j或这几个j有(根据上面的互补松弛条件,不等式变为等式,这说明处于边界上,所以其实下标j代表的点就位于边界上,也就是所谓的支持向量。所以注意观察上式,最优分界面的w的值其实并不是每一个点都在贡献的,而仅仅是由a不为零的点,也就是边界上的支撑点贡献的 ):
y j ( w ∗ ⋅ x j + b ∗ ) − 1 = 0 y_j(w^*\cdot x_j+b^*)-1=0 y j ( w ∗ ⋅ x j + b ∗ ) − 1 = 0 将上上式带入上式,并注意到y j 2 = 1 y_j^2=1 y j 2 = 1 ,即得
b ∗ = y j − w ∗ x j = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) \begin{aligned}
b^*&=y_j-w^*x_j\\
&=y_j-\sum_{i=1}^N\alpha_i^*y_i(x_i\cdot x_j)\\
\end{aligned} b ∗ = y j − w ∗ x j = y j − i = 1 ∑ N α i ∗ y i ( x i ⋅ x j ) w ∗ = ∑ i = 1 N α i ∗ y i x i b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) \begin{aligned}
&w^*=\sum_{i=1}^N\alpha_i^*y_ix_i\\
&b^*=y_j-\sum_{i=1}^N\alpha_i^*y_i(x_i\cdot x_j)\\
\end{aligned} w ∗ = i = 1 ∑ N α i ∗ y i x i b ∗ = y j − i = 1 ∑ N α i ∗ y i ( x i ⋅ x j ) ∑ i = 1 N α i ∗ y i ( x ⋅ x i ) + b ∗ = 0 \sum_{i=1}^N\alpha_i^*y_i(x\cdot x_i)+b^*=0 i = 1 ∑ N α i ∗ y i ( x ⋅ x i ) + b ∗ = 0 f ( x ) = sign ( ∑ i = 1 N α i ∗ y i ( x ⋅ x i ) + b ∗ ) f(x)=\text{sign}\left( \sum_{i=1}^N\alpha_i^*y_i(x\cdot x_i)+b^* \right) f ( x ) = sign ( i = 1 ∑ N α i ∗ y i ( x ⋅ x i ) + b ∗ ) 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 , 2 , . . . , N \begin{aligned}
&\mathop{\text{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.\quad \sum_{i=1}^N\alpha_iy_i=0\\
&\quad\quad\quad\alpha_i\geqslant 0,\quad i=1,2,...,N
\end{aligned} min α 2 1 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 的解α ∗ \alpha^* α ∗ ;再利用(KKT条件 )
w ∗ = ∑ i = 1 N α i ∗ y i x i b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) \begin{aligned}
&w^*=\sum_{i=1}^N\alpha_i^*y_ix_i\\
&b^*=y_j-\sum_{i=1}^N\alpha_i^*y_i(x_i\cdot x_j)\\
\end{aligned} w ∗ = i = 1 ∑ N α i ∗ y i x i b ∗ = y j − i = 1 ∑ N α i ∗ y i ( x i ⋅ x j ) 求得原始问题的解w ∗ , b ∗ w^*,b^* w ∗ , b ∗ ;从而得到分离超平面及分类决策函数。这种算法称为线性可分支持向量机的对偶学习算法 ,是线性可分支持向量机的基本算法。
输入:线性可分训练集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 = {( x 1 , y 1 ) , ( x 2 , y 2 ) , ... , ( x N , y N )} ,其中,x i ∈ X = R n x_i\in X=R^n x i ∈ X = R n ,y i ∈ Y = { − 1 , + 1 } y_i\in Y=\{-1,+1\} y i ∈ Y = { − 1 , + 1 } ,i = 1 , 2 , . . . , N i=1,2,...,N i = 1 , 2 , ... , N ;
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 , 2 , . . . , N \begin{aligned}
&\mathop{\text{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.\quad \sum_{i=1}^N\alpha_iy_i=0\\
&\quad\quad\quad\alpha_i\geqslant 0,\quad i=1,2,...,N
\end{aligned} min α 2 1 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 求得最优解α ∗ = ( α 1 ∗ , α 2 ∗ , . . . , α N ∗ ) T \alpha^*=(\alpha_1^*,\alpha_2^*,...,\alpha_N^*)^T α ∗ = ( α 1 ∗ , α 2 ∗ , ... , α N ∗ ) T 。
w ∗ = ∑ i = 1 N α i ∗ y i x i w^*=\sum_{i=1}^N\alpha_i^*y_ix_i w ∗ = i = 1 ∑ N α i ∗ y i x i 并选择α ∗ \alpha^* α ∗ 的一个正分量α j ∗ > 0 \alpha_j^*>0 α j ∗ > 0 ,计算
b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) b^*=y_j-\sum_{i=1}^N\alpha_i^*y_i(x_i\cdot x_j) b ∗ = y j − i = 1 ∑ N α i ∗ y i ( x i ⋅ x j ) w ∗ ⋅ x + b = 0 w^*\cdot x+b^=0 w ∗ ⋅ x + b = 0 f ( x ) = sign ( w ∗ ⋅ x + b ∗ ) f(x)=\text{sign}(w^*\cdot x+b^*) f ( x ) = sign ( w ∗ ⋅ x + b ∗ ) 在线性可分支持向量机中,由上面的(如下式)式子可知,w ∗ w^* w ∗ 和 b ∗ b^* b ∗ 只依赖于训练数据中对应于 α i ∗ > 0 \alpha_i^*>0 α i ∗ > 0 的样本点( x i , y i x_i,y_i x i , y i ),而其他样本点对 w ∗ w^* w ∗ 和 b ∗ b^* b ∗ 没有影响 。我们将训练数据中对应于α i ∗ > 0 \alpha_i^*>0 α i ∗ > 0 的实例点 x i x_i x i 称为支持向量 。
w ∗ = ∑ i = 1 N α i ∗ y i x i b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) \begin{aligned}
&w^*=\sum_{i=1}^N\alpha_i^*y_ix_i\\
&b^*=y_j-\sum_{i=1}^N\alpha_i^*y_i(x_i\cdot x_j)\\
\end{aligned} w ∗ = i = 1 ∑ N α i ∗ y i x i b ∗ = y j − i = 1 ∑ N α i ∗ y i ( x i ⋅ x j ) α i ∗ ( y i ( w ∗ ⋅ x i + b ∗ ) − 1 ) = 0 , i = 1 , 2 , . . . , N \alpha_i^*(y_i(w^*\cdot x_i+b^*)-1)=0,\quad i=1,2,...,N α i ∗ ( y i ( w ∗ ⋅ x i + b ∗ ) − 1 ) = 0 , i = 1 , 2 , ... , N 对应于α i ∗ > 0 \alpha_i^*>0 α i ∗ > 0 的实例x i x_i x i ,有
y i ( w ∗ ⋅ x i + b ∗ ) − 1 = 0 y_i(w^*\cdot x_i+b^*)-1=0 y i ( w ∗ ⋅ x i + b ∗ ) − 1 = 0 w ∗ ⋅ x i + b ∗ = ± 1 w^*\cdot x_i+b^*=\pm1 w ∗ ⋅ x i + b ∗ = ± 1 即x i x_i x i 一定在间隔边界上,这里的支持向量的定义与前面给出的支持向量的定义是一致的。