在之前的两篇文章中[1][2]分别用两种方法介绍了如何求得目标优化函数,这篇文章就来介绍如何用拉格朗日对偶(Lagrange duality)问题以及SMO算法求解这一目标函数,最终得到参数。
本文主要分为如下部分:
1.构造广义拉格朗日函数 L ( w , b , α ) \mathcal{L}(w,b,\alpha) L(w,b,α)
2.关于参数 w , b w,b w,b,求 L \mathcal{L} L的极小值 W ( α ) W(\alpha) W(α)
3.使用SMO算法求 W ( α ) W(\alpha) W(α)的极大值
4.求解参数 w , b w,b w,b
其中2,3,4也是求解对偶问题的一般步骤。
1.构造广义拉格朗日函数 L ( w , b , α ) \mathcal{L}(w,b,\alpha) L(w,b,α)
由上文可知SVM最终的优化目标为:
min ω , b 1 2 ∣ ∣ ω ∣ ∣ 2 s. t. y i ( ω T x i + b ) ≥ 1 , i = 1 , 2 , . . . , m (1.1) \begin{array}{l} \min_{\boldsymbol{\omega},b}\frac{1}{2}||\boldsymbol{\omega}||^2\\ ~\\ \textrm{s. t.}~ ~y_i(\boldsymbol{\omega}^T\boldsymbol{x}_i+b)\geq 1,~~i = 1,2,...,m \end{array} \tag{1.1} minω,b21∣∣ω∣∣2 s. t. yi(ωTxi+b)≥1, i=1,2,...,m(1.1)
由此我们可以得到广义的拉格朗日函数为:
G e n e r a l i z e d L a g r a n g i a n \bf{Generalized\;Lagrangian} GeneralizedLagrangian
L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 m α i [ y ( i ) ( w T x ( i ) + b ) − 1 ] s . t . g i ( w ) = − y ( i ) ( w T x ( i ) + b ) + 1 ≤ 0 (1.2) \begin{aligned} &\mathcal{L}(w,b,\alpha)=\frac{1}{2}||w||^2-\sum_{i=1}^m\alpha_i\large[y^{(i)}(w^Tx^{(i)}+b)-1]\\[2ex] &s.t.\;g_i(w)=-y^{(i)}(w^Tx^{(i)}+b)+1\leq0\tag{1.2} \end{aligned} L(w,b,α)=21∣∣w∣∣2−i=1∑mαi[y(i)(wTx(i)+b)−1]s.t.gi(w)=−y(i)(wTx(i)+b)+1≤0(1.2)
注:此处有两个参数 w , b w,b w,b,一个拉格朗日乘子向量 α \alpha α,且 α i ≥ 0 \alpha_i\geq0 αi≥0,因为只有这样才能满足 1 2 ∣ ∣ w ∣ ∣ 2 = max L \frac{1}{2}||w||^2=\max\mathcal{L} 21∣∣w∣∣2=maxL;(详见此处)
由对偶性:
d ∗ = max α , α i ≥ 0 min w , b L ( w , b , α ) = min w , b max α , α i ≥ 0 L ( ω , α , β ) = p ∗ (1.3) d^*=\max_{\alpha,\alpha_i\geq0}\min_{w,b}\mathcal{L}(w,b,\alpha)=\min_{w,b}\max_{\alpha,\alpha_i\geq0}\mathcal{L}(\omega,\alpha,\beta)=p^*\tag {1.3} d∗=α,αi≥0maxw,bminL(w,b,α)=w,bminα,αi≥0maxL(ω,α,β)=p∗(1.3)
可知,对偶问题 d ∗ d^* d