原始SVM优化问题中原问题和对偶问题的理解
这个问题已经烂大街了,也不介意我掺一脚,算是个人小总结,目的是优雅的追求,Elegant!
SVM的原问题
原始问题的形式如下:
min
w
,
b
1
2
∥
w
∥
2
s
.
t
.
1
−
y
i
(
w
T
x
i
+
b
)
≤
0
\min_{w,b} \frac12\|w\|^2\\ s.t.\quad 1-y_i(w^Tx_i+b)\le 0
w,bmin21∥w∥2s.t.1−yi(wTxi+b)≤0
原问题的推理过程:
对于所有样本 x i x_i xi,我们需要找到一个超平面 w T x + b = 0 w^Tx+b=0 wTx+b=0将空间划分,那么对于任何样本 ( x i , y i ) (x_i,y_i) (xi,yi),y是标签x是特征,要求满足 y i ( w T x i + b ) > 0 y_i(w^Tx_i+b)>0 yi(wTxi+b)>0。
此外SVM要求间隔最大,间隔可以描述为在所有样本中距离超平面距离最小的那个点与超平面的距离。我们需要这样的一个最小的距离最大:
最小间隔为 min x i ∣ w T x i + b ∣ ∥ w ∥ \min_{x_i} \frac{|w^Tx_i+b|}{\|w\|} minxi∥w∥∣wTxi+b∣(注意这里是 ∥ w ∥ \|w\| ∥w∥而不是 ∥ w ∥ 2 \|w\|^2 ∥w∥2)
再让间隔最大,优化问题写作:
max w , b min x i ∣ w T x i + b ∣ ∥ w ∥ s . t . y i ( w T x i + b ) ≥ 0 \max_{w,b}\min_{x_i} \frac{|w^Tx_i+b|}{\|w\|}\\ s.t.\quad y_i(w^Tx_i+b)\ge0 w,bmaxximin∥w∥∣wTxi+b∣s.t.yi(wTxi+b)≥0
很明显这个优化问题是多解的,如果 ( w ∗ , b ∗ ) (w^*,b^*) (w∗,b∗)是一个最优解,那么 ( 2 w ∗ , 2 b ∗ ) (2w^*,2b^*) (2w∗,2b∗)也必须是一个最优解,因此我们总可以调整 ( w ∗ , b ∗ ) (w^*,b^*) (w∗,b∗)的放缩系数得到一个最优解使得最小间隔 min x i ∣ ( w ∗ ) T x i + b ∗ ∣ ∥ w ∗ ∥ = 1 ∥ w ∗ ∥ \min_{x_i} \frac{|(w^*)^Tx_i+b^*|}{\|w^*\|}=\frac{1}{\|w^*\|} minxi∥w∗∥∣(w∗)Txi+b∗∣=∥w∗∥1
我们让过程再优雅一点,Elegant一点!
我们可以通过添加限制条件排除多解的问题
max w , b min x i ∣ w T x i + b ∣ ∥ w ∥ s . t . y i ( w T x i + b ) ≥ 0 s . t . min x i ∣ w T x i + b ∣ = 1 \max_{w,b}\min_{x_i} \frac{|w^Tx_i+b|}{\|w\|}\\ s.t.\quad y_i(w^Tx_i+b)\ge0\\ s.t.\quad \min_{x_i}|w^Tx_i+b|=1 w,bmaxximin∥w∥∣wTxi+b∣s.t.yi(wTxi+b)≥0s.t.ximin∣wTxi+b∣=1
把添加的约束代入到目标函数中,同时合并两个约束:
max w , b 1 ∥ w ∥ s . t . y i ( w T x i + b ) ≥ 1 \max_{w,b} \frac{1}{\|w\|}\\ s.t.\quad y_i(w^Tx_i+b)\ge1 w,bmax∥w∥1s.t.yi(wTxi+b)≥1
这样和最上面的式子只有一步之遥了~
SVM的对偶问题
我们想要优化这个式子:
min
w
,
b
1
2
∥
w
∥
2
s
.
t
.
1
−
y
i
(
w
T
x
i
+
b
)
≤
0
\min_{w,b} \frac12\|w\|^2\\ s.t.\quad 1-y_i(w^Tx_i+b)\le 0
w,bmin21∥w∥2s.t.1−yi(wTxi+b)≤0
- 令
L
=
min
w
,
b
1
2
∥
w
∥
2
s
.
t
.
1
−
y
i
(
w
T
x
i
+
b
)
≤
0
L=\min_{w,b} \frac12\|w\|^2 \ s.t.\ 1-y_i(w^Tx_i+b)\le 0
L=minw,b21∥w∥2 s.t. 1−yi(wTxi+b)≤0
即 L L L为 w , b w,b w,b取可行解时 1 2 ∥ w ∥ 2 \frac12\|w\|^2 21∥w∥2的最小值 - 又令
J
(
α
)
=
min
w
,
b
1
2
∥
w
∥
2
+
∑
i
α
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
J(\alpha)=\min_{w,b} \frac12\|w\|^2+\sum_i \alpha_i(1-y_i(w^Tx_i+b))
J(α)=minw,b21∥w∥2+∑iαi(1−yi(wTxi+b)),定义域为
α
i
≥
0
\alpha_i\ge0
αi≥0
即 J ( α ) J(\alpha) J(α)为 α i ≥ 0 \alpha_i\ge0 αi≥0时,且对 ( w , b ) (w,b) (w,b)不加限制的条件下, 1 2 ∥ w ∥ 2 + ∑ i α i ( 1 − y i ( w T x i + b ) ) \frac12\|w\|^{2}+\sum_i \alpha_i(1-y_i(w^Tx_i+b)) 21∥w∥2+∑iαi(1−yi(wTxi+b))的最小值
显然 J ( α ) ≤ L J(\alpha) \le L J(α)≤L
推理过程:
设计算 L = min w , b 1 2 ∥ w ∥ 2 s . t . 1 − y i ( w T x i + b ) ≤ 0 L=\min_{w,b} \frac12\|w\|^2 \ s.t.\ 1-y_i(w^Tx_i+b)\le 0 L=minw,b21∥w∥2 s.t. 1−yi(wTxi+b)≤0时,最小值对应的 w , b w,b w,b取值为 w ∗ , b ∗ w^*,b^* w∗,b∗(原问题的最优解)
w ∗ , b ∗ w^*,b^* w∗,b∗必须满足 1 − y i ( ( w ∗ ) T x i + b ∗ ) ≤ 0 1-y_i((w^*)^Tx_i+b^*)\le 0 1−yi((w∗)Txi+b∗)≤0,又有 α i ≥ 0 \alpha_i\ge0 αi≥0,因此
1 2 ∥ w ∗ ∥ 2 + ∑ i α i ( 1 − y i ( ( w ∗ ) T x i + b ∗ ) ) ≤ 1 2 ∥ w ∗ ∥ 2 = L \frac12\|w^*\|^2+\sum_i \alpha_i(1-y_i((w^*)^Tx_i+b^*))\le \frac12\|w^*\|^2=L 21∥w∗∥2+∑iαi(1−yi((w∗)Txi+b∗))≤21∥w∗∥2=L
依据上面 J ( α ) J(\alpha) J(α)的定义有:
J ( α ) ≤ 1 2 ∥ w ∗ ∥ 2 + ∑ i α i ( 1 − y i ( ( w ∗ ) T x i + b ∗ ) ) J(\alpha)\le\frac12\|w^*\|^2+\sum_i \alpha_i(1-y_i((w^*)^Tx_i+b^*)) J(α)≤21∥w∗∥2+∑iαi(1−yi((w∗)Txi+b∗))
因此 J ( α ) ≤ L J(\alpha) \le L J(α)≤L
接上文,
J
(
α
)
≤
L
⇒
max
α
J
(
α
)
≤
L
J(\alpha)\le L \Rightarrow \max_{\alpha} J(\alpha)\le L
J(α)≤L⇒maxαJ(α)≤L
对偶问题求解的就是
max
α
J
(
α
)
\max_\alpha J(\alpha)
maxαJ(α),也就是原始最优问题的一个下界,而事实上
max
α
J
(
α
)
=
L
\max_\alpha J(\alpha) = L
αmaxJ(α)=L
说明:
取等号的性质,由凸优化问题的强对偶性决定
取等号的 α \alpha α满足如果 1 − y i ( ( w ∗ ) T x i + b ∗ ) < 0 1-y_i((w^*)^Tx_i+b^*)<0 1−yi((w∗)Txi+b∗)<0,那么 α i = 0 \alpha_i=0 αi=0(互补松弛性)
(btw,上面所有内容中涉及了对偶优化中的 弱对偶性/强对偶性/互补松弛性)
因此,对偶问题本质上就是优化求解:
max
α
J
(
α
)
\max_\alpha J(\alpha)
αmaxJ(α)
对偶问题的化简
为了在
J
(
α
)
J(\alpha)
J(α)的表达式中消去
w
,
b
w,b
w,b,令
J
(
α
)
=
min
w
,
b
L
(
w
,
b
,
α
)
J(\alpha)=\min_{w,b}L(w,b,\alpha)
J(α)=minw,bL(w,b,α)
其中
L
(
w
,
b
,
α
)
=
1
2
∥
w
∥
2
+
∑
i
α
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
L(w,b,\alpha)=\frac12\|w\|^2+\sum_i \alpha_i(1-y_i(w^Tx_i+b))
L(w,b,α)=21∥w∥2+∑iαi(1−yi(wTxi+b))
可以求得
∂
L
(
w
,
b
,
α
)
/
∂
w
=
w
−
∑
i
α
i
y
i
x
i
∂
L
(
w
,
b
,
α
)
/
∂
b
=
∑
i
α
i
y
i
\partial L(w,b,\alpha)/\partial w = w-\sum_i \alpha_iy_ix_i \\ \partial L(w,b,\alpha)/\partial b = \sum_i \alpha_iy_i
∂L(w,b,α)/∂w=w−i∑αiyixi∂L(w,b,α)/∂b=i∑αiyi
令
∂
L
(
w
,
b
,
α
)
/
∂
w
=
0
\partial L(w,b,\alpha)/\partial w = 0
∂L(w,b,α)/∂w=0且
∂
L
(
w
,
b
,
α
)
/
∂
b
=
0
\partial L(w,b,\alpha)/\partial b=0
∂L(w,b,α)/∂b=0得到
w
=
∑
i
α
i
y
i
x
i
,
∑
α
i
y
i
=
0
w=\sum_i \alpha_iy_ix_i,\ \sum \alpha_iy_i=0
w=∑iαiyixi, ∑αiyi=0
故而
J
(
α
)
=
1
2
(
∑
i
α
i
y
i
x
i
T
)
(
∑
j
α
j
y
j
x
j
)
+
∑
i
α
i
−
∑
i
(
α
i
y
i
∑
k
α
k
y
k
x
k
T
x
i
)
−
∑
i
α
i
y
i
b
=
−
1
2
∑
i
∑
j
α
i
α
j
y
i
y
j
x
i
T
x
j
+
∑
i
α
i
\begin{aligned} J(\alpha )&=\frac12 \left(\sum_i \alpha_iy_ix_i^T\right)\left(\sum_j \alpha_jy_jx_j\right)+\sum_i \alpha_i\\ &-\sum_i\left(\alpha_iy_i\sum_k\alpha_ky_kx_k^Tx_i\right)-\sum_i\alpha_iy_ib\\ &=-\frac12\sum_i\sum_j \alpha_i\alpha_jy_iy_jx_i^Tx_j+\sum_i\alpha_i \end{aligned}
J(α)=21(i∑αiyixiT)(j∑αjyjxj)+i∑αi−i∑(αiyik∑αkykxkTxi)−i∑αiyib=−21i∑j∑αiαjyiyjxiTxj+i∑αi
因此最后的对偶问题为:
max
α
−
1
2
∑
i
∑
j
α
i
α
j
y
i
y
j
x
i
T
x
j
+
∑
i
α
i
s
.
t
.
∑
i
α
i
y
i
=
0
(
s
.
t
.
α
i
≥
0
)
\max_\alpha -\frac12\sum_i\sum_j \alpha_i\alpha_jy_iy_jx_i^Tx_j+\sum_i\alpha_i \\ s.t. \quad \sum_i\alpha_iy_i=0\\ (s.t.\quad \alpha_i\ge0)
αmax−21i∑j∑αiαjyiyjxiTxj+i∑αis.t.i∑αiyi=0(s.t.αi≥0)
补充性质
最后求解的结果满足 α i = 0 \alpha_i=0 αi=0对应的样本为非支持向量, α i > 0 \alpha_i>0 αi>0对应的是支持向量。
因为 max α J ( α ) = L = 1 2 ∥ w ∗ ∥ 2 \max_\alpha J(\alpha) = L=\frac12 \|w^*\|^2 maxαJ(α)=L=21∥w∗∥2,因此 α i ∗ ( 1 − y i ( ( w ∗ ) T x i + b ∗ ) ) = 0 \alpha^*_i(1-y_i((w^*)^Tx_i+b^*))=0 αi∗(1−yi((w∗)Txi+b∗))=0
为什么需要求解对偶问题不求解原始问题?
A: 对偶问题只有一个约束,而原问题有n个约束,一个约束更方便使用SMO算法优化; 对偶问题更容易引入Kernel Method