寻找 W W W 和 b b b,使得
最小化 Minimize: 1 2 ∥ W ∥ 2 \frac12\left\|W\right\|^2 21∥W∥2
限制条件 Subject to: y i ( W T ⋅ X i + b ) ≥ 1 y_i\left(W^T·X_i+b\right)\geq1 yi(WT⋅Xi+b)≥1 i = 1 ∼ N i=1 \sim N i=1∼N
①综合两个事实,我们可以通过实数 a a a 去缩放超平面方程,使得: ( W , b ) → ( a W , a b ) \left(W,b\right)\rightarrow\left(aW,ab\right) (W,b)→(aW,ab)②最终使得缩放后的 W W W 和 b b b 能够满足在所有的支持向量上: ∣ W T ⋅ X 0 + b ∣ = 1 \left|W^T\cdot X_0+b\right|=1 ∣∣WT⋅X0+b∣∣=1③将其带入事实2的公式中,可以得到支持向量与超平面的距离为 1 ∥ W ∥ \frac1{\left\|W\right\|} ∥W∥1,最大化距离就转化为最小化 ∥ W ∥ \left\|W\right\| ∥W∥
最小化 Minimize: 1 2 ∥ W ∥ 2 + C ∑ i = 1 N ξ i \frac12\left\|W\right\|^2+C{\textstyle\sum_{i=1}^N}\xi_i 21∥W∥2+C∑i=1Nξi ( ξ i \xi_i ξi为松弛变量)
限制条件 Subject to:
a . y i ( W T ⋅ X i + b ) ≥ 1 − ξ i a.y_i\left(W^T·X_i+b\right)\geq1-\xi_i a.yi(WT⋅Xi+b)≥1−ξi i = 1 ∼ N i=1 \sim N i=1∼N
b . ξ i ≥ 0 b.\xi_i\geq0 b.ξi≥0 i = 1 ∼ N i=1 \sim N i=1∼N
我们引入了 ξ i \xi_i ξi 这个松弛变量,它的存在使得限制条件变得不那么严格了,尤其是当 ξ i \xi_i ξi 非常大的时候,限制条件 a a a 式子会很容易成立,这是因为被正确分类的依然可以保证和线性可分一样的条件,满足其 ≥ 1 \geq1 ≥1,但是对于那些被错误分配到另外一侧的,它的取值不过是加上了负号而已,可能是 − 10 -10 −10,可能是 − 100 -100 −100,但是我们也是能够找到最小的那个值,并且把 ξ i \xi_i ξi 设定得比那个值的绝对值更大,从而使得所有样本都成立。然而此时优化问题会变得非常发散,即可以想象对于一个线性不可分的问题,我们尝试使得所有样本都满足这个限制条件,最极限的时候即在无穷远处画线,所有样本归为一类,我们也能够满足条件。
因而我们在最小化目标的后面加上了这个正则项 C ∑ i = 1 N ξ i C{\textstyle\sum_{i=1}^N}\xi_i C∑i=1Nξi,通过参数 C C C 来控制两项的权重,最小化 1 2 ∥ W ∥ 2 \frac12\left\|W\right\|^2 21∥W∥2 的同时限制 ξ i \xi_i ξi 的大小。
在优化问题中, C C C 属于常数, W W W, b b b , ξ i \xi_i ξi( i = 1 ∼ N i=1 \sim N i=1∼N)为待求解的变量。
修改后的优化问题对于线性不可分样本都能找到最优解,即它仍然是凸优化中的二次规划问题,保证了局部极值就是全局最小值。
对于这些非线性情况,可以看到如果直接用直线进行拟合边界,最终效果会非常差。绝大多数算法会进而画出更加复杂的线,如椭圆,甚至更加不规则的线去拟合边界。而SVM的精髓在于它选择升维处理,对样本中所有点定义映射关系,将其投射到高维空间中,并在高维空间中寻找超平面分离样本,在低维空间线性不可分的数据集在高维空间中会有更大的几率被线性分开,当映射到无限维时,将样本线性分开的概率将为 1 1 1,其实化为简单的理解,如果我们对两个事物的更多特征有了了解,我们就更容易把他们分开,样本的维数就是样本的特征数。
最小化 Minimize: 1 2 ∥ W ∥ 2 + C ∑ i = 1 N ξ i \frac12\left\|W\right\|^2+C{\textstyle\sum_{i=1}^N}\xi_i 21∥W∥2+C∑i=1Nξi ( ξ i \xi_i ξi为松弛变量)
限制条件 Subject to:
a . y i ( W T ⋅ φ ( X i ) + b ) ≥ 1 − ξ i a.y_i\left(W^T·\varphi\left(X_i\right)+b\right)\geq1-\xi_i a.yi(WT⋅φ(Xi)+b)≥1−ξi i = 1 ∼ N i=1 \sim N i=1∼N
b . ξ i ≥ 0 b.\xi_i\geq0 b.ξi≥0 i = 1 ∼ N i=1 \sim N i=1∼N
1、线性核函数 Linear: K ( x , y ) = x T y K\left(x,y\right) = x^Ty K(x,y)=xTy
用于线性可分的情况,参数少速度快,但其实使用线性核函数就是不使用核。
2、高斯径向基和函数 Radial Basis Function RBF: K ( x , y ) = e x p ( − ∣ ∣ x − y ∣ ∣ 2 2 δ 2 ) K\left(x,y\right)=exp\left(-\frac{\left|\left|x-y\right|\right|^2}{2\delta^2}\right) K(x,y)=exp(−2δ2∣∣x−y∣∣2)
参数少,性能较好,优先使用RBF。
3、多项式核函数 Polynomial: K ( x , y ) = ( a x T y + c ) d K\left(x,y\right) = (ax^Ty+c)^d K(x,y)=(axTy+c)d
属于有限维,性能较好,但是参数较多。
4、神经元核函数 Sigmoid: K ( x , y ) = t a n h ( a x T y + c ) K\left(x,y\right) = tanh(ax^Ty+c) K(x,y)=tanh(axTy+c)
被大量用于深度学习的激活函数。
最小化 Minimize: f ( w ) f\left(w\right) f(w)
限制条件 Subject to: g i ( w ) ≤ 0 ( i = 1 ∼ K ) g_i\left(w\right)\leq0 (i=1\sim K) gi(w)≤0(i=1∼K) h i ( w ) = 0 ( i = 1 ∼ M ) h_i\left(w\right)=0 (i=1\sim M) hi(w)=0(i=1∼M)
定义一个函数: L ( w , α , β ) = f ( w ) + ∑ i = 1 K α i g i ( w ) + ∑ i = 1 M β i h i ( w ) L\left(w,\alpha,\beta\right)=f\left(w\right)+\sum_{i=1}^K\alpha_ig_i\left(w\right)+\sum_{i=1}^M\beta_ih_i\left(w\right) L(w,α,β)=f(w)+i=1∑Kαigi(w)+i=1∑Mβihi(w) L ( w , α , β ) = f ( w ) + α T g ( w ) + β T h ( w ) ( 均 为 列 向 量 ) L\left(w,\alpha,\beta\right)=f\left(w\right)+\alpha^Tg\left(w\right)+\beta^Th\left(w\right)(均为列向量) L(w,α,β)=f(w)+αTg(w)+βTh(w)(均为列向量)
最大化 Maximize: θ ( α , β ) = i n f 所 有 定 义 域 内 的 w L ( w , α , β ) \theta\left(\alpha,\beta\right)=\underset{\mathrm{所有定义域内的}w}{inf}L\left(w,\alpha,\beta\right) θ(α,β)=所有定义域内的winfL(w,α,β)
在限定 α \alpha α 和 β \beta β 取值的情况下,去遍历所有的 w w w ,对于所有的 w w w 求得最小值。
接着在外层对于所有的 α \alpha α 和 β \beta β 求最大值。
限制条件 Subject to: α i ≥ 0 ( i = 1 ∼ K ) \alpha_i\geq0(i=1\sim K) αi≥0(i=1∼K)
原问题与对偶问题的关系:如果 w ∗ w^* w∗ 是原问题的解, α ∗ \alpha^* α∗ 和 β ∗ \beta^* β∗ 是对偶问题的解,则有 f ( w ∗ ) ≥ θ ( α ∗ , β ∗ ) f\left(w^*\right)\geq\theta\left(\alpha^*,\beta^*\right) f(w∗)≥θ(α∗,β∗)
证明: θ ( α ∗ , β ∗ ) = i n f 所 有 定 义 域 内 的 w L ( w , α ∗ , β ∗ ) ≤ L ( w ∗ , α ∗ , β ∗ ) \theta\left(\alpha^*,\beta^*\right)=\underset{\mathrm{所有定义域内的}w}{inf}L\left(w,\alpha^*,\beta^*\right)\leq L\left(w^*,\alpha^*,\beta^*\right) θ(α∗,β∗)=所有定义域内的winfL(w,α∗,β∗)≤L(w∗,α∗,β∗)
即我们把对偶问题的解 α ∗ \alpha^* α∗ 和 β ∗ \beta^* β∗ 代进去,它右边一定会 ≤ \leq ≤ 原问题的解 w ∗ w^* w∗ 再带进去的值,因为 i n f inf inf 就是取所有 w w w 取值代入后最小的值,而原问题的解代进去要么就是那个最小值取 = = =,要么就是比它大取 > > >,接着
L ( w ∗ , α ∗ , β ∗ ) = f ( w ∗ ) + α ∗ T ⏟ ≥ 0 g ( w ∗ ) ⏟ ≤ 0 + β ∗ T h ( w ∗ ) ⏟ = 0 ≤ f ( w ∗ ) L\left(w^*,\alpha^*,\beta^*\right)=f\left(w^*\right)+\underbrace{\alpha^{\ast T}}_{\geq0}\underbrace{g\left(w^\ast\right)}_{\leq0}+\beta^{\ast T}\underbrace{h\left(w^\ast\right)}_{=0} \leq f\left(w^*\right) L(w∗,α∗,β∗)=f(w∗)+≥0 α∗T≤0 g(w∗)+β∗T=0 h(w∗)≤f(w∗)
原问题与对偶问题的间距 Duality Gap: G = f ( w ∗ ) − θ ( α ∗ , β ∗ ) ≥ 0 G=f\left(w^*\right)-\theta\left(\alpha^*,\beta^*\right)\geq0 G=f(w∗)−θ(α∗,β∗)≥0
G则被称作原问题与对偶问题的间距,对于某些特定的优化问题,我们可以证明: G = 0 G=0 G=0
强对偶定理:
若 f ( w ) f\left(w\right) f(w) 为凸函数: 凸 函 数 定 义 为 : 对 ∀ w 1 , w 2 , 凸函数定义为:对 \forall w_1,w_2, 凸函数定义为:对∀w1,w2, f ( λ w 1 + ( 1 − λ ) w 2 ) ≤ λ f ( w 1 ) + ( 1 − λ ) f ( w 2 ) ( λ ∈ [ 0 , 1 ] ) f\left(\lambda w_1+\left(1-\lambda\right)w_2\right)\leq\lambda f\left(w_1\right)+\left(1-\lambda\right)f\left(w_2\right) (\lambda\in\lbrack0,1\rbrack) f(λw1+(1−λ)w2)≤λf(w1)+(1−λ)f(w2)(λ∈[0,1])
且 g ( w ) = A w + b , h ( w ) = C w + d g\left(w\right)=Aw+b,h\left(w\right)=Cw+d g(w)=Aw+b,h(w)=Cw+d,
则此优化问题的原问题和对偶问题间距为 0 0 0 ,即: f ( w ∗ ) = θ ( α ∗ , β ∗ ) f\left(w^*\right)=\theta\left(\alpha^*,\beta^*\right) f(w∗)=θ(α∗,β∗)
KKT条件:
在满足强对偶关系时,即满足 f ( w ∗ ) = θ ( α ∗ , β ∗ ) f\left(w^*\right)=\theta\left(\alpha^*,\beta^*\right) f(w∗)=θ(α∗,β∗) 时,结合 L ( w ∗ , α ∗ , β ∗ ) = f ( w ∗ ) + α ∗ T ⏟ ≥ 0 g ( w ∗ ) ⏟ ≤ 0 + β ∗ T h ( w ∗ ) ⏟ = 0 ≤ f ( w ∗ ) L\left(w^*,\alpha^*,\beta^*\right)=f\left(w^*\right)+\underbrace{\alpha^{\ast T}}_{\geq0}\underbrace{g\left(w^\ast\right)}_{\leq0}+\beta^{\ast T}\underbrace{h\left(w^\ast\right)}_{=0} \leq f\left(w^*\right) L(w∗,α∗,β∗)=f(w∗)+≥0 α∗T≤0 g(w∗)+β∗T=0 h(w∗)≤f(w∗)
可以得知,对于 ∀ i = 1 ∼ K \forall i=1 \sim K ∀i=1∼K,要么 α i ∗ = 0 \alpha^*_i=0 αi∗=0 ,要么 g i ∗ = 0 g^*_i=0 gi∗=0
最小化 Minimize: 1 2 ∥ W ∥ 2 + C ∑ i = 1 N ξ i \frac12\left\|W\right\|^2+C{\textstyle\sum_{i=1}^N}\xi_i 21∥W∥2+C∑i=1Nξi ( ξ i \xi_i ξi为松弛变量)
限制条件 Subject to:
a . y i ( W T ⋅ φ ( X i ) + b ) ≥ 1 − ξ i a.y_i\left(W^T·\varphi\left(X_i\right)+b\right)\geq1-\xi_i a.yi(WT⋅φ(Xi)+b)≥1−ξi i = 1 ∼ N i=1 \sim N i=1∼N
b . ξ i ≥ 0 b.\xi_i\geq0 b.ξi≥0 i = 1 ∼ N i=1 \sim N i=1∼N
最小化 Minimize: f ( w ) f\left(w\right) f(w)
限制条件 Subject to: g i ( w ) ≤ 0 ( i = 1 ∼ K ) g_i\left(w\right)\leq0 (i=1\sim K) gi(w)≤0(i=1∼K) h i ( w ) = 0 ( i = 1 ∼ M ) h_i\left(w\right)=0 (i=1\sim M) hi(w)=0(i=1∼M)
我们可以得到:
① f ( w ) = 1 2 ∥ W ∥ 2 + C ∑ i = 1 N ξ i f\left(w\right)=\frac12\left\|W\right\|^2+C{\textstyle\sum_{i=1}^N}\xi_i f(w)=21∥W∥2+C∑i=1Nξi
② g 1 ( w ) g_1\left(w\right) g1(w) 对应 y i ( W T ⋅ φ ( X i ) + b ) ≥ 1 − ξ i y_i\left(W^T·\varphi\left(X_i\right)+b\right)\geq1-\xi_i yi(WT⋅φ(Xi)+b)≥1−ξi
③ g 2 ( w ) g_2\left(w\right) g2(w) 对应 ξ i ≥ 0 \xi_i\geq0 ξi≥0
我们的 f ( w ) f\left(w\right) f(w) 可以证明为凸函数,但是对比限制条件发现符号不一致,我们稍微进行修改:
①对所有的 ξ i \xi_i ξi 取反,使得 ξ i ≤ 0 \xi_i \leq 0 ξi≤0
②为了保证优化问题不发生改变,对 f ( w ) f\left(w\right) f(w) 也要变号: f ( w ) = 1 2 ∥ W ∥ 2 − C ∑ i = 1 N ξ i f\left(w\right)=\frac12\left\|W\right\|^2-C{\textstyle\sum_{i=1}^N}\xi_i f(w)=21∥W∥2−C∑i=1Nξi
③同时限制条件 a a a 经过变号移项后得到: 1 + ξ i − y i ( W T ⋅ φ ( X i ) + b ) ≤ 0 1+\xi_i-y_i\left(W^T·\varphi\left(X_i\right)+b\right)\leq0 1+ξi−yi(WT⋅φ(Xi)+b)≤0
此时我们再次与原问题标准定义对比, g ( w ) g\left(w\right) g(w) 对应着两个限制条件,没有 h ( w ) h\left(w\right) h(w):
① f ( w ) = 1 2 ∥ W ∥ 2 − C ∑ i = 1 N ξ i f\left(w\right)=\frac12\left\|W\right\|^2-C{\textstyle\sum_{i=1}^N}\xi_i f(w)=21∥W∥2−C∑i=1Nξi
② g 1 ( w ) ≤ 0 g_1\left(w\right)\leq0 g1(w)≤0 对应 1 + ξ i − y i ( W T ⋅ φ ( X i ) + b ) ≤ 0 1+\xi_i-y_i\left(W^T·\varphi\left(X_i\right)+b\right)\leq0 1+ξi−yi(WT⋅φ(Xi)+b)≤0
③ g 2 ( w ) ≤ 0 g_2\left(w\right)\leq0 g2(w)≤0 对应 ξ i ≤ 0 \xi_i \leq 0 ξi≤0
将原问题代入对偶问题的表达式中展开:
最 大 化 : θ ( α , β ) = i n f 所 有 定 义 域 内 的 w L ( w , α , β ) 最大化 :\theta\left(\alpha,\beta\right)=\underset{\mathrm{所有定义域内的}w}{inf}L\left(w,\alpha,\beta\right) 最大化:θ(α,β)=所有定义域内的winfL(w,α,β) L ( w , α , β ) = f ( w ) + ∑ i = 1 K α i g i ( w ) + ∑ i = 1 M β i h i ( w ) L\left(w,\alpha,\beta\right)=f\left(w\right)+\sum_{i=1}^K\alpha_ig_i\left(w\right)+\sum_{i=1}^M\beta_ih_i\left(w\right) L(w,α,β)=f(w)+i=1∑Kαigi(w)+i=1∑Mβihi(w) { f ( w ) = 1 2 ∥ W ∥ 2 − C ∑ i = 1 N ξ i { g 1 ( w ) = 1 + ξ i − y i ( W T ⋅ φ ( X i ) + b ) g 2 ( w ) = ξ i \left\{\begin{array}{l}{f\left(w\right)=\frac12\left\|W\right\|^2-C{\textstyle\sum_{i=1}^N}\xi_i}\\\left\{\begin{array}{l}{g_1\left(w\right)=1+\xi_i-y_i\left(W^T·\varphi\left(X_i\right)+b\right)}\\{g_2\left(w\right)=\xi_i }\end{array}\right.\end{array}\right. ⎩⎨⎧f(w)=21∥W∥2−C∑i=1Nξi{ g1(w)=1+ξi−yi(WT⋅φ(Xi)+b)g2(w)=ξi
我们得到的是:
最 大 化 : θ ( α , β ) = i n f { 1 2 ∥ W ∥ 2 − C ∑ i = 1 N ξ i + ∑ i = 1 N α i [ 1 + ξ i − y i ⋅ ( W T ⋅ φ ( x i ) + b ) ] + ∑ i = 1 N β i ξ i } 最大化:\theta\left(\alpha,\beta\right)=inf\left\{\frac12\left\|W\right\|^2-C{\textstyle\sum_{i=1}^N}\xi_i+{\textstyle\sum_{i=1}^N}\alpha_i\left[1+\xi_i-y_i\cdot\left(W^T\cdot\varphi\left(x_i\right)+b\right)\right]+{\textstyle\sum_{i=1}^N}\beta_i\xi_i\right\} 最大化:θ(α,β)=inf{ 21∥W∥2−C∑i=1Nξi+∑i=1Nαi[1+ξi−yi⋅(WT⋅φ(xi)+b)]+∑i=1Nβiξi} 限 制 条 件 为 : α i ≥ 0 , β i ≥ 0 ( i = 1 ∼ N ) 限制条件为:\alpha_i \geq0,\beta_i \geq0(i=1\sim N) 限制条件为:αi≥0,βi≥0(i=1∼N)
遍历所有的 w , ξ i , b w,\xi_i,b w,ξi,b, L ( w , α , β ) L\left(w,\alpha,\beta\right) L(w,α,β)中的 α \alpha α 对应这里面的 α \alpha α 和 β \beta β,这是因为 α \alpha α 在 L L L 中对应着不等式的部分, β \beta β 在 L L L 中对应着等式的部分,在这个优化问题中没有出现。
对原方程求偏导,偏导都为 0 0 0 的点即为极值点:
对于向量求导: ∂ f ∂ W = [ ∂ f ∂ W i ] = [ ∂ f ∂ W 1 ⋮ ∂ f ∂ W N ] ( i = 1 ∼ N ) \frac{\partial f}{\partial W}=\left[\frac{\partial f}{\partial W_i}\right]=\begin{bmatrix}\frac{\partial f}{\partial W_1}\\\vdots\\\frac{\partial f}{\partial W_N}\end{bmatrix}(i=1\sim N) ∂W∂f=[∂Wi∂f]=⎣⎢⎡∂W1∂f⋮∂WN∂f⎦⎥⎤(i=1∼N)
对 w , ξ i , b w,\xi_i,b w,ξi,b 三个参数求偏导: ∂ L ∂ w = 0 ⇒ w − ∑ i = 1 N α i y i φ ( X i ) ⇒ w = ∑ i = 1 N α i y i φ ( X i ) \frac{\partial L}{\partial w}=0\Rightarrow w-{\textstyle\sum_{i=1}^N}\alpha_iy_i\varphi\left(X_i\right)\Rightarrow w={\textstyle\sum_{i=1}^N}{\textstyle{\scriptstyle\alpha}_i}{\textstyle{\scriptstyle y}_i}{\textstyle\varphi}{\textstyle\left(X_i\right)} ∂w∂L=0⇒w−∑i=1Nαiyiφ(Xi)⇒w=∑i=1Nαiyiφ(Xi) ∂ L ∂ b = 0 ⇒ − ∑ i = 1 N α i y i = 0 ⇒ ∑ i = 1 N α i y i = 0 \frac{\partial L}{\partial b}=0\Rightarrow-{\textstyle\sum_{i=1}^N}{\textstyle{\scriptstyle\alpha}_i}{\textstyle{\scriptstyle y}_i}=0\Rightarrow{\textstyle\sum_{i=1}^N}{\textstyle{\scriptstyle\alpha}_i}{\textstyle{\scriptstyle y}_i}{\textstyle=}{\textstyle0} ∂b∂L=0⇒−∑i=1Nαiyi=0⇒∑i=1Nαiyi=0 ∂ L ∂ ξ i = 0 ⇒ ∑ i = 1 N C = ∑ i = 1 N α i + ∑ i = 1 N β i ⇒ C − α i − β i = 0 ( i = 1 ∼ N ) \frac{\partial L}{\partial\xi_i}=0\Rightarrow{\textstyle\sum_{i=1}^N}C={\textstyle\sum_{i=1}^N}\alpha_i+{\textstyle\sum_{i=1}^N}{\textstyle\beta_i}\Rightarrow C-\alpha_i-\beta_i=0(i=1\sim N) ∂ξi∂L=0⇒∑i=1NC=∑i=1Nαi+∑i=1Nβi⇒C−αi−βi=0(i=1∼N)
将其得到的偏导为 0 0 0 的表达式代入 θ ( α , β ) \theta\left(\alpha,\beta\right) θ(α,β) 中化简得到:
θ ( α , β ) = ∑ i = 1 N α i + 1 2 ∥ W ∥ 2 − ∑ i = 1 N α i y i W T φ ( X i ) \theta\left(\alpha,\beta\right)={\textstyle\sum_{i=1}^N}\alpha_i+\frac12\left\|W\right\|^2-{\textstyle\sum_{i=1}^N}\alpha_iy_iW^T\varphi\left(X_i\right) θ(α,β)=∑i=1Nαi+21∥W∥2−∑i=1NαiyiWTφ(Xi)其中:
1 2 ∥ W ∥ 2 = 1 2 W T W = 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j φ T ( X i ) φ ( X j ) \frac12\left\|W\right\|^2=\frac12W^TW=\frac12{\textstyle\sum_{i=1}^N}{\textstyle\sum_{j=1}^N}\alpha_i\alpha_jy_iy_j\varphi^T\left(X_i\right)\varphi\left(X_j\right) 21∥W∥2=21WTW=21∑i=1N∑j=1NαiαjyiyjφT(Xi)φ(Xj) φ T ( X i ) φ ( X j ) \varphi^T\left(X_i\right)\varphi\left(X_j\right) φT(Xi)φ(Xj)正好是核函数 K ( X i , X j ) K\left(X_i,X_j\right) K(Xi,Xj),消掉了 φ \varphi φ
对于另一项:
∑ i = 1 N α i y i W T φ ( X i ) = ∑ i = 1 N ∑ j = 1 N α i α j y i y j φ T ( X i ) φ ( X j ) {\textstyle\sum_{i=1}^N}\alpha_iy_iW^T\varphi\left(X_i\right)={\textstyle\sum_{i=1}^N}{\textstyle\sum_{j=1}^N}\alpha_i\alpha_jy_iy_j\varphi^T\left(X_i\right)\varphi\left(X_j\right) ∑i=1NαiyiWTφ(Xi)=∑i=1N∑j=1NαiαjyiyjφT(Xi)φ(Xj)这里恰好又一次出现核函数 K ( X i , X j ) K\left(X_i,X_j\right) K(Xi,Xj),消掉了 φ T ( X i ) φ ( X j ) \varphi^T\left(X_i\right)\varphi\left(X_j\right) φT(Xi)φ(Xj)
整理后代入 θ ( α , β ) \theta\left(\alpha,\beta\right) θ(α,β) 得到:
最 大 化 : θ ( α ) = ∑ i = 1 N α i + 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( X i , X j ) 最大化:\theta\left(\alpha\right)={\textstyle\sum_{i=1}^N}\alpha_i+\frac12{\textstyle\sum_{i=1}^N}{\textstyle\sum_{j=1}^N}\alpha_i\alpha_jy_iy_jK\left(X_i,X_j\right) 最大化:θ(α)=∑i=1Nαi+21∑i=1N∑j=1NαiαjyiyjK(Xi,Xj) 限 制 条 件 : ① 0 ≤ α ≤ C , ② ∑ i = 1 N α i y i = 0 限制条件:①0\leq \alpha\leq C,②{\textstyle\sum_{i=1}^N}\alpha_iy_i=0 限制条件:①0≤α≤C,②∑i=1Nαiyi=0
其中第一个限制条件结合了 α i ≥ 0 \alpha_i \geq0 αi≥0, β i ≥ 0 \beta_i \geq0 βi≥0 以及 C − α i − β i = 0 C-\alpha_i-\beta_i=0 C−αi−βi=0,第二个限制条件就是 ∂ L ∂ b = 0 \frac{\partial L}{\partial b}=0 ∂b∂L=0 的结果。
将原问题整理到这个表达式之后,即可使用 S M O SMO SMO 算法求解优化后的 α \alpha α 参数,最终我们可以利用这个优化后的 α \alpha α 结合核函数对新的样本进行分类。
巧妙避开求 W W W 的过程:
若 样 本 线 性 可 分 , 则 对 于 ∀ i = 1 ∼ N 都 有 : 若样本线性可分,则对于 \forall i=1 \sim N都有: 若样本线性可分,则对于∀i=1∼N都有: a . 若 y i = + 1 , 则 W T ⋅ X + b ≥ 0 a. 若 y_i =+1,则W^T·X+b\geq0 a.若yi=+1,则WT⋅X+b≥0 b . 若 y i = − 1 , 则 W T ⋅ X + b ≤ 0 b. 若 y_i =-1,则W^T·X+b\leq0 b.若yi=−1,则WT⋅X+b≤0
这里将 X X X 替换成 φ ( X ) \varphi\left(X\right) φ(X),则可得到:
W T ⋅ φ ( X ) = ∑ i = 1 N [ α i y i φ ( X i ) ] T φ ( X ) = ∑ i = 1 N α i y i K ( X i , X ) W^T\cdot\varphi\left(X\right)={\textstyle\sum_{i=1}^N}\left[\alpha_iy_i\varphi\left(X_i\right)\right]^T\varphi\left(X\right)={\textstyle\sum_{i=1}^N}\alpha_iy_iK\left(X_i,X\right) WT⋅φ(X)=∑i=1N[αiyiφ(Xi)]Tφ(X)=∑i=1NαiyiK(Xi,X)
此时即完成了避开对 W W W 求解也能得到答案。
使用KKT条件求解 b b b:
对于 ∀ i = 1 ∼ K \forall i=1 \sim K ∀i=1∼K,要么 α i ∗ = 0 \alpha^*_i=0 αi∗=0 ,要么 g i ∗ = 0 g^*_i=0 gi∗=0
在这个优化问题中: θ ( α , β ) = i n f { 1 2 ∥ W ∥ 2 − C ∑ i = 1 N ξ i + ∑ i = 1 N α i [ 1 + ξ i − y i ⋅ ( W T ⋅ φ ( x i ) + b ) ] + ∑ i = 1 N β i ξ i } \theta\left(\alpha,\beta\right)=inf\left\{\frac12\left\|W\right\|^2-C{\textstyle\sum_{i=1}^N}\xi_i+{\textstyle\sum_{i=1}^N}\alpha_i\left[1+\xi_i-y_i\cdot\left(W^T\cdot\varphi\left(x_i\right)+b\right)\right]+{\textstyle\sum_{i=1}^N}\beta_i\xi_i\right\} θ(α,β)=inf{ 21∥W∥2−C∑i=1Nξi+∑i=1Nαi[1+ξi−yi⋅(WT⋅φ(xi)+b)]+∑i=1Nβiξi}遍历所有的 w , ξ i , b w,\xi_i,b w,ξi,b, L ( w , α , β ) L\left(w,\alpha,\beta\right) L(w,α,β)中的 α \alpha α 对应这里面的 α \alpha α 和 β \beta β,
我们可以得到:
①要么 β i = 0 \beta_i=0 βi=0 ,要么 ξ i = 0 \xi_i =0 ξi=0
②要么 α i = 0 \alpha_i=0 αi=0,要么 1 + ξ i − y i ⋅ ( W T ⋅ φ ( x i ) + b ) = 0 1+\xi_i-y_i\cdot\left(W^T\cdot\varphi\left(x_i\right)+b\right)=0 1+ξi−yi⋅(WT⋅φ(xi)+b)=0
任取一个 0 < α i < C 0<\alpha_i
此时 ξ i = 0 \xi_i =0 ξi=0 且 1 + ξ i − y i ⋅ ( W T ⋅ φ ( x i ) + b ) = 0 1+\xi_i-y_i\cdot\left(W^T\cdot\varphi\left(x_i\right)+b\right)=0 1+ξi−yi⋅(WT⋅φ(xi)+b)=0,
同时我们推导出来了 W T ⋅ φ ( X ) = ∑ i = 1 N [ α i y i φ ( X i ) ] T φ ( X ) = ∑ i = 1 N α i y i K ( X i , X ) W^T\cdot\varphi\left(X\right)={\textstyle\sum_{i=1}^N}\left[\alpha_iy_i\varphi\left(X_i\right)\right]^T\varphi\left(X\right)={\textstyle\sum_{i=1}^N}\alpha_iy_iK\left(X_i,X\right) WT⋅φ(X)=∑i=1N[αiyiφ(Xi)]Tφ(X)=∑i=1NαiyiK(Xi,X),
代入其中,求解 b b b,得到 b = 1 − y i ∑ i = 1 N α i y i K ( X i , X ) y i b=\frac{1-y_i\sum_{i=1}^N\alpha_iy_iK\left(X_i,X\right)}{y_i} b=yi1−yi∑i=1NαiyiK(Xi,X)
至此,推导结束。
支持向量机在深度学习大热之前,乃至于现在都是一种稳健的监督学习手段,在数据集大小适中的情况下可以达到非常优秀的分类效果,其背后的原因正是这一套复杂但漂亮的数学理论支撑。本人在浙江大学胡浩基老师的课程指导下,结合各大论坛博客的贴文,最终对SVM有了非常深刻的理解,所以特意整理出详细地推导过程,意图帮助更多的人深入理解这一监督学习手段。
参考笔记:机器学习笔记:支持向量机(SVM)详细推导以及sklearn.svm.SVC的简单简介
图片来源:支持向量机通俗导论(理解SVM的三层境界)
浙江大学-研究生机器学习课程-胡浩基-https://www.bilibili.com/video/BV1dJ411B7gh
Demo MathType 在线公式编辑器-Latex