1. SVM基本型
分离超平面: ω T x + b = 0 \omega^Tx+b=0 ωTx+b=0
间隔边界: ω T x + b = ± 1 \omega^Tx+b=±1 ωTx+b=±1
支持向量: y i ( ω T x i + b ) = 1 y_i(\omega^Tx_i+b)=1 yi(ωTxi+b)=1
原始问题
m i n ω , b 1 2 ∣ ∣ ω ∣ ∣ 2 \underset{\omega,b}{min} \quad \frac{1}{2}||\omega||^2 ω,bmin21∣∣ω∣∣2 s . t . 1 − y i ( ω T x i + b ) ≤ 0 , i = 1 , 2 , . . . , n s.t. \quad 1-y_i(\omega^Tx_i+b)≤0, \quad i=1,2,...,n s.t.1−yi(ωTxi+b)≤0,i=1,2,...,n
变量: ω = ( ω 1 , ω 2 , . . . , ω d ) T , b \omega=(\omega_1,\omega_2,...,\omega_d)^T,b ω=(ω1,ω2,...,ωd)T,b
约束: n n n个不等式约束
模型推导:
样本点 x x x到超平面 ( ω , b ) (\omega,b) (ω,b)的距离 d = ∣ ω T x + b ∣ ∣ ∣ ω ∣ ∣ d=\frac{|\omega^Tx+b|}{||\omega||} d=∣∣ω∣∣∣ωTx+b∣,我们可以对 ( ω , b ) (\omega,b) (ω,b)进行适当缩放,最终使得在支持向量 x 0 x_0 x0上有 ∣ ω T x 0 + b ∣ = ± 1 |\omega^Tx_0+b|=±1 ∣ωTx0+b∣=±1,此时支持向量到超平面的距离为 1 ∣ ∣ ω ∣ ∣ \frac{1}{||\omega||} ∣∣ω∣∣1。
间隔定义为两个异类支持向量到超平面的距离之和,即 2 ∣ ∣ ω ∣ ∣ \frac{2}{||\omega||} ∣∣ω∣∣2,优化目标转化为最大化 2 ∣ ∣ ω ∣ ∣ \frac{2}{||\omega||} ∣∣ω∣∣2,也就是最小化 ∣ ∣ ω ∣ ∣ ||\omega|| ∣∣ω∣∣或 ∣ ∣ ω ∣ ∣ 2 ||\omega||^2 ∣∣ω∣∣2,此处带有 1 2 \frac{1}{2} 21的原因是便于后续求导。
约束条件的意义在于所有样本点都需要满足该硬性条件,我愿称之为“硬间隔”。
对偶问题
m i n λ 1 2 Σ i = 1 n Σ j = 1 n y i y j x i T x j λ i λ j − Σ i = 1 n λ i \underset{\lambda}{min} \quad \frac{1}{2}\Sigma_{i=1}^n\Sigma_{j=1}^ny_iy_jx_i^Tx_j\lambda_i\lambda_j-\Sigma_{i=1}^n\lambda_i λmin21Σi=1nΣj=1nyiyjxiTxjλiλj−Σi=1nλi s . t . Σ i = 1 n λ i y i = 0 , s.t. \quad \Sigma_{i=1}^n\lambda_iy_i=0, s.t.Σi=1nλiyi=0, λ i ≥ 0 , i = 1 , 2 , . . . , n \lambda_i≥0, \quad i=1,2,...,n λi≥0,i=1,2,...,n
模型推导:
采用拉格朗日乘子法,定义拉格朗日函数: L ( ω , b , α ) = 1 2 ∣ ∣ ω ∣ ∣ 2 + Σ i = 1 n λ i ( 1 − y i ( ω T x i + b ) ) , λ i ≥ 0 L(\omega,b,\alpha)=\frac{1}{2}||\omega||^2+\Sigma_{i=1}^n\lambda_i(1-y_i(\omega^Tx_i+b)), \quad \lambda_i≥0 L(ω,b,α)=21∣∣ω∣∣2+Σi=1nλi(1−yi(ωTxi+b)),λi≥0令 L ( ω , b , α ) L(\omega,b,\alpha) L(ω,b,α)对 ω \omega ω和 b b b的偏导为0可得: ω = Σ i = 1 n λ i y i x i \omega=\Sigma_{i=1}^n\lambda_iy_ix_i ω=Σi=1nλiyixi 0 = Σ i = 1 n λ i y i 0=\Sigma_{i=1}^n\lambda_iy_i 0=Σi=1nλiyi将 ω \omega ω代入拉格朗日函数中即得对偶模型。
KKT条件
原始问题为极大极小问题(推导见下),即: m i n ω , b m a x λ ≥ 0 L ( ω , b , α ) \underset{\omega,b}{min}\underset{\lambda≥0}{max}L(\omega,b,\alpha) ω,bminλ≥0maxL(ω,b,α);
而对偶问题为极小极大问题(由定义),即: m a x λ ≥ 0 m i n ω , b L ( ω , b , α ) \underset{\lambda≥0}{max} \underset{\omega,b}{min}L(\omega,b,\alpha) λ≥0maxω,bminL(ω,b,α)。
原问题为凸优化问题,当 f ( x ) , g ( x ) f(x),g(x) f(x),g(x)为凸函数,且可行域中至少有一点使不等式约束严格成立时,强对偶性成立,对偶问题等价于原问题。即需要满足 K K T KKT KKT条件: { ω = Σ i = 1 n λ i y i x i , 0 = Σ i = 1 n λ i y i λ i ≥ 0 λ i [ 1 − y i ( ω T x i + b ) ] = 0 1 − y i ( ω T x i + b ) ≤ 0 \begin{cases} \omega=\Sigma_{i=1}^n\lambda_iy_ix_i, \quad 0=\Sigma_{i=1}^n\lambda_iy_i\\ \lambda_i≥0\\ \lambda_i[1-y_i(\omega^Tx_i+b)]=0\\ 1-y_i(\omega^Tx_i+b)≤0\\ \end{cases} ⎩⎪⎪⎪⎨⎪⎪⎪⎧ω=Σi=1nλiyixi,0=Σi=1nλiyiλi≥0λi[1−yi(ωTxi+b)]=01−yi(ωTxi+b)≤0
KKT条件推导如下:
当约束不起作用时,极小值在可行域内某处取得,而不在边界处取得,故此时 g ( x ∗ ) < 0 g(x^*)<0 g(x∗)<0, g ( x ) g(x) g(x)不起作用,故 λ = 0 \lambda=0 λ=0,由极小值点梯度为零知 ∇ x f ( x ∗ ) = 0 \nabla_xf(x^*)=0 ∇xf(x∗)=0。
当约束起作用时,极小值在可行域边界处取得,故此时 g ( x ∗ ) = 0 g(x^*)=0 g(x∗)=0,易知 λ > 0 \lambda>0 λ>0,故由极小值点梯度为零知 − ∇ x f ( x ∗ ) = λ ∇ x f ( x ∗ ) -\nabla_xf(x^*)=\lambda\nabla_xf(x^*) −∇xf(x∗)=λ∇xf(x∗)。
于是我们得到KKT条件,即 x ∗ x^* x∗是局部最小的等价条件为,存在唯一的 λ ∗ \lambda^* λ∗,使得: { ∇ x L ( x ∗ , λ ∗ ) = 0 λ ∗ ≥ 0 λ ∗ g ( x ∗ ) = 0 g ( x ∗ ) ≤ 0 \begin{cases} \nabla_xL(x^*,\lambda^*)=0\\ \lambda^*≥0\\ \lambda^*g(x^*)=0\\ g(x*)≤0 \end{cases} ⎩⎪⎪⎪⎨⎪⎪⎪⎧∇xL(x∗,λ∗)=0λ∗≥0λ∗g(x∗)=0g(x∗)≤0
支持向量的探讨
假设已知支持向量 ( x s , y s ) (x_s,y_s) (xs,ys),易知 y s ( ω T x s + b ) − 1 = 0 y_s(\omega^Tx_s+b)-1=0 ys(ωTxs+b)−1=0,又已知 ω = Σ i = 1 n λ i y i x i \omega=\Sigma_{i=1}^n\lambda_iy_ix_i ω=Σi=1nλiyixi,故 b = y s − ω T x s = y s − Σ i = 1 n λ i y i x i T x s b=y_s-\omega^Tx_s=y_s-\Sigma_{i=1}^n\lambda_iy_ix_i^Tx_s b=ys−ωTxs=ys