支持向量机(一)

本文介绍了支持向量机(SVM)的基本原理,包括线性和非线性问题的处理方法。详细解释了如何通过核技巧解决非线性分类问题,并给出了常见核函数的例子。此外,还深入探讨了SVM优化问题的原始形式及其对偶问题,最终推导出了SVM的求解公式。

支持向量机

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

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

SVM处理线性问题

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

SVM处理非线性问题

  • 最小化
  • min⁡ω,b[ 12∥ω∥2+C∑i=1Nξ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 为松弛变量 slackvariableslack variableslackvariablei=1,2,...,Ni=1, 2, ..., Ni=1,2,...,N
  • 限制条件s.t.
  • yi[ωTxi+b]⩾1−ξiy_i\left[\omega^Tx_i+b\right] \geqslant 1-\xi_iyi[ωTxi+b]1ξii=1,2,...,Ni=1, 2, ..., Ni=1,2,...,N
  • ξi⩾0\xi_i \geqslant 0ξi0i=1,2,...,Ni=1, 2, ..., Ni=1,2,...,N

对于非线性优化问题,我们已知的是Xi,yiX_i,y_iXi,yi要求的是w,b,ξiw,b,\xi_iw,b,ξi


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

首先我们定义这样的函数φ(x):x=[ab]⟶φ(x)=[a2b2abab]\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) 实际上就是原向量所有元素相互乘积得到的更高维度的向量。

此时我们对 x1,x2,x3,x4x_1,x_2,x_3,x_4x1x2x3x4拓展维度:
φ(x1)=[00000],φ(x2)=[11111],φ(x3)=[10100],φ(x4)=[01010]\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处理非线性问题的限制条件为:yi(ωTxi+b)⩾1−ξiy_i(\omega^Tx_i+b) \geqslant 1-\xi_iyi(ωTxi+b)1ξii=1,2,...,Ni=1, 2, ..., Ni=1,2,...,N),此时当 xix_ixi 拓展维度以后即变为:yi[ωTφ(xi)+b]⩾1−ξiy_i\left[\omega^T\varphi(x_i)+b\right] \geqslant 1-\xi_iyi[ωTφ(xi)+b]1ξii=1,2,...,Ni=1, 2, ..., Ni=1,2,...,N),需要注意的是 www的维度也会拓展,与 φ(xi)\varphi(x_i)φ(xi) 相同。那么为了将 x1,x2,x3,x4x_1,x_2,x_3,x_4x1x2x3x4 进行二分类,我们目前的问题是如何寻找一个适合的 wwwbbb 来使得满足SVM的限制条件。这样的 wwwbbb 有很多,我们给出其中一个:
ω=[−1−1−1−16]\omega = \left[\begin{matrix}-1 \\ -1\\ -1\\ -1\\ 6\end{matrix}\right]ω=11116b=1b = 1b=1,带入到限制条件得到:{ωTφ(x1)+b=1>0ωTφ(x2)+b=3>0ωTφ(x3)+b=−1<0ωTφ(x4)+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,我们可以看出x1,x2x1,x2x1x2被分到C1C_1C1类,x3,x4x3,x4x3x4被分到C2C_2C2类。

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

常见的几种核函数

  • 线性核K(x1,x2)=x1Tx2K(x_1,x_2)=x_1^Tx_2K(x1,x2)=x1Tx2
  • 高斯核K(x1,x2)=e−∣∣x1−x2∣∣22σ2=φ(x1)Tφ(x2)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(x1,x2)=(x1Tx2+1)d=φ(x1)Tφ(x2)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),其中 ddd 为多项式的阶数,可拆成两个有限维度的 φ(x)\varphi(x)φ(x),同样需满足某种条件,可自己尝试看 φ(xi)\varphi(x_i)φ(xi) 的维度和 ddd 维度的关系。
  • Sigmoid核K(x1,x2)=tanh(β1x1Tx2+β2)K(x_1, x_2) = tanh(\beta_1x_1^Tx_2 + \beta_2)K(x1,x2)=tanh(β1x1Tx2+β2)

Mercer’s Theorem

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

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

补充知识:优化理论

原问题(Prime Problem)(非常普适)
  • 最小化
  • min⁡f(ω)\min f(\omega)minf(ω)
  • 限制条件s.t.
  • gi(ω)⩽0(i=1,2,3,...,K)g_i(\omega) \leqslant 0 (i=1,2,3,...,K)gi(ω)0(i=1,2,3,...,K)
  • hi(ω)=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=1Kαigi(ω)+∑i=1Mβihi(ω)=f(ω)+αTg(ω)+βTh(ω)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α 是一个 KKK 维向量,与 gi(ω)⩽0g_i(\omega) \leqslant 0gi(ω)0 的多项式个数相同;β\betaβ 是一个 MMM 维向量,与 hi(ω)=0h_i(\omega) = 0hi(ω)=0 的多项式个数相同。式子最右侧 g(ω)=[g1(ω)g2(ω)...gK(ω)]g(\omega) = \left[\begin{matrix}g_1(\omega) \\ g_2(\omega) \\...\\g_K(\omega)\end{matrix}\right]g(ω)=g1(ω)g2(ω)...gK(ω),然后 h(ω)=[h1(ω)h2(ω)...hM(ω)]h(\omega) = \left[\begin{matrix}h_1(\omega) \\ h_2(\omega) \\...\\h_M(\omega)\end{matrix}\right]h(ω)=h1(ω)h2(ω)...hM(ω)

对偶问题的定义

  • 最大化
  • max⁡[Θ(α,β)=inf⁡all(ω)[L(ω,α,β)]]\max\left[\Theta(\alpha, \beta) = \inf\limits_{all(\omega)}\left[L(\omega, \alpha, \beta)\right]\right]max[Θ(α,β)=all(ω)inf[L(ω,α,β)]],其中 inf⁡\infinf 表示求最小值,在什么情况下求最小值呢?在限定 α\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⁡all(ω)[L(ω,α∗,β∗)]⩽L(ω∗,α∗,β∗)=f(ω∗)+∑i=1Kαi∗gi(ω∗)+∑i=1Mβi∗hi(ω∗)\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(ω),其中限制条件为:{gi(ω∗)⩽0(i=1,2,3,...,K)hi(ω∗)=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=1Kαi∗gi(ω∗)⩽0\sum\limits_{i=1}^K\alpha_i^*g_i(\omega^*) \leqslant 0i=1Kαigi(ω)0 并且 ∑i=1Mβi∗hi(ω∗)=0\sum\limits_{i=1}^M\beta_i^*h_i(\omega^*)=0i=1Mβihi(ω)=0,我们得出结论:Θ(α∗,β∗)⩽f(ω∗)\Theta(\alpha^*,\beta^*) \leqslant f(\omega^*)Θ(α,β)f(ω),即证定理。

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

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

强对偶定理

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

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

经上述补充,目的是将拓展维度后的限制条件:yi[ωTφ(xi)+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,在解决对偶问题时会消除 φ(xi)\varphi(x_i)φ(xi),只使用 K(x1,x2)K(x_1, x_2)K(x1,x2)


什么是凸函数?

在这里插入图片描述

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

  • 最小化
  • min⁡ω,b[ 12∥ω∥2+C∑i=1Nξ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 为松弛变量 slackvariableslack variableslackvariablei=1,2,...,Ni=1, 2, ..., Ni=1,2,...,N
  • 限制条件s.t.
  • yi[ωTxi+b]⩾1−ξiy_i\left[\omega^Tx_i+b\right] \geqslant 1-\xi_iyi[ωTxi+b]1ξii=1,2,...,Ni=1, 2, ..., Ni=1,2,...,N
  • ξi⩾0\xi_i \geqslant 0ξi0i=1,2,...,Ni=1, 2, ..., Ni=1,2,...,N

原问题:

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

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

  • 最小化
  • min⁡ω,b[ 12∥ω∥2−C∑i=1Nξ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,因此需将 CCC 前的系数由正变为负)
  • 限制条件s.t.
  • 1+ξi−yi[ωTxi+b]⩽01+\xi_i-y_i\left[\omega^Tx_i+b\right] \leqslant 01+ξiyi[ωTxi+b]0i=1,2,...,Ki=1, 2, ..., Ki=1,2,...,K
  • ξi⩽0\xi_i \leqslant 0ξi0i=1,2,...,Ki=1, 2, ..., Ki=1,2,...,K

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

  • 最大化
  • Θ(α,β)=inf⁡all(ω,ξi,β)[12∥ω∥2−C∑i=1Nξi+∑i=1Nβiξi+∑i=1Nαi[1+ξi−yiωTφ(xi)−yib]]\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⩾0i=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=1Kαigi(ω)+∑i=1Mβihi(ω)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非线性问题的对偶问题 12∥ω∥2−C∑i=1Nξi+∑i=1Nβiξi+∑i=1Nαi[1+ξi−yiωTφ(xi)−yib]\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] 后,因对于对偶问题,限制条件 gi(ω)⩽0g_i(\omega) \leqslant 0gi(ω)0 这一个条件在SVM非线性下对偶问题中有两个限制条件 {1+ξi−yi[ωTxi+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=1Kαigi(ω)+∑i=1Mβihi(ω)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=1Kαigi(ω)\sum\limits_{i=1}^K\alpha_ig_i(\omega)i=1Kαigi(ω) 这一部分转换为了 ∑i=1Nβiξi+∑i=1Nαi[1+ξi−yiωTφ(xi)−yib]\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 转换而成,这一点一定要注意,很容易混淆,前者所对应的 hi(ω)=0h_i(\omega)=0hi(ω)=0 这个限制条件在SVM非线性的对偶问题中并未出现,并且尽管出现也为0,因此在SVM非线性对偶问题中不会出现前者的那个 βi\beta_iβi

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

  • 最大化
  • Θ(α,β)=inf⁡all(ω,ξi,β)[12∥ω∥2−C∑i=1Nξi+∑i=1Nβiξi+∑i=1Nαi[1+ξi−yiωTφ(xi)−yib]]\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⩾0i=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)=12∥ω∥2−C∑i=1Nξi+∑i=1Nβiξi+∑i=1Nαi[1+ξi−yiωTφ(xi)−yib]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) 最小,接下来我们分别对 LLL 关于 ω,ξ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)=12∥ω∥2−C∑i=1Nξi+∑i=1Nβiξi+∑i=1Nαi[1+ξi−yiωTφ(xi)−yib]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(ω)=12∥ω∥2f(\omega) = \frac{1}{2}\|\omega\|^2f(ω)=21ω2,则 ∂f∂ω=ω\frac{\partial f}{\partial \omega} = \omegaωf=ω
(2)若 f(ω)=ωTxf(\omega) = \omega^Txf(ω)=ωTx,则 ∂f∂ω=x\frac{\partial f}{\partial \omega} = xωf=x

∂L∂ω=0⇒ω−∑i=1Nαiyiφ(xi)=0⇒ω=∑i=1Nαiyiφ(xi)\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=1Nαiyi=0\frac{\partial L}{\partial b} = 0 \Rightarrow \sum\limits_{i=1}^N\alpha_iy_i=0bL=0i=1Nαiyi=0

我们将上述三个式子带入到SVM非线性的对偶问题中可求最小值,首先将 βi+αi=C\beta_i + \alpha_i = Cβi+αi=C 带入消项,然后由 ∑i=1Nαiyi=0\sum\limits_{i=1}^N\alpha_iy_i=0i=1Nαiyi=0 消项,最终得到下面的等式:
Θ(α,β)=inf⁡all(ω,ξi,b)[12∥ω∥2+∑i=1Nαi[1−yiωTφ(xi)]]\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)]]

其中 12∥ω∥2=12ωTω=12[∑i=1Nαiyiφ(xi)]T[∑j=1Nαjyjφ(xj)]=12∑i=1N∑j=1Nαiαjyiyjφ(xi)Tφ(xj)\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,ji,ji,j 区分开,由前面的知识我们知道,yi,yjy_i,y_jyi,yj 只能取 ±1\pm1±1。此时我们可将 φ(xi)Tφ(xj)\varphi(x_i)^T\varphi(x_j)φ(xi)Tφ(xj) 转为核函数 K(xi,xj)K(x_i, x_j)K(xi,xj)

其中 −∑i=1NαiyiωTφ(xi)=−∑i=1Nαiyi[∑j=1Nαjyjφ(xj)]Tφ(xi)=−∑i=1N∑j=1Nαiαjyiyjφ(xj)Tφ(xi)-\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),该式也可将 φ(xj)Tφ(xi)\varphi(x_j)^T\varphi(x_i)φ(xj)Tφ(xi) 转为核函数 K(xi,xj)K(x_i, x_j)K(xi,xj)

最后我们得到以下结果:
Θ(α,β)=∑i=1Nαi−12∑i=1N∑j=1NαiαjyiyjK(xi,xj)\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=1Nαi−12∑i=1N∑j=1NαiαjyiyjK(xi,xj)\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=1Nαiyi=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β 是不出现的。限制条件第二个是由令 LLL 关于 bbb 求偏导数为零得到的。此时的问题也是凸优化问题。我们已知的是 yi,yj,K(xi,xj)y_i,y_j,K(x_i,x_j)yi,yj,K(xi,xj),未知的是所有的 α\alphaα。解决此处的凸优化问题所使用的标准算法为:SMO算法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值