机器学习—支持向量机理论详细推导(含例题讲解)(三)

9.对偶算法

:构造优化问题 min ⁡ α    θ D ( α ) = 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{split} &\min_{\alpha}\;\theta_{D}(\alpha)=\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.\;\sum_{i=1}^{N}\alpha_iy_i=0\;,\;\alpha_i\geq0\;,\;i=1,2,\cdots,N \end{split} αminθD(α)=αmin21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαis.t.i=1Nαiyi=0,αi0,i=1,2,,N

我们求得的 α ∗ = ( α 1 ∗ , α 2 ∗ , ⋯   , α N ∗ ) T \alpha^{*}=(\alpha_1^{*},\alpha_2^{*},\cdots,\alpha_N^{*})^T α=(α1,α2,,αN)T,N个元素,存在 α j ∗ > 0 \alpha_j^{*}>0 αj>0 j j j对应样本点 ( x j , y j ) (x_j,y_j) (xj,yj)

(其实我们用的 ( x j , y j ) (x_j,y_j) (xj,yj)就是支持向量)。

:计算参数 ω ∗ = ∑ i = 1 N α i ∗ y i x i \omega^{*}=\sum_{i=1}^{N}\alpha_i^{*}y_ix_i ω=i=1Nαiyixi

b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) ⇒ y j − ω ∗ ⋅ x j = b ∗ ⇒ ω ∗ ⋅ x j + b ∗ = y j ∈ { − 1 , + 1 } \begin{split} &b^{*}=y_j-\sum_{i=1}^{N}\alpha_i^{*}y_i(x_i\cdot x_j)\\ \Rightarrow &y_j-\omega^{*}\cdot x_j=b^{*}\\ \Rightarrow &\omega^{*}\cdot x_j+b^{*}=y_j\in\{-1,+1\} \end{split} b=yji=1Nαiyi(xixj)yjωxj=bωxj+b=yj{1,+1}

我们上面等式恰好表示间隔边界。

如何找支持向量呢?

我们看一个例题:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JkJpx5r0-1658189645266)(3.png)]

优化问题 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 y i α i = 0    ,    α i    ,    i = 1 , 2 , 3 \begin{split} &\min\;\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.\;\sum_{i=1}^{N}y_i\alpha_i=0\;,\;\alpha_i\;,\;i=1,2,3 \end{split} min21i=1Nj=1Nαiαjyiyj(xixj)i=1Nαis.t.i=1Nyiαi=0,αi,i=1,2,3

x 1    ,    x 1 x_1\;,\;x_1 x1,x1时: α 1 α 1 y 1 y 1 ( x 1 ⋅ x 1 ) = 18 α 1 2 \alpha_1\alpha_1y_1y_1(x_1\cdot x_1)=18\alpha_1^2 α1α1y1y1(x1x1)=18α12

x 1    ,    x 2 x_1\;,\;x_2 x1,x2时:
2 α 1 α 2 y 1 y 2 ( x 1 ⋅ x 2 ) = 42 α 1 α 2 2\alpha_1\alpha_2y_1y_2(x_1\cdot x_2)=42\alpha_1\alpha_2 2α1α2y1y2(x1x2)=42α1α2

x 1    ,    x 3 x_1\;,\;x_3 x1,x3时:
2 α 1 α 3 y 1 y 3 ( x 1 ⋅ x 3 ) = − 12 α 1 α 3 2\alpha_1\alpha_3y_1y_3(x_1\cdot x_3)=-12\alpha_1\alpha_3 2α1α3y1y3(x1x3)=12α1α3

x 2    ,    x 2 x_2\;,\;x_2 x2,x2时: α 2 α 2 y 2 y 2 ( x 2 ⋅ x 2 ) = 25 α 2 2 \alpha_2\alpha_2y_2y_2(x_2\cdot x_2)=25\alpha_2^2 α2α2y2y2(x2x2)=25α22

x 2    ,    x 3 x_2\;,\;x_3 x2,x3时:
2 α 2 α 3 y 2 y 3 ( x 2 ⋅ x 3 ) = − 14 α 2 α 3 2\alpha_2\alpha_3y_2y_3(x_2\cdot x_3)=-14\alpha_2\alpha_3 2α2α3y2y3(x2x3)=14α2α3

x 3    ,    x 3 x_3\;,\;x_3 x3,x3时: α 3 α 3 y 3 y 3 ( x 3 ⋅ x 3 ) = 2 α 3 2 \alpha_3\alpha_3y_3y_3(x_3\cdot x_3)=2\alpha_3^2 α3α3y3y3(x3x3)=2α32

我们代入: ⇒ min ⁡    1 2 ( 18 α 1 2 + 25 α 2 2 + 2 α 3 2 + 42 α 1 α 2 − 12 α 1 α 3 − 14 α 2 α 3 ) − ( α 1 + α 2 + α 3 ) ∑ i = 1 N y i α i = 0 ⇒ α 1 + α 2 − α 3 = 0 \begin{split} \Rightarrow &\min\;\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)\\ &\sum_{i=1}^{N}y_i\alpha_i=0\Rightarrow \alpha_1+\alpha_2-\alpha_3=0 \end{split} min21(18α12+25α22+2α32+42α1α212α1α314α2α3)(α1+α2+α3)i=1Nyiαi=0α1+α2α3=0

我们将 α 1 + α 2 − α 3 = 0 \alpha_1+\alpha_2-\alpha_3=0 α1+α2α3=0代入计算:
⇒ min ⁡    4 α 1 2 + 13 2 α 2 2 + 10 α 1 α 2 − 2 α 1 − 2 α 2 = s ( α 1 , α 2 ) \Rightarrow \min\;4\alpha_1^2+\frac{13}{2}\alpha_2^2+10\alpha_1\alpha_2-2\alpha_1-2\alpha_2\\=s(\alpha_1,\alpha_2) min4α12+213α22+10α1α22α12α2=s(α1,α2)

我们需要找 s ( α 1 , α 2 ) s(\alpha_1,\alpha_2) s(α1,α2)的最小值。

如果求偏导数: { ∂ s ∂ α 1 = 8 α 1 + 10 α 2 − 2 = 0 ∂ s ∂ α 2 = 13 α 2 + 10 α 1 − 2 = 0 \left\{ \begin{split} &\frac{\partial s}{\partial \alpha_1}=8\alpha_1+10\alpha_2-2=0\\ &\frac{\partial s}{\partial \alpha_2}=13\alpha_2+10\alpha_1-2=0 \end{split} \right. α1s=8α1+10α22=0α2s=13α2+10α12=0

我们解出: { α 1 = 3 2 α 2 = − 1 \left\{ \begin{split} &\alpha_1=\frac{3}{2}\\ &\alpha_2=-1 \end{split} \right. α1=23α2=1

因为 α 1    ,    α 2    ,    α 3 ≥ 0 \alpha_1\;,\;\alpha_2\;,\;\alpha_3\geq0 α1,α2,α30,所以不满足条件。

如果不能使用费马原理,我们猜测是否在边界上。

(1)如果 α 1 = 0 \alpha_1=0 α1=0
s ( 0 , α 2 ) = 13 2 α 2 2 − 2 α 2 ⇒ α 2 = 2 13    ,    s = − 2 13 s(0,\alpha_2)=\frac{13}{2}\alpha_2^2-2\alpha_2\Rightarrow \alpha_2=\frac{2}{13}\;,\;s=-\frac{2}{13} s(0,α2)=213α222α2α2=132,s=132

(2)如果 α 2 = 0 \alpha_2=0 α2=0
s ( α 1 , 0 ) = 4 α 1 2 − 2 α 1 ⇒ α 1 = 1 4    ,    s = − 1 4 s(\alpha_1,0)=4\alpha_1^2-2\alpha_1\Rightarrow \alpha_1=\frac{1}{4}\;,\;s=-\frac{1}{4} s(α1,0)=4α122α1α1=41,s=41

我们解出 α 1 = 1 4    ,    α 2 = 0    ,    α 3 = 1 4 \alpha_1=\frac{1}{4}\;,\;\alpha_2=0\;,\;\alpha_3=\frac{1}{4} α1=41,α2=0,α3=41,说明 x 1 x_1 x1 x 3 x_3 x3是支持向量。

求解参数 ω ∗ = ∑ i = 1 N α i ∗ y i x i = 1 4 ( 3 , 3 ) T − 1 4 ( 1 , 1 ) T = ( 1 2 , 1 2 ) T b ∗ = y j − ω ∗ ⋅ x j ⇒ b ∗ = 1 − ( 1 2 , 1 2 ) T ⋅ ( 3 , 3 ) T = 1 − 3 = − 2    ,    j = 1 b ∗ = − 1 − ( 1 2 , 1 2 ) T ⋅ ( 1 , 1 ) T = − 1 − 1 = − 2    ,    j = 3 \begin{split} &\omega^{*}=\sum_{i=1}^{N}\alpha_i^{*}y_ix_i=\frac{1}{4}(3,3)^T-\frac{1}{4}(1,1)^T=(\frac{1}{2},\frac{1}{2})^T\\ &b^{*}=y_j-\omega^{*}\cdot x_j\\ \Rightarrow &b^{*}=1-(\frac{1}{2},\frac{1}{2})^T\cdot (3,3)^T=1-3=-2\;,\;j=1\\ &b^{*}=-1-(\frac{1}{2},\frac{1}{2})^T\cdot (1,1)^T=-1-1=-2\;,\;j=3 \end{split} ω=i=1Nαiyixi=41(3,3)T41(1,1)T=(21,21)Tb=yjωxjb=1(21,21)T(3,3)T=13=2,j=1b=1(21,21)T(1,1)T=11=2,j=3

分离超平面: 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)=sign(\frac{1}{2}x^{(1)}+\frac{1}{2}x^{(2)}-2) f(x)=sign(21x(1)+21x(2)2)

10.线性支持向量机的原始问题

训练集:
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) }    ,    x i ∈ χ ∈ R n    ,    y i ∈ { + 1 , − 1 } T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}\;,\;x_i\in\chi\in R^n\;,\;y_i\in\{+1,-1\} T={(x1,y1),(x2,y2),,(xN,yN)},xiχRn,yi{+1,1}

线性可分: y i ( ω ⋅ x i + b ) ≥ 1 ( 1 ) y i ( ω ⋅ x i + b ) + ξ i ≥ 1    ,    ξ i = ( 0 , 1 ) ( 2 ) y i ( ω ⋅ x i + b ) + ξ i ≥ 1    ,    ξ i > 1 ( 3 ) \begin{split} &y_i(\omega\cdot x_i+b)\geq1\quad(1)\\ &y_i(\omega\cdot x_i+b)+\xi_i\geq1\;,\;\xi_{i}=(0,1)\quad(2)\\ &y_i(\omega\cdot x_i+b)+\xi_i\geq1\;,\;\xi_{i}>1\quad(3) \end{split} yi(ωxi+b)1(1)yi(ωxi+b)+ξi1,ξi=(0,1)(2)yi(ωxi+b)+ξi1,ξi>1(3)

对于 ( 1 ) (1) (1)表示函数间隔 ≥ 1 \geq1 1;对于 ( 2 ) (2) (2)表示位于间隔内;对于 ( 3 ) (3) (3)表示位于间隔外(异)。

上述的分类比较有弹性,所以称为软间隔:
y i ( ω ⋅ x i + b ) + ξ i ≥ 1 y_i(\omega\cdot x_i+b)+\xi_i\geq1 yi(ωxi+b)+ξi1

ξ i \xi_i ξi叫做弹性因子,也叫松弛变量。

目标函数: 1 2 ∣ ∣ ω ∣ ∣ 2 + c ∑ i = 1 N ξ i \frac{1}{2}||\omega||^2+c\sum_{i=1}^{N}\xi_i 21∣∣ω2+ci=1Nξi

上式中, c c c表示松弛变量起作用的大小,又叫做惩罚系数。

c c c较大时,对误分类惩罚大;当 c c c较小时,取决于第一部分 1 2 ∣ ∣ ω ∣ ∣ 2 \frac{1}{2}||\omega||^2 21∣∣ω2,对误分类惩罚小。

此时我们的优化问题为: min ⁡ ω , b , ξ i    1 2 ∣ ∣ ω ∣ ∣ 2 + c ∑ i = 1 N ξ i s . t .    y i ( ω ⋅ x i + b ) + ξ i ≥ 1    ,    ξ i ≥ 0    ,    , i = 1 , 2 , ⋯   , N \begin{split} &\min_{\omega,b,\xi_i}\;\frac{1}{2}||\omega||^2+c\sum_{i=1}^{N}\xi_i\\ &s.t.\;y_i(\omega\cdot x_i+b)+\xi_i\geq1\;,\;\xi_i\geq0\;,\;,i=1,2,\cdots,N \end{split} ω,b,ξimin21∣∣ω2+ci=1Nξis.t.yi(ωxi+b)+ξi1,ξi0,,i=1,2,,N

我们接下来的目的是解 ω ∗    ,    b ∗ \omega^{*}\;,\;b^{*} ω,b

线性支持向量机的对偶问题:

我们的原始问题如下所示: 1 2 ∣ ∣ ω ∣ ∣ 2 + c ∑ i = 1 N ξ i s . t .    1 − ξ i − y i ( ω ⋅ x i + b ) ≤ 0    ,    − ξ i ≤ 0    ,    i = 1 , 2 , ⋯   , N \begin{split} &\frac{1}{2}||\omega||^2+c\sum_{i=1}^{N}\xi_i\\ &s.t.\;1-\xi_i-y_i(\omega\cdot x_i+b)\leq0\;,\;-\xi_i\leq0\;,\;i=1,2,\cdots,N \end{split} 21∣∣ω2+ci=1Nξis.t.1ξiyi(ωxi+b)0,ξi0,i=1,2,,N

得到广义拉格朗日函数为: L ( ω , b , ξ i , α , μ ) = 1 2 ∣ ∣ ω ∣ ∣ 2 + c ∑ i = 1 N ξ i + ∑ i = 1 N α i [ ( 1 − ξ i − y i ( ω ⋅ x i + b ) ) ] − ∑ i = 1 N μ i ξ i \begin{split} L(\omega,b,\xi_i,\alpha,\mu)=\frac{1}{2}||\omega||^2+c\sum_{i=1}^{N}\xi_i+\sum_{i=1}^{N}\alpha_i[(1-\xi_i-y_i(\omega\cdot x_i+b))]-\sum_{i=1}^{N}\mu_i\xi_i \end{split} L(ω,b,ξi,α,μ)=21∣∣ω2+ci=1Nξi+i=1Nαi[(1ξiyi(ωxi+b))]i=1Nμiξi

原始问题: min ⁡ ω , b , ξ i    max ⁡ α , μ    L \min_{\omega,b,\xi_i}\;\max_{\alpha,\mu}\;L ω,b,ξiminα,μmaxL

对偶问题: max ⁡ α , μ    min ⁡ ω , b , ξ i    L \max_{\alpha,\mu}\;\min_{\omega,b,\xi_i}\;L α,μmaxω,b,ξiminL

(1)内部极小化 θ D ( α , μ ) \theta_{D}(\alpha,\mu) θD(α,μ) ∂ L ∂ ω = ω − ∑ i = 1 N α i y i x i = 0 ∂ L ∂ b = − ∑ i = 1 N α i y i = 0 ∂ L ∂ ξ i = c − α i − μ i = 0    ,    , i = 1 , 2 , ⋯   , N ⇒ { ω = ∑ i = 1 N α i y i x i ∑ i = 1 N α i y i = 0 c − α i − μ i = 0    ,    i = 1 , 2 , ⋯   , N \begin{split} &\frac{\partial L}{\partial \omega}=\omega-\sum_{i=1}^{N}\alpha_iy_ix_i=0\\ &\frac{\partial L}{\partial b}=-\sum_{i=1}^{N}\alpha_iy_i=0\\ &\frac{\partial L}{\partial \xi_i}=c-\alpha_i-\mu_i=0\;,\;,i=1,2,\cdots,N\\ \Rightarrow &\left\{ \begin{split} &\omega=\sum_{i=1}^{N}\alpha_iy_ix_i\\ &\sum_{i=1}^{N}\alpha_iy_i=0\\ &c-\alpha_i-\mu_i=0\;,\;i=1,2,\cdots,N \end{split} \right. \end{split} ωL=ωi=1Nαiyixi=0bL=i=1Nαiyi=0ξiL=cαiμi=0,,i=1,2,,N ω=i=1Nαiyixii=1Nαiyi=0cαiμi=0,i=1,2,,N

代入计算: L = 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N ( c − α i − μ i ) ξ i + ∑ i = 1 N α i − ∑ i = 1 N α i y i ∑ j = 1 N α j y j ( x j ⋅ x i ) − ∑ i = 1 N α i y i b = 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N − ∑ i = 1 N α i y i ∑ j = 1 N α j y j ( x j ⋅ x i ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i = θ D ( α , μ ) \begin{split} L&=\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}(c-\alpha_i-\mu_i)\xi_i+\sum_{i=1}^{N}\alpha_i\\ &-\sum_{i=1}^{N}\alpha_iy_i\sum_{j=1}^{N}\alpha_jy_j(x_j\cdot x_i)-\sum_{i=1}^{N}\alpha_iy_ib\\ &=\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}-\sum_{i=1}^{N}\alpha_iy_i\sum_{j=1}^{N}\alpha_jy_j(x_j\cdot x_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\\ &=\theta_{D}(\alpha,\mu) \end{split} L=21i=1Nj=1Nαiαjyiyj(xixj)+i=1N(cαiμi)ξi+i=1Nαii=1Nαiyij=1Nαjyj(xjxi)i=1Nαiyib=21i=1Nj=1Nαiαjyiyj(xixj)+i=1Ni=1Nαiyij=1Nαjyj(xjxi)=21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi=θD(α,μ)

(2)外部极大化: max ⁡    θ D ( α , μ ) \max\;\theta_{D}(\alpha,\mu) maxθD(α,μ)

对偶算法: min ⁡    1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N s . t .    ∑ i = 1 N α i y i = 0    ,    0 ≤ α i ≤ c    ,    i = 1 , 2 , ⋯   , N \begin{split} &\min\;\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}\\ &s.t.\;\sum_{i=1}^{N}\alpha_iy_i=0\;,\;0\leq\alpha_i\leq c\;,\;i=1,2,\cdots,N \end{split} min21i=1Nj=1Nαiαjyiyj(xixj)i=1Ns.t.i=1Nαiyi=0,0αic,i=1,2,,N

其中, μ i = c − α i ≥ 0 ⇒ α i ≤ c \mu_i=c-\alpha_i\geq0\Rightarrow \alpha_i\leq c μi=cαi0αic

我们继续: ω ∗ − ∑ i = 1 N α i ∗ y i x i = 0 ⇒ ω ∗ = ∑ i = 1 N α i ∗ y i x i \begin{split} &\omega^{*}-\sum_{i=1}^{N}\alpha_i^{*}y_ix_i=0\\ \Rightarrow &\omega^{*}=\sum_{i=1}^{N}\alpha_i^{*}y_ix_i \end{split} ωi=1Nαiyixi=0ω=i=1Nαiyixi

对KKT条件再次使用: { α i ∗ ( 1 − ξ i − y i ( ω ∗ ⋅ x i + b ∗ ) ) = 0 − μ i ∗ ξ i ∗ = 0 1 − ξ i ∗ − y i ( ω ∗ ⋅ x i + b ∗ ) ≤ 0 α i ∗ ≥ 0 − ξ i ∗ ≤ 0 μ i ∗ ≥ 0 \left\{ \begin{split} &\alpha_i^{*}(1-\xi_i-y_i(\omega^{*}\cdot x_i+b^{*}))=0\\ &-\mu_i^{*}\xi_i^{*}=0\\ &1-\xi_i^{*}-y_i(\omega^{*}\cdot x_i+b^{*})\leq0\\ &\alpha_i^{*}\geq0\\ &-\xi_i^{*}\leq0\\ &\mu_i^{*}\geq0 \end{split} \right. αi(1ξiyi(ωxi+b))=0μiξi=01ξiyi(ωxi+b)0αi0ξi0μi0

我们知道,存在 α i > 0 \alpha_i>0 αi>0,满足软间隔的条件。发生作用的是间隔边界上的。有 ξ i ∗ = 0 \xi_i^{*}=0 ξi=0 μ i ∗ > 0 \mu_i^{*}>0 μi>0 c − μ i ∗ − α i ∗ = 0 ⇒ α i ∗ < c c-\mu_i^{*}-\alpha_i^{*}=0\Rightarrow \alpha_i^{*}<c cμiαi=0αi<c

我们得到新的约束条件为: s . t . { ∑ i = 1 N α i y i = 0 0 ≤ α i ≤ c i = 1 , 2 , ⋯   , N s.t.\left\{ \begin{split} &\sum_{i=1}^{N}\alpha_iy_i=0\\ &0\leq\alpha_i\leq c\\ &i=1,2,\cdots,N \end{split} \right. s.t. i=1Nαiyi=00αici=1,2,,N

我们计算 b ∗ b^{*} b时曾用到 y j y_j yj,实际上是间隔边界上的点,满足 ω ⋅ x + b = 1 \omega\cdot x+b=1 ωx+b=1.

我们有: y j ( ω ∗ ⋅ x j + b ∗ = 1 ⇒ ω ∗ ⋅ x j + b ∗ = 1 y j = y j ⇒ b ∗ = y j − ω ∗ ⋅ x j = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) \begin{split} &y_j(\omega^{*}\cdot x_j+b^{*}=1\\ \Rightarrow &\omega^{*}\cdot x_j+b^{*}=\frac{1}{y_j}=y_j\\ \Rightarrow &b^{*}=y_j-\omega^{*}\cdot x_j=y_j-\sum_{i=1}^{N}\alpha_i^{*}y_i(x_i\cdot x_j) \end{split} yj(ωxj+b=1ωxj+b=yj1=yjb=yjωxj=yji=1Nαiyi(xixj)

[线性支持向量机总结]

输入:训练集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\} T={(x1,y1),(x2,y2),,(xN,yN)},其中 x i ∈ R n    ,    y i ∈ { + 1 , − 1 } x_i\in R^n\;,\;y_i\in\{+1,-1\} xiRn,yi{+1,1}

输出:分离超平面与分类决策函数

算法:

:给定惩罚参数 c > 0 c>0 c>0,构造优化问题 min ⁡ α    1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − 1 2 ∑ i = 1 N α i s . t .    ∑ i = 1 N α i y i = 0    ,    0 ≤ α i ≤ c    ,    i = 1 , 2 , ⋯   , N \begin{split} &\min_{\alpha}\;\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_i\alpha_jy_iy_j(x_i\cdot x_j)-\frac{1}{2}\sum_{i=1}^{N}\alpha_i\\ &s.t.\;\sum_{i=1}^{N}\alpha_iy_i=0\;,\;0\leq\alpha_i\leq c\;,\;i=1,2,\cdots,N \end{split} αmin21i=1Nj=1Nαiαjyiyj(xixj)21i=1Nαis.t.i=1Nαiyi=0,0αic,i=1,2,,N

:求解最优化问题,得到最优解
α ∗ = ( α 1 ∗ , α 2 ∗ , ⋯   , α N ∗ ) T \alpha^{*}=(\alpha_1^{*},\alpha_2^{*},\cdots,\alpha_N^{*})^T α=(α1,α2,,αN)T

:根据 α ∗ \alpha^{*} α进行计算
ω ∗ = ∑ i = 1 N α i ∗ y i x i \omega^{*}=\sum_{i=1}^{N}\alpha_i^{*}y_ix_i ω=i=1Nαiyixi

挑出符合 0 < α i ∗ < c 0<\alpha_i^{*}<c 0<αi<c的点 ( x j , y j ) (x_j,y_j) (xj,yj)计算:
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=yji=1Nαiyi(xixj)

:得到最终结果

分离超平面: ω ∗ ⋅ x + b ∗ = 0 \omega^{*}\cdot x+b^{*}=0 ωx+b=0

决策函数: f ( x ) = s i g n ( ω ∗ ⋅ x + b ∗ ) f(x)=sign(\omega^{*}\cdot x+b^{*}) f(x)=sign(ωx+b)

我们最后提一下支持向量的定义:

11.合页损失函数

线性支持向量机学习还有另外一种解释,就是最小化以下目标函数:
∑ i = 1 N [ 1 − y i ( ω ⋅ x i + b ) ] + + λ ∣ ∣ ω ∣ ∣ 2 \sum_{i=1}^{N}[1-y_i(\omega\cdot x_i+b)]_{+}+\lambda||\omega||^2 i=1N[1yi(ωxi+b)]++λ∣∣ω2

第一项: L ( y ( ω ⋅ x + b ) ) = [ 1 − y ( ω ⋅ x + b ) ] + L(y(\omega\cdot x+b))=[1-y(\omega\cdot x+b)]_{+} L(y(ωx+b))=[1y(ωx+b)]+
称为合页损失函数。 [ z ] + = { z    ,    z > 0 0    ,    z ≤ 0 [z]_{+}=\left\{ \begin{split} &z\;,\;z>0\\ &0\;,\;z\leq0 \end{split} \right. [z]+={z,z>00,z0

线性支持向量机原始最优化问题:
min ⁡ ω , b , ξ    1 2 ∣ ∣ ω ∣ ∣ 2 + c ∑ i = 1 N ξ i \min_{\omega,b,\xi}\;\frac{1}{2}||\omega||^2+c\sum_{i=1}^{N}\xi_i ω,b,ξmin21∣∣ω2+ci=1Nξi

s . t . { y i ( ω ⋅ x i + b ) ≥ 1 − ξ i    ,    i = 1 , 2 , ⋯   , N ξ i ≥ 0    ,    i = 1 , 2 , ⋯   , N s.t.\left\{ \begin{split} &y_i(\omega \cdot x_i+b)\geq1-\xi_i\;,\;i=1,2,\cdots,N\\ &\xi_i\geq0\;,\;i=1,2,\cdots,N \end{split} \right. s.t.{yi(ωxi+b)1ξi,i=1,2,,Nξi0,i=1,2,,N

等价于:
min ⁡ ω , b    ∑ i = 1 N [ 1 − y i ( ω ⋅ x i + b ) ] + + λ ∣ ∣ ω ∣ ∣ 2 \min_{\omega,b}\;\sum_{i=1}^{N}[1-y_i(\omega\cdot x_i+b)]_{+}+\lambda||\omega||^2 ω,bmini=1N[1yi(ωxi+b)]++λ∣∣ω2

我们的推导过程如下:

我们 ξ i = [ 1 − y i ( ω ⋅ x i + b ) ] + \xi_i=[1-y_i(\omega\cdot x_i+b)]_{+} ξi=[1yi(ωxi+b)]+,取合页,考虑距离大于0的情况。
min ⁡ ω , b    1 2 ∣ ∣ ω ∣ ∣ 2 + c ∑ i = 1 N [ 1 − y i ( ω ⋅ x i + b ) ] + ⇒ c > 0 min ⁡ ω , b    ∑ i = 1 N [ 1 − y i ( ω ⋅ x i + b ) ] + + 1 2 c ∣ ∣ ω ∣ ∣ 2 ⇒ min ⁡ ω , b    ∑ i = 1 N [ 1 − y i ( ω ⋅ x i + b ) ] + + λ ∣ ∣ ω ∣ ∣ 2 \begin{split} &\min_{\omega,b}\;\frac{1}{2}||\omega||^2+c\sum_{i=1}^{N}[1-y_i(\omega\cdot x_i+b)]_{+}\\ \Rightarrow^{c>0} &\min_{\omega,b}\;\sum_{i=1}^{N}[1-y_i(\omega\cdot x_i+b)]_{+}+\frac{1}{2c}||\omega||^2\\ \Rightarrow &\min_{\omega,b}\;\sum_{i=1}^{N}[1-y_i(\omega\cdot x_i+b)]_{+}+\lambda||\omega||^2 \end{split} c>0ω,bmin21∣∣ω2+ci=1N[1yi(ωxi+b)]+ω,bmini=1N[1yi(ωxi+b)]++2c1∣∣ω2ω,bmini=1N[1yi(ωxi+b)]++λ∣∣ω2

可以看到线性支持向量机损失函数作为感知机损失函数的一个上界,所以线性支持向量机可以找到那个唯一的超平面了。

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旅途中的宽~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值