一般地,当训练数据集线性可分时,存在无穷个分离超平面可将两类数据正确分开。感知机利用误分类最小的策略,求得分离超平面,不过这时的解有无穷多个。线性可分支持向量机利用间隔最大化求最优分离超平面,这时,解是唯一的。
给定线性可分训练数据集,通过间隔最大化等价地求解相应的凸二次规划问题学习得到的分离超平面为 w T ⋅ x + b = 0 \color{blue}w^T\cdot x+b=0 wT⋅x+b=0以及相应的分类决策函数 f ( x ) = s i g n ( w T ⋅ x + b ) \color{blue}f(x)=sign(w^T\cdot x+b) f(x)=sign(wT⋅x+b)称为线性可分支持向量机。其中, w w w和 x x x是向量,其维度是特征空间的维度, b b b是常数。
线性可分可以简单认为是,对数据集的所有实例,有
y i ⋅ [ w T ⋅ x + b ] > 0 \LARGE\bold\color{blue}\textit{y}_ \textit{i}\cdot[ \textit{w}^T\cdot \textit{x}+ \textit{b}] \gt 0 yi⋅[wT⋅x+b]>0
讨论SVM的优化问题之前,我们先回顾两个事实:
下面考虑如何求得一个最大间隔的分离超平面,具体地,这个问题可以表示为约束最优化问题:
max w , b d = ∣ w T ⋅ x + b ∣ ∣ ∣ w ∣ ∣ s . t . y i ⋅ w T ⋅ x i + b ∣ ∣ w ∣ ∣ ≥ d , i = 1 , 2 , ⋯ , n \begin{aligned}\displaystyle &\max_{w,b}\quad d =\frac{|w^T\cdot x+b|}{||w||}\\ \\ &s.t. \quad y_i \cdot \frac{w^T\cdot x_i+b}{||w||} \ge d,\quad\quad i=1,2,\cdots,n \end{aligned} w,bmaxd=∣∣w∣∣∣wT⋅x+b∣s.t.yi⋅∣∣w∣∣wT⋅xi+b≥d,i=1,2,⋯,n
其含义是我们要求一束平面的法向量,使其与支持向量相切时的两个平面间的距离 d d d最大,约束条件自然是每个实例点到分离超平面的距离要大于等于d,这里乘以 y i y_i yi是为了让距离都为正数,避免负数的运算, y y y的取值为 { − 1 , + 1 } \{-1,+1\} {−1,+1}。
但是,这种形式无法求解,我们需要寻找等价的求解。根据上面提到的事实1,可以发现
max w , b d = ∣ a w T ⋅ x + a b ∣ ∣ ∣ a w ∣ ∣ = a ∣ w T ⋅ x + b ∣ a ∣ ∣ w ∣ ∣ = ∣ w T ⋅ x + b ∣ ∣ ∣ w ∣ ∣ , a ∈ R + s . t . y i ⋅ w T ⋅ x i + b ∣ ∣ w ∣ ∣ ≥ d , i = 1 , 2 , ⋯ , n \begin{aligned}\displaystyle &\max_{w,b}\quad d =\frac{|aw^T\cdot x+ab|}{||aw||}=\frac{a|w^T\cdot x+b|}{a||w||}=\frac{|w^T\cdot x+b|}{||w||},\quad a\in \R^+\\ \\ &s.t. \quad y_i \cdot\frac{w^T\cdot x_i+b}{||w||}\ge d,\quad\quad i=1,2,\cdots,n \end{aligned} w,bmaxd=∣∣aw∣∣∣awT⋅x+ab∣=a∣∣w∣∣a∣wT⋅x+b∣=∣∣w∣∣∣wT⋅x+b∣,a∈R+s.t.yi⋅∣∣w∣∣wT⋅xi+b≥d,i=1,2,⋯,n所以,我们可以让 ∣ w T ⋅ x + b ∣ |w^T\cdot x+b| ∣wT⋅x+b∣等于一个常数 c c c,这样, ∣ a w T ⋅ x + a b ∣ |aw^T\cdot x+ab| ∣awT⋅x+ab∣就可以表示为 ∣ a c ∣ |ac| ∣ac∣,由 w , b w,b w,b控制转化为由 a a a控制表达式的值,取 c = 1 c=1 c=1,则,原问题转化为: max w , b d = ∣ a c ∣ ∣ ∣ a w ∣ ∣ = 1 ∣ ∣ w ∣ ∣ s . t . y i ⋅ w T ⋅ x i + b ∣ ∣ w ∣ ∣ ≥ d , i = 1 , 2 , ⋯ , n \begin{aligned}\displaystyle &\max_{w,b}\quad d =\frac{|ac|}{||aw||}=\frac{1}{||w||}\\ \\ &s.t. \quad y_i \cdot \frac{w^T\cdot x_i+b}{||w||}\ge d,\quad\quad i=1,2,\cdots,n \end{aligned} w,bmaxd=∣∣aw∣∣∣ac∣=∣∣w∣∣1s.t.yi⋅∣∣w∣∣wT⋅xi+b≥d,i=1,2,⋯,n
【注】对于用一个常数代替 w T ⋅ x + b w^T\cdot x + b wT⋅x+b,我的理解是,对于一个超平面 ( w , b ) (w,b) (w,b),训练集的支持向量是确定的(平面确定了,那么支持向量自然而然应该也确定了,通过平移找到边界相切点即可),所以其到超平面的距离是确定的(都是 w w w 和 b b b 的函数),因而 ∣ w T ⋅ x + b ∣ |w^T\cdot x + b| ∣wT⋅x+b∣ 也是确定的
此问题等价于下面的约束问题:
min 1 2 ∣ ∣ w ∣ ∣ 2 s . t . y i ⋅ [ w T ⋅ x i + b ] ≥ 1 , i = 1 , 2 , ⋯ , n \begin{aligned} &\min \quad \frac{1}{2}||w||^2 \\ \\ &s.t. \quad y_i \cdot [w^T\cdot x_i+b]\ge 1,\quad\quad i=1,2,\cdots,n \end{aligned} min21∣∣w∣∣2s.t.yi⋅[wT⋅xi+b]≥1,i=1,2,⋯,n这里的等价形式设为 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21∣∣w∣∣2 是为了后面求解时方便求导,至此问题已经转化为凸优化问题中的二次规划问题,其特性是要么无解,要么有唯一解
此优化式并不能解决所有的非线性问题,如异或问题,在当前特征空间找不到分离超平面时,可以通过高维映射,在高维空间中找分离超平面 低 维 x → φ 高 维 φ ( x ) 低维x\xrightarrow{\varphi}高维\varphi(x) 低维xφ高维φ(x)如: x = [ a b ] → φ φ ( x ) = [ a 2 b 2 a b a b ] x=\begin{bmatrix}a\\b\end{bmatrix}\xrightarrow{\varphi}\varphi(x)=\begin{bmatrix}a^2\\b^2\\a\\b\\ab\end{bmatrix} x=[ab]φφ(x)=⎣⎢⎢⎢⎢⎡a2b2abab⎦⎥⎥⎥⎥⎤原来二维空间无法找到分离超平面,现在映射到五维就能够找到分离超平面了。此时,上面的约束条件要做一些改变: min 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 n ξ i s . t . { y i ⋅ [ w T ⋅ φ ( x i ) + b ] ≥ 1 − ξ i ξ i ≥ 0 i = 1 , 2 , ⋯ , n ⋯ ⋯ ② \begin{aligned}\displaystyle &\min \quad\frac{1}{2}||w||^2+C\sum_{i=1}^n \xi_i \\ &s.t.\quad\quad \begin{cases} y_i \cdot [w^T \cdot \varphi(x_i)+b] \ge1-\xi_i \\ \xi_i \ge0 \end{cases}\quad i=1,2,\cdots,n \end{aligned} \quad\cdots\cdots② min21∣∣w∣∣2+Ci=1∑nξis.t.{yi⋅[wT⋅φ(xi)+b]≥1−ξiξi≥0i=1,2,⋯,n⋯⋯②此外,可以证明,映射的维度越高能找到分离超平面的概率越大,维度趋近于无穷时,概率趋近于1,所以选取 φ ( x ) \varphi(x) φ(x)时尽量选择的维度越高越好。但是,趋近于无限维给我们求解带来了困难,我们有如下方法。
现在假设我们知道了核函数,那么如何解优化式②呢?
原问题与对偶问题
- 原问题(Prime Problem)
min f ( w ) s . t . { g i ( w ) ≤ 0 i = 1 ∼ K h j ( w ) = 0 j = 1 ∼ M \begin{aligned}&\min\quad f(w)\\&s.t. \begin{cases}g_i(w)\le0\quad &i=1\sim K \\ h_j(w)=0\quad &j=1\sim M\end{cases}\end{aligned} minf(w)s.t.{gi(w)≤0hj(w)=0i=1∼Kj=1∼M- 对偶问题(Dual Problem)
首先给出如下函数定义
L ( w , α , β ) = f ( w ) + ∑ i = 1 K α i g i ( w ) + ∑ j = 1 M β j h j ( w ) = f ( w ) + α T g ( w ) + β T h ( w ) \begin{aligned}L(w,\alpha,\beta)=& f(w)+\sum_{i=1}^{K}\alpha_i g_i(w)+\sum_{j=1}^{M}\beta_j h_j(w) \\ =& f(w) + \alpha^Tg(w)+\beta^T h(w)\end{aligned} L(w,α,β)==f(w)+i=1∑Kαigi(w)+j=1∑Mβjhj(w)f(w)+αTg(w)+βTh(w)
对偶问题的定义如下
max θ ( α , β ) = inf 所 有 w { L ( w , α , β ) } s . t . α i ≥ 0 i = 1 ∼ K \begin{aligned}&\displaystyle\max\quad \theta(\alpha,\beta)= \inf_{所有 w}\{L(w,\alpha,\beta)\}\\&s.t. \quad\quad\alpha_i\ge0\quad\quad i=1\sim K\end{aligned} maxθ(α,β)=所有winf{L(w,α,β)}s.t.αi≥0i=1∼K其中 inf \inf inf 的含义是求最小值,这里是先把 α , β \alpha,\beta α,β 当做常数,求关于 w w w的最小值。
定理
如果 w ∗ w^* w∗ 是原问题的解,而 α ∗ , β ∗ \alpha^*,\beta^* α∗,β∗ 是对偶问题的解,则有 f ( w ∗ ) ≥ θ ( α ∗ , β ∗ ) f(w^*)\ge\theta(\alpha^*,\beta^*) f(w∗)≥θ(α∗,β∗) 定义 G = f ( w ∗ ) − θ ( α ∗ , β ∗ ) ≥ 0 G=f(w^*)-\theta(\alpha^*,\beta^*)\ge0 G=f(w∗)−θ(α∗,β∗)≥0, G G G叫做原问题与对偶问题的间距(duality gap),对于某些特定优化问题,可以证明 G = 0 G=0 G=0
强对偶定理
若 f ( w ) f(w) f(w)为凸函数,,且 g ( w ) = A w + B , h ( w ) = C w + D g(w)=Aw+B,\quad h(w)=Cw+D g(w)=Aw+B,h(w)=Cw+D,则此优化问题的原问题与对偶问题间距为 0 0 0,即 f ( w ∗ ) = θ ( α ∗ , β ∗ ) f(w^*)=\theta(\alpha^*,\beta^*) f(w∗)=θ(α∗,β∗)
min f ( w ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 n ξ i ( 凸 函 数 ) s . t . { y i ⋅ [ w T ⋅ φ ( x i ) + b ] ≥ 1 − ξ i ξ i ≥ 0 i = 1 , 2 , ⋯ , n \begin{aligned}\displaystyle &\min \quad f(w)=\frac{1}{2}||w||^2+C\sum_{i=1}^n \xi_i \quad (凸函数)\\ &s.t.\quad \begin{cases} y_i \cdot [w^T \cdot \varphi(x_i)+b] \ge1-\xi_i \\ \xi_i \ge0 \end{cases}\quad i=1,2,\cdots,n \end{aligned} minf(w)=21∣∣w∣∣2+Ci=1∑nξi(凸函数)s.t.{yi⋅[wT⋅φ(xi)+b]≥1−ξiξi≥0i=1,2,⋯,n由于原问题定义中约束条件都是小于等于零的,故第一步改变如下: min f ( w ) = 1 2 ∣ ∣ w ∣ ∣ 2 − C ∑ i = 1 n ξ i ( 凸 函 数 ) s . t . { 1 + ξ i − y i ⋅ [ w T ⋅ φ ( x i ) + b ] ≤ 0 ξ i ≤ 0 i = 1 , 2 , ⋯ , n \begin{aligned}\displaystyle &\min \quad f(w)=\frac{1}{2}||w||^2-C\sum_{i=1}^n \xi_i \quad (凸函数)\\ &s.t.\quad \begin{cases} 1+\xi_i -y_i \cdot [w^T \cdot \varphi(x_i)+b] \le0\\ \xi_i \le0 \end{cases}\quad i=1,2,\cdots,n \end{aligned} minf(w)=21∣∣w∣∣2−Ci=1∑nξi(凸函数)s.t.{1+ξi−yi⋅[wT⋅φ(xi)+b]≤0ξi≤0i=1,2,⋯,n下面将其转化为对偶问题(根据强对偶定理,原问题和对偶问题同解): L ( w , ξ i , b ) = 1 2 ∣ ∣ w ∣ ∣ 2 − C ∑ i = 1 n ξ i + ∑ i = 1 n α i [ 1 + ξ i − y i w T φ ( x i ) + y i b ] + ∑ i = 1 n β i ξ i max θ ( α , β ) = inf 所 有 的 w , ξ i , b L ( w , ξ i , b ) s . t . { α i ≥ 0 β i ≥ 0 i = 1 , 2 , ⋯ , n \begin{aligned}\displaystyle &L(w,\xi_i,b)= \frac{1}{2}||w||^2-C\sum_{i=1}^n \xi_i +\sum_{i=1}^{n}\alpha_i [1+\xi_i -y_i w^T \varphi(x_i)+y_i b]+\sum_{i=1}^{n}\beta_i \xi_i\\ &\max \quad \theta(\alpha,\beta)=\displaystyle\inf_{所有的w,\xi_i,b}L(w,\xi_i,b)\\ &s.t.\quad \begin{cases} \alpha_i \ge0\\ \beta_i \ge0 \end{cases}\quad i=1,2,\cdots,n \end{aligned} L(w,ξi,b)=21∣∣w∣∣2−Ci=1∑nξi+i=1∑nαi[1+ξi−yiwTφ(xi)+yib]+i=1∑nβiξimaxθ(α,β)=所有的w,ξi,binfL(w,ξi,b)s.t.{αi≥0βi≥0i=1,2,⋯,n
这里利用矩阵分析可以得出:
- 若 f ( w ) = 1 2 ∣ ∣ w ∣ ∣ 2 \displaystyle f(w)=\frac{1}{2}||w||^2 f(w)=21∣∣w∣∣2,则 ∂ f ∂ w = w \displaystyle \frac{\partial f}{\partial w}=w ∂w∂f=w
- 若 f ( w ) = w T x \displaystyle f(w)=w^Tx f(w)=wTx,则 ∂ f ∂ w = x \displaystyle \frac{\partial f}{\partial w}=x ∂w∂f=x
测试流程
- 测试样本X
- 若 w T φ ( x ) + b ≥ 0 \displaystyle w^T\varphi(x)+b\ge0 wTφ(x)+b≥0,则 y = + 1 y=+1 y=+1
- 若 w T φ ( x ) + b < 0 \displaystyle w^T\varphi(x)+b\lt0 wTφ(x)+b<0,则 y = − 1 y=-1 y=−1
根据测试流程,我们不需要知道 w w w和 b b b具体多少,只要能得到表达式的值就行,然后代入 s i g n sign sign函数分类即可。