理解支持向量机SVM过程遇到的对偶问题
最近在看周志华的西瓜书学习machine learning,看到支持向量机这一章的时候对其中的对偶问题部分真是百思不得其解,在查阅了一些资料后终于明白了其中的原理。
我先简述一下问题背景
在西瓜书中划分超平面所对应的基本问题为求解以下的非线性约束问题
m
i
n
w
,
b
1
2
∣
∣
w
∣
∣
2
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
2
,
.
.
.
m
(1.1)
min_{w,b} \frac{1}{2}||w||^2\\ s.t. y_i(w^Tx^i+b)\geq1,i=1,2,...m\tag{1.1}
minw,b21∣∣w∣∣2s.t.yi(wTxi+b)≥1,i=1,2,...m(1.1)
则该问题的拉格朗日函数可以写为
L
(
w
,
b
,
α
)
=
1
2
∣
∣
w
∣
∣
2
+
∑
i
=
1
m
α
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
(1.2)
L(w,b,\alpha)=\frac{1}{2}||w||^2+\sum_{i=1}^m\alpha_i(1-y^i(w^Tx_i+b))\tag{1.2}
L(w,b,α)=21∣∣w∣∣2+i=1∑mαi(1−yi(wTxi+b))(1.2)
令
1.2
{1.2}
1.2对
w
w
w和
b
b
b的偏导为零可得
w
=
∑
i
=
1
m
α
i
y
i
x
i
(1.3)
w=\sum_{i=1}^m\alpha_iy_ix_i\tag{1.3}
w=i=1∑mαiyixi(1.3)
0
=
∑
i
=
1
m
α
i
y
i
(1.4)
\\0=\sum_{i=1}^m\alpha_iy_i\tag{1.4}
0=i=1∑mαiyi(1.4)
将
1.3
和
1.4
{1.3}和{1.4}
1.3和1.4代入1.2可得到式
1.1
1.1
1.1的对偶问题
m
a
x
α
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
y
i
y
j
x
i
T
x
j
(1.5)
max_\alpha\sum_{i=1}^m\alpha_i-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_jx_i^Tx_j\tag{1.5}
maxαi=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxj(1.5)
那么这个
1.5
1.5
1.5是究竟是怎么来的呢?
首先我们假设
f
(
w
)
=
1
2
∣
∣
w
∣
∣
2
f(w)=\frac{1}{2}||w||^2
f(w)=21∣∣w∣∣2
g
i
(
w
,
b
)
=
1
−
y
i
(
w
T
x
i
+
b
)
,
i
=
1
,
2..
m
g_i(w,b)=1- y_i(w^Tx^i+b),i=1,2..m
gi(w,b)=1−yi(wTxi+b),i=1,2..m
问题变成
m
i
n
w
,
b
f
(
w
)
s
.
t
.
g
i
(
w
,
b
)
≤
=
0
(2.1)
min_{w,b}f(w)\\s.t.g_i(w,b)\leq=0\tag{2.1}
minw,bf(w)s.t.gi(w,b)≤=0(2.1)
其拉格朗日方程变为
L
(
w
,
b
,
α
)
=
f
(
w
)
+
∑
i
=
1
m
α
i
g
i
(
w
,
b
)
(2.2)
L(w,b,\alpha)=f(w)+\sum_{i=1}^m\alpha_ig_i(w,b)\tag{2.2}
L(w,b,α)=f(w)+i=1∑mαigi(w,b)(2.2)
接下来我们正式推导公式
1.5
1.5
1.5
首先确立方程组
{
f
(
w
)
<
v
g
i
(
w
,
b
)
≤
0
(方程组1)
\begin{cases}f(w)<v\\g_i(w,b)\leq0\end{cases}\tag{方程组1}
{f(w)<vgi(w,b)≤0(方程组1)
让我们仔细思考一下,如果方程组1无解,则
v
v
v比我们要找的
f
(
x
)
f(x)
f(x)的最小值还要小,也就是说v是问题的一个下界,问题转化为当方程组1无解时,找到
v
m
a
x
v_{max}
vmax。
我们首先考虑方程组1有解的情况
方
程
组
1
有
解
→
∀
α
i
>
0
,
L
(
w
,
b
,
α
)
=
f
(
w
)
+
∑
i
=
1
m
α
i
g
i
(
w
,
b
)
<
v
有
解
方程组1有解\rightarrow\forall\alpha_i>0,L(w,b,\alpha)=f(w)+\sum_{i=1}^m\alpha_ig_i(w,b)<v有解
方程组1有解→∀αi>0,L(w,b,α)=f(w)+i=1∑mαigi(w,b)<v有解
根据逆否命题真值相同
∃
α
i
>
0
,
L
(
w
,
b
,
α
)
=
f
(
w
)
+
∑
i
=
1
m
α
i
g
i
(
w
,
b
)
<
v
无
解
→
方
程
组
1
无
解
\exists\alpha_i>0,L(w,b,\alpha)=f(w)+\sum_{i=1}^m\alpha_ig_i(w,b)<v无解\rightarrow方程组1无解
∃αi>0,L(w,b,α)=f(w)+i=1∑mαigi(w,b)<v无解→方程组1无解
要使
∃
α
i
>
0
,
L
(
w
,
b
,
α
)
<
v
无
解
\exists\alpha_i>0,L(w,b,\alpha)<v无解
∃αi>0,L(w,b,α)<v无解,
要满足
L
(
w
,
b
,
α
)
m
i
n
≥
v
L(w,b,\alpha)_{min}\geq v
L(w,b,α)min≥v
所以
v
m
a
x
=
m
a
x
α
i
>
0
L
m
i
n
(
w
,
b
,
α
)
=
m
a
x
α
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
y
i
y
j
x
i
T
x
j
(1.5)
v_{max}=max_{\alpha_i>0}L_{min}(w,b,\alpha)=max_\alpha\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_jx_i^Tx_j\tag{1.5}
vmax=maxαi>0Lmin(w,b,α)=maxαi=1∑mj=1∑mαiαjyiyjxiTxj(1.5)
得出最后结果,求解过程有点绕,大家可以画一下逻辑图来求解。