支持向量机(一)

支持向量机

因为用 k k k ( ω , b ) (\omega, b) (ω,b) 进行缩放后,即 ( ω , b ) (\omega, b) (ω,b) 变为 ( k ω , k ω ) (k\omega, k\omega) (kω,kω),样本 x ( n ) x^{(n)} x(n) 到超平面距离不发生变化,也就是系数的改变对直线并无任何实质影响,所以不管 k k k 是多少,距离 γ ( n ) \gamma^{(n)} γ(n) 都是不会改变的。那么现在对最特殊的,也是最近距离的支持向量 x 0 x_0 x0,我们要求出其最大距离,因为对于 ∣ ω T x 0 + b ∣ |\omega^Tx_0+b| ωTx0+b 的缩放也好都不会改变直线的距离,因此我们通过 k k k 的缩放使得恰好满足 ∣ ω T x 0 + b ∣ = 1 |\omega^Tx_0+b| = 1 ωTx0+b=1,这里我们需要注意的是,此时的 ω \omega ω b b b 为缩放调整后的 ω \omega ω b b b,当然你也可以令 ∣ ω T x 0 + b ∣ |\omega^Tx_0+b| ωTx0+b 这个值为 2 , 3 , 4... 2, 3, 4... 2,3,4... 等等,这都无妨,我们另其为 1 1 1,主要也是为了方便,最终的目的是固定距离计算中的分子,来单独讨论分母对距离的影响。既然要固定变量,就把分子固定住,让分母去最小,就可以得到最大间距了。当我们固定了距离公式中的分子,此时支持向量与平面的距离为:
d = 1 ∥ ω ∥ d=\frac{1}{\|\omega\|} d=ω1

支持向量机为了最小化: ∥ ω ∥ \|\omega\| ω,目的就是为了最大化支持向量到平面的距离 d d d

SVM处理线性问题

  • 最小化
  • min ⁡ ω , b (   1 2 ∥ ω ∥ 2 ) \min\limits_{\omega,b}\left( \ \frac{1}{2}\|\omega\|^2\right) ω,bmin( 21ω2)
  • 限制条件s.t.
  • y i [ ω T x i + b ] ⩾ 1 y_i\left[\omega^Tx_i+b\right] \geqslant 1 yi[ωTxi+b]1 i = 1 , 2 , . . . , N i=1, 2, ..., N i=1,2,...,N

SVM处理非线性问题

  • 最小化
  • min ⁡ ω , b [   1 2 ∥ ω ∥ 2 + C ∑ i = 1 N ξ i ] \min\limits_{\omega,b}\left[ \ \frac{1}{2}\|\omega\|^2+C\sum\limits_{i=1}^N\xi_i\right] ω,bmin[ 21ω2+Ci=1Nξi](其中 ξ i \xi_i ξi 为松弛变量 s l a c k v a r i a b l e slack variable slackvariable i = 1 , 2 , . . . , N i=1, 2, ..., N i=1,2,...,N
  • 限制条件s.t.
  • y i [ ω T x i + b ] ⩾ 1 − ξ i y_i\left[\omega^Tx_i+b\right] \geqslant 1-\xi_i yi[ωTxi+b]1ξi i = 1 , 2 , . . . , N i=1, 2, ..., N i=1,2,...,N
  • ξ i ⩾ 0 \xi_i \geqslant 0 ξi0 i = 1 , 2 , . . . , N i=1, 2, ..., N i=1,2,...,N

对于非线性优化问题,我们已知的是 X i , y i X_i,y_i Xi,yi要求的是 w , b , ξ i w,b,\xi_i w,b,ξi


对于 x 1 = [ 0 0 ] ∈ C 1 x_1 = \left[\begin{matrix}0\\0 \end{matrix}\right]\in C_1 x1=[00]C1 x 1 = [ 1 1 ] ∈ C 1 , x 1 = [ 1 0 ] ∈ C 2 x_1 = \left[\begin{matrix}1\\1 \end{matrix}\right]\in C_1,x_1 = \left[\begin{matrix}1\\0 \end{matrix}\right]\in C_2 x1=[11]C1x1=[10]C2 x 1 = [ 0 1 ] ∈ C 2 x_1 = \left[\begin{matrix}0\\1 \end{matrix}\right]\in C_2 x1=[01]C2我该如何将这四个向量分为两类呢?

首先我们定义这样的函数 φ ( x ) : x = [ a b ] ⟶ φ ( x ) = [ a 2 b 2 a b a b ] \varphi(x):x=\left[\begin{matrix}a\\b\end{matrix}\right]\longrightarrow\varphi(x)=\left[\begin{matrix} a^2\\b^2\\a\\b\\ab \end{matrix}\right] φ(x)x=[ab]φ(x)=a2b2abab,我们可以看到 φ ( x ) \varphi(x) φ(x) 实际上就是原向量所有元素相互乘积得到的更高维度的向量。

此时我们对 x 1 , x 2 , x 3 , x 4 x_1,x_2,x_3,x_4 x1x2x3x4拓展维度:
φ ( x 1 ) = [ 0 0 0 0 0 ] , φ ( x 2 ) = [ 1 1 1 1 1 ] , φ ( x 3 ) = [ 1 0 1 0 0 ] , φ ( x 4 ) = [ 0 1 0 1 0 ] \varphi(x_1)=\left[\begin{matrix} 0\\0\\0\\0\\0 \end{matrix}\right],\varphi(x_2)=\left[\begin{matrix} 1\\1\\1\\1\\1 \end{matrix}\right],\varphi(x_3)=\left[\begin{matrix} 1\\0\\1\\0\\0 \end{matrix}\right],\varphi(x_4)=\left[\begin{matrix} 0\\1\\0\\1\\0 \end{matrix}\right] φ(x1)=00000φ(x2)=11111φ(x3)=10100φ(x4)=01010

我们知道对于SVM处理非线性问题的限制条件为: y i ( ω T x i + b ) ⩾ 1 − ξ i y_i(\omega^Tx_i+b) \geqslant 1-\xi_i yi(ωTxi+b)1ξi i = 1 , 2 , . . . , N i=1, 2, ..., N i=1,2,...,N),此时当 x i x_i xi 拓展维度以后即变为: y i [ ω T φ ( x i ) + b ] ⩾ 1 − ξ i y_i\left[\omega^T\varphi(x_i)+b\right] \geqslant 1-\xi_i yi[ωTφ(xi)+b]1ξi i = 1 , 2 , . . . , N i=1, 2, ..., N i=1,2,...,N),需要注意的是 w w w的维度也会拓展,与 φ ( x i ) \varphi(x_i) φ(xi) 相同。那么为了将 x 1 , x 2 , x 3 , x 4 x_1,x_2,x_3,x_4 x1x2x3x4 进行二分类,我们目前的问题是如何寻找一个适合的 w w w b b b 来使得满足SVM的限制条件。这样的 w w w b b b 有很多,我们给出其中一个:
ω = [ − 1 − 1 − 1 − 1 6 ] \omega = \left[\begin{matrix}-1 \\ -1\\ -1\\ -1\\ 6\end{matrix}\right] ω=11116 b = 1 b = 1 b=1,带入到限制条件得到: { ω T φ ( x 1 ) + b = 1 > 0 ω T φ ( x 2 ) + b = 3 > 0 ω T φ ( x 3 ) + b = − 1 < 0 ω T φ ( x 4 ) + b = − 1 < 0 \left\{\begin{array}{lr} \omega^T\varphi(x_1)+b=1>0\\\omega^T\varphi(x_2)+b=3>0 \\ \omega^T\varphi(x_3)+b = -1<0 \\ \omega^T\varphi(x_4) +b=-1<0 \end{array}\right. ωTφ(x1)+b=1>0ωTφ(x2)+b=3>0ωTφ(x3)+b=1<0ωTφ(x4)+b=1<0,我们可以看出 x 1 , x 2 x1,x2 x1x2被分到 C 1 C_1 C1类, x 3 , x 4 x3,x4 x3x4被分到 C 2 C_2 C2类。

「QUESTION」:那么我们如何选取 φ ( x ) \varphi(x) φ(x) 呢?
我们可以不知道无限维映射 φ ( x ) \varphi(x) φ(x) 的显式表达,我们只要知道一个核函数(Kernel Function)
K ( x 1 , x 2 ) = φ ( x 1 ) T φ ( x 2 ) K(x_1, x_2) = \varphi(x_1)^T\varphi(x_2) K(x1,x2)=φ(x1)Tφ(x2) y i [ ω T φ ( x i ) + b ] ⩾ 1 − ξ i y_i\left[\omega^T\varphi(x_i)+b\right] \geqslant 1-\xi_i yi[ωTφ(xi)+b]1ξi i = 1 , 2 , . . . , N i=1, 2, ..., N i=1,2,...,N)这个优化式仍然可解,其中 φ ( x 1 ) \varphi(x_1) φ(x1) φ ( x 2 ) \varphi(x_2) φ(x2) 均为无限维向量。这同样给我们带来了一个新的问题,我们该如何将 φ ( x i ) \varphi(x_i) φ(xi) 替换成核函数 K ( x 1 , x 2 ) K(x_1, x_2) K(x1,x2) 呢?我们先来看看常见的几种核函数,再了解满足核函数拆分的充要条件(Mercer’s Theorem)。

常见的几种核函数

  • 线性核 K ( x 1 , x 2 ) = x 1 T x 2 K(x_1,x_2)=x_1^Tx_2 K(x1,x2)=x1Tx2
  • 高斯核 K ( x 1 , x 2 ) = e − ∣ ∣ x 1 − x 2 ∣ ∣ 2 2 σ 2 = φ ( x 1 ) T φ ( x 2 ) K(x_1, x_2) = e^{-\frac{||x_1-x_2||^2}{2\sigma^2}} = \varphi(x_1)^T\varphi(x_2) K(x1,x2)=e2σ2x1x22=φ(x1)Tφ(x2),可拆成两个无限维度的 φ ( x ) \varphi(x) φ(x),但必须满足某种条件,可自己尝试(泰勒展开)。
  • 多项式核 K ( x 1 , x 2 ) = ( x 1 T x 2 + 1 ) d = φ ( x 1 ) T φ ( x 2 ) K(x_1, x_2) = (x_1^Tx_2+1)^d = \varphi(x_1)^T\varphi(x_2) K(x1,x2)=(x1Tx2+1)d=φ(x1)Tφ(x2),其中 d d d 为多项式的阶数,可拆成两个有限维度的 φ ( x ) \varphi(x) φ(x),同样需满足某种条件,可自己尝试看 φ ( x i ) \varphi(x_i) φ(xi) 的维度和 d d d 维度的关系。
  • Sigmoid核 K ( x 1 , x 2 ) = t a n h ( β 1 x 1 T x 2 + β 2 ) K(x_1, x_2) = tanh(\beta_1x_1^Tx_2 + \beta_2) K(x1,x2)=tanh(β1x1Tx2+β2)

Mercer’s Theorem

上面提到 K ( x 1 , x 2 ) K(x_1, x_2) K(x1,x2) 拆成 φ ( x 1 ) T φ ( x 2 ) \varphi(x_1)^T\varphi(x_2) φ(x1)Tφ(x2) 需满足某种条件(泛函分析),那 K ( x 1 , x 2 ) = φ ( x 1 ) T φ ( x 2 ) K(x_1, x_2) = \varphi(x_1)^T\varphi(x_2) K(x1,x2)=φ(x1)Tφ(x2) 的充要条件为:

  1. K ( x 1 , x 2 ) = K ( x 2 , x 1 ) K(x_1, x_2) = K(x_2, x_1) K(x1,x2)=K(x2,x1)交换性
  2. ∀ c i , x i ( i = 1 , 2 , 3 , . . . , N ) \forall c_i, x_i (i=1, 2, 3, ..., N) ci,xi(i=1,2,3,...,N),有: ∑ i = 1 N ∑ j = 1 N c i c j K ( x i , x j ) ⩾ 0 \sum\limits_{i=1}^N\sum\limits_{j=1}^Nc_ic_jK(x_i, x_j) \geqslant 0 i=1Nj=1NcicjK(xi,xj)0,其中 c i c_i ci 为常数, x i x_i xi 为向量(半正定性

补充知识:优化理论

原问题(Prime Problem)(非常普适)
  • 最小化
  • min ⁡ f ( ω ) \min f(\omega) minf(ω)
  • 限制条件s.t.
  • g i ( ω ) ⩽ 0 ( i = 1 , 2 , 3 , . . . , K ) g_i(\omega) \leqslant 0 (i=1,2,3,...,K) gi(ω)0(i=1,2,3,...,K)
  • h i ( ω ) = 0 ( i = 1 , 2 , 3 , . . . , M ) h_i(\omega) = 0(i=1,2,3,...,M) hi(ω)=0i=1,2,3,...,M
对偶问题(Dual Problem)
  • 定义: L ( ω , α , β ) = f ( ω ) + ∑ i = 1 K α i g i ( ω ) + ∑ i = 1 M β i h i ( ω ) = f ( ω ) + α T g ( ω ) + β T h ( ω ) L(\omega, \alpha, \beta) = f(\omega)+\sum\limits_{i=1}^K\alpha_ig_i(\omega)+\sum\limits_{i=1}^M\beta_ih_i(\omega)=f(\omega)+\alpha^Tg(\omega)+\beta^Th(\omega) L(ω,α,β)=f(ω)+i=1Kαigi(ω)+i=1Mβihi(ω)=f(ω)+αTg(ω)+βTh(ω)
    其中 α \alpha α 是一个 K K K 维向量,与 g i ( ω ) ⩽ 0 g_i(\omega) \leqslant 0 gi(ω)0 的多项式个数相同; β \beta β 是一个 M M M 维向量,与 h i ( ω ) = 0 h_i(\omega) = 0 hi(ω)=0 的多项式个数相同。式子最右侧 g ( ω ) = [ g 1 ( ω ) g 2 ( ω ) . . . g K ( ω ) ] g(\omega) = \left[\begin{matrix}g_1(\omega) \\ g_2(\omega) \\...\\g_K(\omega)\end{matrix}\right] g(ω)=g1(ω)g2(ω)...gK(ω),然后 h ( ω ) = [ h 1 ( ω ) h 2 ( ω ) . . . h M ( ω ) ] h(\omega) = \left[\begin{matrix}h_1(\omega) \\ h_2(\omega) \\...\\h_M(\omega)\end{matrix}\right] h(ω)=h1(ω)h2(ω)...hM(ω)

对偶问题的定义

  • 最大化
  • max ⁡ [ Θ ( α , β ) = inf ⁡ a l l ( ω ) [ L ( ω , α , β ) ] ] \max\left[\Theta(\alpha, \beta) = \inf\limits_{all(\omega)}\left[L(\omega, \alpha, \beta)\right]\right] max[Θ(α,β)=all(ω)inf[L(ω,α,β)]],其中 inf ⁡ \inf inf 表示求最小值,在什么情况下求最小值呢?在限定 α \alpha α β \beta β 的前提下,遍历所有 ω \omega ω 后,求得最小的 L ( ω , α , β ) L(\omega, \alpha, \beta) L(ω,α,β),因此每确认一个 α \alpha α β \beta β 我都能求出一个最小值,在众多最小值中选取最大的 Θ ( α , β ) \Theta(\alpha, \beta) Θ(α,β)
  • 限制条件s.t. α i ⩾ 0 ( i = 1 , 2 , 3 , . . . , K ) \alpha_i \geqslant 0(i=1,2,3,...,K) αi0i=1,2,3,...,K ,或按照向量的写法 α ⩾ 0 \alpha \geqslant 0 α0,其中 α = [ α 1 α 2 . . α i . . α K ] \alpha = \left[\begin{matrix}\alpha_1 \\ \alpha_2\\ ..\\\alpha_i\\..\\\alpha_K\end{matrix}\right] α=α1α2..αi..αK

接下来我们需要解决原问题和对偶问题的关系,但了解他们关系之前我们还需要知道一个定理,定理如下。

定理:如果 ω ∗ \omega^* ω 是原问题的解,而 α ∗ , β ∗ \alpha^*,\beta^* αβ 是对偶问题的解,则有:
f ( ω ∗ ) ⩾ Θ ( α ∗ , β ∗ ) f(\omega^*) \geqslant \Theta(\alpha^*, \beta^*) f(ω)Θ(α,β)

证明
Θ ( α ∗ , β ∗ ) = inf ⁡ a l l ( ω ) [ L ( ω , α ∗ , β ∗ ) ] ⩽ L ( ω ∗ , α ∗ , β ∗ ) = f ( ω ∗ ) + ∑ i = 1 K α i ∗ g i ( ω ∗ ) + ∑ i = 1 M β i ∗ h i ( ω ∗ ) \Theta(\alpha^*, \beta^*) = \inf\limits_{all(\omega)}\left[L(\omega, \alpha^*, \beta^*)\right]\leqslant L(\omega^*, \alpha^*, \beta^*) = f(\omega^*)+\sum\limits_{i=1}^K\alpha_i^*g_i(\omega^*)+\sum\limits_{i=1}^M\beta_i^*h_i(\omega^*) Θ(α,β)=all(ω)inf[L(ω,α,β)]L(ω,α,β)=f(ω)+i=1Kαigi(ω)+i=1Mβihi(ω),其中限制条件为: { g i ( ω ∗ ) ⩽ 0 ( i = 1 , 2 , 3 , . . . , K ) h i ( ω ∗ ) = 0 ( i = 1 , 2 , 3 , . . . , M ) α i ∗ ⩾ 0 \left\{\begin{array}{lr}g_i(\omega^*) \leqslant 0 (i=1,2,3,...,K) \\ h_i(\omega^*) = 0(i=1,2,3,...,M) \\ \alpha_i^* \geqslant 0\end{array}\right. gi(ω)0(i=1,2,3,...,K)hi(ω)=0(i=1,2,3,...,M)αi0,为什么限制条件是这个呢?因为定理说了 ω ∗ \omega^* ω 为原问题的解,因此由原问题的限制条件得到前两个结果,又因为 α i ∗ \alpha_i^* αi 满足对偶问题的解,因此第三个式子成立,第三个式子为对偶问题的限制条件。因此 ∑ i = 1 K α i ∗ g i ( ω ∗ ) ⩽ 0 \sum\limits_{i=1}^K\alpha_i^*g_i(\omega^*) \leqslant 0 i=1Kαigi(ω)0 并且 ∑ i = 1 M β i ∗ h i ( ω ∗ ) = 0 \sum\limits_{i=1}^M\beta_i^*h_i(\omega^*)=0 i=1Mβihi(ω)=0,我们得出结论: Θ ( α ∗ , β ∗ ) ⩽ f ( ω ∗ ) \Theta(\alpha^*,\beta^*) \leqslant f(\omega^*) Θ(α,β)f(ω),即证定理。

已知上面的定理和证明后我们有如下这样一个定义。

定义 G = f ( ω ∗ ) − Θ ( a ∗ , b ∗ ) ⩾ 0 G = f(\omega^*) - \Theta(a^*, b^*) \geqslant 0 G=f(ω)Θ(a,b)0 G G G 叫做原问题与对偶问题的间距 ( D u a l i t y G a p ) (Duality Gap) DualityGap
重要结论:对于某些特定优化问题,可以证明 G = 0 G=0 G=0。具体有哪些特定优化问题呢?我们直接写结论。

强对偶定理

f ( ω ) f(\omega) f(ω) 为凸函数,且 g ( ω ) = A ω + b , h ( ω ) = C ω + d g(\omega) = A\omega + b,h(\omega) = C\omega + d g(ω)=Aω+bh(ω)=Cω+d,则此优化问题的原问题和对偶问题间距为0,即 f ( ω ∗ ) = Θ ( α ∗ , β ∗ ) f(\omega^*) = \Theta(\alpha^*, \beta^*) f(ω)=Θ(α,β)

若强对偶定理成立,即若 f ( ω ∗ ) = Θ ( α ∗ , β ∗ ) f(\omega^*) = \Theta(\alpha^*, \beta^*) f(ω)=Θ(α,β) 成立,意味着什么呢?有以下两点。
第一点,我们由上面的定理证明得: Θ ( α ∗ , β ∗ ) = inf ⁡ a l l ( ω ) [ L ( ω , α ∗ , β ∗ ) ] ⩽ L ( ω ∗ , α ∗ , β ∗ ) = f ( ω ∗ ) + ∑ i = 1 K α i ∗ g i ( ω ∗ ) + ∑ i = 1 M β i ∗ h i ( ω ∗ ) \Theta(\alpha^*, \beta^*) = \inf\limits_{all(\omega)}\left[L(\omega, \alpha^*, \beta^*)\right]\leqslant L(\omega^*, \alpha^*, \beta^*) = f(\omega^*)+\sum\limits_{i=1}^K\alpha_i^*g_i(\omega^*)+\sum\limits_{i=1}^M\beta_i^*h_i(\omega^*) Θ(α,β)=all(ω)inf[L(ω,α,β)]L(ω,α,β)=f(ω)+i=1Kαigi(ω)+i=1Mβihi(ω)
根据强对偶定理和上述证明得到的结论,可以得出 Θ ( α ∗ , β ∗ ) = L ( ω ∗ , α ∗ , β ∗ ) \Theta(\alpha^*, \beta^*) = L(\omega^*, \alpha^*, \beta^*) Θ(α,β)=L(ω,α,β),这就意味着确定 α ∗ , β ∗ \alpha^*, \beta^* α,β 的情况下,此时让 L L L 取到最小值那个点所对应的是 ω ∗ \omega^* ω
第二点,由上述证明过程和强对偶定理,我们得出: ∑ i = 1 K α i ∗ g i ( ω ∗ ) + ∑ i = 1 M β i ∗ h i ( ω ∗ ) = 0 \sum\limits_{i=1}^K\alpha_i^*g_i(\omega^*)+\sum\limits_{i=1}^M\beta_i^*h_i(\omega^*) = 0 i=1Kαigi(ω)+i=1Mβihi(ω)=0,那么对于 ∀ i = 1 , 2 , . . . , K \forall i = 1,2,...,K i=1,2,...,K,或者 α i ∗ = 0 \alpha_i^* = 0 αi=0,或者 g i ∗ ( ω ∗ ) = 0 g_i^*(\omega^*) = 0 gi(ω)=0,那么这个这个条件成为KKT条件

经上述补充,目的是将拓展维度后的限制条件: y i [ ω T φ ( x i ) + b ] ⩾ 1 − ξ i ( i = 1 , 2 , 3 , . . . , N ) y_i\left[\omega^T\varphi(x_i)+b\right] \geqslant 1-\xi_i(i=1,2,3,...,N) yi[ωTφ(xi)+b]1ξii=1,2,3,...,N这样的原问题转化为对偶问题,用求解对偶问题的方式来求解原问题的解。接下来我们用原问题、对偶问题来求解SVM,在解决对偶问题时会消除 φ ( x i ) \varphi(x_i) φ(xi),只使用 K ( x 1 , x 2 ) K(x_1, x_2) K(x1,x2)


什么是凸函数?

在这里插入图片描述

现在我们回到SVM处理非线性问题这上面来,因为 1 2 ∣ ∣ ω ∣ ∣ 2 + C ∑ i = 1 N ξ i \frac{1}{2}||\omega||^2+C\sum\limits_{i=1}^N\xi_i 21ω2+Ci=1Nξi 是凸函数,此时我们就可以使用强对偶定理,SVM所对应的非线性问题:

  • 最小化
  • min ⁡ ω , b [   1 2 ∥ ω ∥ 2 + C ∑ i = 1 N ξ i ] \min\limits_{\omega,b}\left[ \ \frac{1}{2}\|\omega\|^2+C\sum\limits_{i=1}^N\xi_i\right] ω,bmin[ 21ω2+Ci=1Nξi](其中 ξ i \xi_i ξi 为松弛变量 s l a c k v a r i a b l e slack variable slackvariable i = 1 , 2 , . . . , N i=1, 2, ..., N i=1,2,...,N
  • 限制条件s.t.
  • y i [ ω T x i + b ] ⩾ 1 − ξ i y_i\left[\omega^Tx_i+b\right] \geqslant 1-\xi_i yi[ωTxi+b]1ξi i = 1 , 2 , . . . , N i=1, 2, ..., N i=1,2,...,N
  • ξ i ⩾ 0 \xi_i \geqslant 0 ξi0 i = 1 , 2 , . . . , N i=1, 2, ..., N i=1,2,...,N

原问题:

  • 最小化 min ⁡ f ( ω ) \min f(\omega) minf(ω)
  • 限制条件s.t.
  • g i ( ω ) ⩽ 0 ( i = 1 , 2 , 3 , . . . , K ) g_i(\omega) \leqslant 0 (i=1,2,3,...,K) gi(ω)0(i=1,2,3,...,K)
  • h i ( ω ) = 0 ( i = 1 , 2 , 3 , . . . , M ) h_i(\omega) = 0(i=1,2,3,...,M) hi(ω)=0i=1,2,3,...,M

我们将SVM非线性问题改造为原问题的形式:

  • 最小化
  • min ⁡ ω , b [   1 2 ∥ ω ∥ 2 − C ∑ i = 1 N ξ i ] \min\limits_{\omega,b}\left[\ \frac{1}{2}\|\omega\|^2-C\sum\limits_{i=1}^N\xi_i\right] ω,bmin[ 21ω2Ci=1Nξi](因为我们要使得限制条件 ξ i ⩽ 0 \xi_i \leqslant 0 ξi0,因此需将 C C C 前的系数由正变为负)
  • 限制条件s.t.
  • 1 + ξ i − y i [ ω T x i + b ] ⩽ 0 1+\xi_i-y_i\left[\omega^Tx_i+b\right] \leqslant 0 1+ξiyi[ωTxi+b]0 i = 1 , 2 , . . . , K i=1, 2, ..., K i=1,2,...,K
  • ξ i ⩽ 0 \xi_i \leqslant 0 ξi0 i = 1 , 2 , . . . , K i=1, 2, ..., K i=1,2,...,K

转化为对偶问题(我们知道最初原问题为 f ( ω ) f(\omega) f(ω),当时的待求变量为 ω \omega ω,SVM非线性问题的原问题转换为对偶问题以后,我们的待求变量为 ω , ξ i , b \omega, \xi_i, b ω,ξi,b):

  • 最大化
  • Θ ( α , β ) = inf ⁡ a l l ( ω , ξ i , β ) [ 1 2 ∥ ω ∥ 2 − C ∑ i = 1 N ξ i + ∑ i = 1 N β i ξ i + ∑ i = 1 N α i [ 1 + ξ i − y i ω T φ ( x i ) − y i b ] ] \Theta(\alpha, \beta) = \inf\limits_{all(\omega,\xi_i,\beta)}\left[\frac{1}{2}\|\omega\|^2-C\sum\limits_{i=1}^N\xi_i+\sum\limits_{i=1}^N\beta_i\xi_i+\sum\limits_{i=1}^N\alpha_i\left[1+\xi_i-y_i\omega^T\varphi(x_i)-y_ib\right]\right] Θ(α,β)=all(ω,ξi,β)inf[21ω2Ci=1Nξi+i=1Nβiξi+i=1Nαi[1+ξiyiωTφ(xi)yib]]
  • 限制条件s.t.
  • { α i ⩾ 0 β i ⩾ 0 i = 1 , 2 , . . , N \left\{\begin{array}{lr} \alpha_i \geqslant 0 \\ \beta_i \geqslant 0 \\ i=1,2,..,N \end{array}\right. αi0βi0i=1,2,..,N

注意:需注意的是我们将对偶问题 f ( ω ) + ∑ i = 1 K α i g i ( ω ) + ∑ i = 1 M β i h i ( ω ) f(\omega)+\sum\limits_{i=1}^K\alpha_ig_i(\omega)+\sum\limits_{i=1}^M\beta_ih_i(\omega) f(ω)+i=1Kαigi(ω)+i=1Mβihi(ω),转为适用于SVM非线性问题的对偶问题 1 2 ∥ ω ∥ 2 − C ∑ i = 1 N ξ i + ∑ i = 1 N β i ξ i + ∑ i = 1 N α i [ 1 + ξ i − y i ω T φ ( x i ) − y i b ] \frac{1}{2}\|\omega\|^2-C\sum\limits_{i=1}^N\xi_i+\sum\limits_{i=1}^N\beta_i\xi_i+\sum\limits_{i=1}^N\alpha_i\left[1+\xi_i-y_i\omega^T\varphi(x_i)-y_ib\right] 21ω2Ci=1Nξi+i=1Nβiξi+i=1Nαi[1+ξiyiωTφ(xi)yib] 后,因对于对偶问题,限制条件 g i ( ω ) ⩽ 0 g_i(\omega) \leqslant 0 gi(ω)0 这一个条件在SVM非线性下对偶问题中有两个限制条件 { 1 + ξ i − y i [ ω T x i + b ] ⩽ 0 ξ i ⩽ 0 \left\{\begin{array}{lr}1+\xi_i-y_i\left[\omega^Tx_i+b\right] \leqslant 0\\ \xi_i \leqslant 0\end{array}\right. {1+ξiyi[ωTxi+b]0ξi0与之对应(都是小于等于),因此对偶问题 f ( ω ) + ∑ i = 1 K α i g i ( ω ) + ∑ i = 1 M β i h i ( ω ) f(\omega)+\sum\limits_{i=1}^K\alpha_ig_i(\omega)+\sum\limits_{i=1}^M\beta_ih_i(\omega) f(ω)+i=1Kαigi(ω)+i=1Mβihi(ω) ∑ i = 1 K α i g i ( ω ) \sum\limits_{i=1}^K\alpha_ig_i(\omega) i=1Kαigi(ω) 这一部分转换为了 ∑ i = 1 N β i ξ i + ∑ i = 1 N α i [ 1 + ξ i − y i ω T φ ( x i ) − y i b ] \sum\limits_{i=1}^N\beta_i\xi_i+\sum\limits_{i=1}^N\alpha_i\left[1+\xi_i-y_i\omega^T\varphi(x_i)-y_ib\right] i=1Nβiξi+i=1Nαi[1+ξiyiωTφ(xi)yib],后者的 β i \beta_i βi 与前者的 β i \beta_i βi 不同,这里容易混淆,后者的 α i , β i \alpha_i, \beta_i αi,βi 均由前者的 α i \alpha_i αi 转换而成,这一点一定要注意,很容易混淆,前者所对应的 h i ( ω ) = 0 h_i(\omega)=0 hi(ω)=0 这个限制条件在SVM非线性的对偶问题中并未出现,并且尽管出现也为0,因此在SVM非线性对偶问题中不会出现前者的那个 β i \beta_i βi

OK!到目前为止,我们已经将SVM非线性问题的原问题转化为对偶问题,我们再写一遍:

  • 最大化
  • Θ ( α , β ) = inf ⁡ a l l ( ω , ξ i , β ) [ 1 2 ∥ ω ∥ 2 − C ∑ i = 1 N ξ i + ∑ i = 1 N β i ξ i + ∑ i = 1 N α i [ 1 + ξ i − y i ω T φ ( x i ) − y i b ] ] \Theta(\alpha, \beta) = \inf\limits_{all(\omega,\xi_i,\beta)}\left[\frac{1}{2}\|\omega\|^2-C\sum\limits_{i=1}^N\xi_i+\sum\limits_{i=1}^N\beta_i\xi_i+\sum\limits_{i=1}^N\alpha_i\left[1+\xi_i-y_i\omega^T\varphi(x_i)-y_ib\right]\right] Θ(α,β)=all(ω,ξi,β)inf[21ω2Ci=1Nξi+i=1Nβiξi+i=1Nαi[1+ξiyiωTφ(xi)yib]]
  • 限制条件s.t.
  • { α i ⩾ 0 β i ⩾ 0 i = 1 , 2 , . . , N \left\{\begin{array}{lr} \alpha_i \geqslant 0 \\ \beta_i \geqslant 0 \\i=1,2,..,N\end{array}\right. αi0βi0i=1,2,..,N

此时 L ( ω , ξ i , b ) = 1 2 ∥ ω ∥ 2 − C ∑ i = 1 N ξ i + ∑ i = 1 N β i ξ i + ∑ i = 1 N α i [ 1 + ξ i − y i ω T φ ( x i ) − y i b ] L(\omega,\xi_i,b) = \frac{1}{2}\|\omega\|^2-C\sum\limits_{i=1}^N\xi_i+\sum\limits_{i=1}^N\beta_i\xi_i+\sum\limits_{i=1}^N\alpha_i\left[1+\xi_i-y_i\omega^T\varphi(x_i)-y_ib\right] L(ω,ξi,b)=21ω2Ci=1Nξi+i=1Nβiξi+i=1Nαi[1+ξiyiωTφ(xi)yib],我们要找一个 ω , ξ i , b \omega,\xi_i,b ω,ξi,b,使得 L ( ω , ξ i , b ) L(\omega,\xi_i,b) L(ω,ξi,b) 最小,接下来我们分别对 L L L 关于 ω , ξ i , b \omega,\xi_i,b ω,ξi,b 求偏导数,这里涉及到对向量的偏导数,那么实际上对向量求偏导数就是对向量的每个元素求偏导数,即就是: ∂ f ∂ ω = [ ∂ f ∂ ω 1 ∂ f ∂ ω 2 . . ∂ f ∂ ω n ] \frac{\partial f}{\partial\omega} = \left[\begin{matrix}\frac{\partial f}{\partial\omega_1} \\ \frac{\partial f}{\partial\omega_2} \\ .. \\ \frac{\partial f}{\partial\omega_n}\end{matrix}\right] ωf=ω1fω2f..ωnf,接下来我们对 L ( ω , ξ i , b ) = 1 2 ∥ ω ∥ 2 − C ∑ i = 1 N ξ i + ∑ i = 1 N β i ξ i + ∑ i = 1 N α i [ 1 + ξ i − y i ω T φ ( x i ) − y i b ] L(\omega,\xi_i,b) = \frac{1}{2}\|\omega\|^2-C\sum\limits_{i=1}^N\xi_i+\sum\limits_{i=1}^N\beta_i\xi_i+\sum\limits_{i=1}^N\alpha_i\left[1+\xi_i-y_i\omega^T\varphi(x_i)-y_ib\right] L(ω,ξi,b)=21ω2Ci=1Nξi+i=1Nβiξi+i=1Nαi[1+ξiyiωTφ(xi)yib] 分别关于 ω , ξ i , b \omega,\xi_i,b ω,ξi,b 求偏导。

我们给出如下两个结论(这两个结论可自行推导)
(1)若 f ( ω ) = 1 2 ∥ ω ∥ 2 f(\omega) = \frac{1}{2}\|\omega\|^2 f(ω)=21ω2,则 ∂ f ∂ ω = ω \frac{\partial f}{\partial \omega} = \omega ωf=ω
(2)若 f ( ω ) = ω T x f(\omega) = \omega^Tx f(ω)=ωTx,则 ∂ f ∂ ω = x \frac{\partial f}{\partial \omega} = x ωf=x

∂ L ∂ ω = 0 ⇒ ω − ∑ i = 1 N α i y i φ ( x i ) = 0 ⇒ ω = ∑ i = 1 N α i y i φ ( x i ) \frac{\partial L}{\partial \omega} = 0 \Rightarrow \omega - \sum\limits_{i=1}^N \alpha_iy_i\varphi(x_i) = 0 \Rightarrow \omega = \sum\limits_{i=1}^N \alpha_iy_i\varphi(x_i) ωL=0ωi=1Nαiyiφ(xi)=0ω=i=1Nαiyiφ(xi)

∂ L ∂ ξ i = 0 ⇒ − C + β i + α i = 0 ⇒ β i + α i = C \frac{\partial L}{\partial \xi_i} = 0 \Rightarrow -C + \beta_i + \alpha_i = 0 \Rightarrow \beta_i + \alpha_i = C ξiL=0C+βi+αi=0βi+αi=C

∂ L ∂ b = 0 ⇒ ∑ i = 1 N α i y i = 0 \frac{\partial L}{\partial b} = 0 \Rightarrow \sum\limits_{i=1}^N\alpha_iy_i=0 bL=0i=1Nαiyi=0

我们将上述三个式子带入到SVM非线性的对偶问题中可求最小值,首先将 β i + α i = C \beta_i + \alpha_i = C βi+αi=C 带入消项,然后由 ∑ i = 1 N α i y i = 0 \sum\limits_{i=1}^N\alpha_iy_i=0 i=1Nαiyi=0 消项,最终得到下面的等式:
Θ ( α , β ) = inf ⁡ a l l ( ω , ξ i , b ) [ 1 2 ∥ ω ∥ 2 + ∑ i = 1 N α i [ 1 − y i ω T φ ( x i ) ] ] \Theta(\alpha, \beta) = \inf\limits_{all(\omega,\xi_i,b)}\left[\frac{1}{2}\|\omega\|^2+\sum\limits_{i=1}^N\alpha_i \left[ 1-y_i\omega^T\varphi(x_i)\right]\right] Θ(α,β)=all(ω,ξi,b)inf[21ω2+i=1Nαi[1yiωTφ(xi)]]

其中 1 2 ∥ ω ∥ 2 = 1 2 ω T ω = 1 2 [ ∑ i = 1 N α i y i φ ( x i ) ] T [ ∑ j = 1 N α j y j φ ( x j ) ] = 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j φ ( x i ) T φ ( x j ) \frac{1}{2}\|\omega\|^2 = \frac{1}{2}\omega^T\omega = \frac{1}{2}\left[\sum\limits_{i=1}^N \alpha_iy_i\varphi(x_i)\right]^T \left[\sum\limits_{j=1}^N \alpha_jy_j\varphi(x_j)\right] = \frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_j\varphi(x_i)^T\varphi(x_j) 21ω2=21ωTω=21[i=1Nαiyiφ(xi)]T[j=1Nαjyjφ(xj)]=21i=1Nj=1Nαiαjyiyjφ(xi)Tφ(xj),此时两部分单独运算,因此我们将两部分用 i , j i,j i,j 区分开,由前面的知识我们知道, y i , y j y_i,y_j yi,yj 只能取 ± 1 \pm1 ±1。此时我们可将 φ ( x i ) T φ ( x j ) \varphi(x_i)^T\varphi(x_j) φ(xi)Tφ(xj) 转为核函数 K ( x i , x j ) K(x_i, x_j) K(xi,xj)

其中 − ∑ i = 1 N α i y i ω T φ ( x i ) = − ∑ i = 1 N α i y i [ ∑ j = 1 N α j y j φ ( x j ) ] T φ ( x i ) = − ∑ i = 1 N ∑ j = 1 N α i α j y i y j φ ( x j ) T φ ( x i ) -\sum\limits_{i=1}^N\alpha_iy_i\omega^T\varphi(x_i) = -\sum\limits_{i=1}^N\alpha_iy_i\left[\sum\limits_{j=1}^N\alpha_jy_j\varphi(x_j)\right]^T\varphi(x_i)=-\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_j\varphi(x_j)^T\varphi(x_i) i=1NαiyiωTφ(xi)=i=1Nαiyi[j=1Nαjyjφ(xj)]Tφ(xi)=i=1Nj=1Nαiαjyiyjφ(xj)Tφ(xi),该式也可将 φ ( x j ) T φ ( x i ) \varphi(x_j)^T\varphi(x_i) φ(xj)Tφ(xi) 转为核函数 K ( x i , x j ) K(x_i, x_j) K(xi,xj)

最后我们得到以下结果:
Θ ( α , β ) = ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( x i , x j ) \Theta(\alpha,\beta)=\sum\limits_{i=1}^N\alpha_i-\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_jK(x_i, x_j) Θ(α,β)=i=1Nαi21i=1Nj=1NαiαjyiyjK(xi,xj)

支持向量机结论

  • 最大化
  • Θ ( α ) = ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( x i , x j ) \Theta(\alpha)=\sum\limits_{i=1}^N\alpha_i-\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{j=1}^N\alpha_i\alpha_jy_iy_jK(x_i, x_j) Θ(α)=i=1Nαi21i=1Nj=1NαiαjyiyjK(xi,xj)
  • 限制条件s.t.
  • { 0 ⩽ α i ⩽ C ∑ i = 1 N α i y i = 0 \left\{\begin{array}{lr} 0 \leqslant \alpha_i \leqslant C \\ \sum\limits_{i=1}^N\alpha_iy_i = 0\end{array}\right. 0αiCi=1Nαiyi=0

限制条件第一个由 α i + β i = C , α i ⩾ 0 , β i ⩾ 0 \alpha_i+\beta_i = C, \alpha_i \geqslant 0,\beta_i \geqslant 0 αi+βi=C,αi0,βi0 这三个条件一起得出,之所以这样合并,是因为在整个优化过程中 β \beta β 是不出现的。限制条件第二个是由令 L L L 关于 b b b 求偏导数为零得到的。此时的问题也是凸优化问题。我们已知的是 y i , y j , K ( x i , x j ) y_i,y_j,K(x_i,x_j) yi,yj,K(xi,xj),未知的是所有的 α \alpha α。解决此处的凸优化问题所使用的标准算法为:SMO算法。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值