上次我们讲到我们用数学式子表达了我们要求的超平面
max w , b y m i n ( w T x m i n + b ) ∣ ∣ w ∣ ∣ (8) \max_{w,b}\frac{y_{min}(w^Tx_{min}+b)}{\mid\mid w\mid\mid} \tag{8} w,bmax∣∣w∣∣ymin(wTxmin+b)(8)
s.t. y i ( w T x i + b ) ≥ y m i n ( w T x m i n + b ) y_i(w^Tx_i+b)\geq y_{min}(w^Tx_{min}+b) yi(wTxi+b)≥ymin(wTxmin+b)
6.4 基本型
由于若求得了最优解
(
w
∗
,
b
∗
)
(w^*,b^*)
(w∗,b∗),那么
(
α
w
∗
,
α
b
∗
)
,
α
>
0
(\alpha w^*,\alpha b^*),\alpha>0
(αw∗,αb∗),α>0 也必然是其中的最优解,因此,我们令
y
m
i
n
(
w
T
x
m
i
n
+
b
)
=
1
(9)
y_{min}(w^Tx_{min}+b)=1\tag{9}
ymin(wTxmin+b)=1(9)
使得存在唯一的最优解 ( w ∗ , b ∗ ) (w^*,b^*) (w∗,b∗)
因此式(8)变为
max
w
,
b
1
∣
∣
w
∣
∣
(9)
\max_{w,b}\frac{1}{\mid\mid w\mid\mid} \tag{9}
w,bmax∣∣w∣∣1(9)
s.t. y i ( w T x i + b ) ≥ 1 y_i(w^Tx_i+b)\geq 1 yi(wTxi+b)≥1
由于最小化比最大化好求以及避免出现根号等原因,我们可以再次改写式(9)
min
w
,
b
1
2
∣
∣
w
∣
∣
2
(10)
\min_{w,b}\frac{1}{2}\mid\mid w\mid\mid^2 \tag{10}
w,bmin21∣∣w∣∣2(10)
s.t. y i ( w T x i + b ) ≥ 1 y_i(w^Tx_i+b)\geq 1 yi(wTxi+b)≥1
这就是求解支持向量机问题的基本型。
6.5 对偶问题
这里我们需要用到约束优化中的寻找对偶问题以及利用KKT条件求解,可以参考链接link:对偶问题及KKT条件
我们根据式(10)的主问题写拉格朗日函数
L
(
w
,
b
,
α
)
=
1
2
∣
∣
w
∣
∣
2
+
∑
i
=
1
m
α
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
(11)
L(w,b,\alpha)=\frac{1}{2}\mid\mid w\mid\mid^2+\sum_{i=1}^m\alpha_i(1-y_i(w^Tx_i+b))\tag{11}
L(w,b,α)=21∣∣w∣∣2+i=1∑mαi(1−yi(wTxi+b))(11)
其中 α = ( α 1 ; α 2 , . . . , α m ) \alpha=(\alpha_1;\alpha_2,...,\alpha_m) α=(α1;α2,...,αm)为拉格朗日乘子,接下来我们要求其关于 w , b w,b w,b 的最小值,由于其为凸函数,所以我们对其分别求偏导
首先令 L ( w , b , α ) L(w,b,\alpha) L(w,b,α)对w和b求偏导。
1、 先对w求偏导:
∂
L
∂
w
=
∂
(
1
2
∣
∣
w
∣
∣
2
+
∑
i
=
1
m
α
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
)
∂
w
=
∂
(
1
2
w
T
w
+
∑
i
=
1
m
α
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
)
∂
w
=
1
2
×
2
I
w
+
∑
i
=
1
m
α
i
(
−
y
i
)
x
i
=
w
−
∑
i
=
1
m
α
i
y
i
x
i
(12)
\begin{aligned} \frac{\partial L}{\partial w}&=\frac{\partial (\frac{1}{2}\mid\mid w\mid\mid^2+\sum_{i=1}^m\alpha_i(1-y_i(w^Tx_i+b)))}{\partial w}\\ &=\frac{\partial (\frac{1}{2}w^Tw+\sum_{i=1}^m\alpha_i(1-y_i(w^Tx_i+b)))}{\partial w}\\ &=\frac{1}{2}\times 2Iw+\sum_{i=1}^m\alpha_i (-y_i)x_i\\ &=w-\sum_{i=1}^m\alpha_i y_ix_i \tag{12} \end{aligned}
∂w∂L=∂w∂(21∣∣w∣∣2+∑i=1mαi(1−yi(wTxi+b)))=∂w∂(21wTw+∑i=1mαi(1−yi(wTxi+b)))=21×2Iw+i=1∑mαi(−yi)xi=w−i=1∑mαiyixi(12)
令其为0,
w
=
∑
i
=
1
m
α
i
y
i
x
i
(13)
w=\sum_{i=1}^m\alpha_i y_ix_i\tag{13}
w=i=1∑mαiyixi(13)
2、对b求偏导
∂
L
∂
b
=
∂
(
1
2
∣
∣
w
∣
∣
2
+
∑
i
=
1
m
α
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
)
∂
b
=
−
∑
i
=
1
m
α
i
y
i
(14)
\begin{aligned} \frac{\partial L}{\partial b}&=\frac{\partial (\frac{1}{2}\mid\mid w\mid\mid^2+\sum_{i=1}^m\alpha_i(1-y_i(w^Tx_i+b)))}{\partial b}\\ &=-\sum_{i=1}^m\alpha_i y_i\\ \tag{14} \end{aligned}
∂b∂L=∂b∂(21∣∣w∣∣2+∑i=1mαi(1−yi(wTxi+b)))=−i=1∑mαiyi(14)
令其为0,
∑
i
=
1
m
α
i
y
i
=
0
(15)
\sum_{i=1}^m\alpha_i y_i=0\tag{15}
i=1∑mαiyi=0(15)
将式(13)和式(14)带入拉格朗日函数,即为基本型的拉格朗日对偶函数
L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) (11) L(w,b,\alpha)=\frac{1}{2}\mid\mid w\mid\mid^2+\sum_{i=1}^m\alpha_i(1-y_i(w^Tx_i+b))\tag{11} L(w,b,α)=21∣∣w∣∣2+i=1∑mαi(1−yi(wTxi+b))(11)
w = ∑ i = 1 m α i y i x i (13) w=\sum_{i=1}^m\alpha_i y_ix_i\tag{13} w=i=1∑mαiyixi(13)
∑ i = 1 m α i y i = 0 (15) \sum_{i=1}^m\alpha_i y_i=0\tag{15} i=1∑mαiyi=0(15)
L ( w , b , α ) = 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j + ∑ i = 1 m α i − ∑ i = 1 m α i y i b − ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j = − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j + ∑ i = 1 m α i (16) \begin{aligned} L(w,b,\alpha)&=\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i \alpha_j y_iy_jx_i^Tx_j+\sum_{i=1}^m\alpha_i-\sum_{i=1}^m\alpha_iy_ib\\&-\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_jx_i^Tx_j \\ &=-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i \alpha_j y_iy_jx_i^Tx_j+\sum_{i=1}^m\alpha_i\\ \tag{16} \end{aligned} L(w,b,α)=21i=1∑mj=1∑mαiαjyiyjxiTxj+i=1∑mαi−i=1∑mαiyib−i=1∑mj=1∑mαiαjyiyjxiTxj=−21i=1∑mj=1∑mαiαjyiyjxiTxj+i=1∑mαi(16)
因此,基本型的对偶问题即为
max
(
∑
i
=
1
m
α
i
−
1
2
∑
i
=
1
m
∑
j
=
1
m
α
i
α
j
y
i
y
j
x
i
T
x
j
)
s
.
t
.
∑
i
=
1
m
α
i
y
i
=
0
α
i
≥
0
,
i
=
1
,
2...
,
m
(17)
\qquad \qquad\max(\sum_{i=1}^m\alpha_i-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i \alpha_j y_iy_jx_i^Tx_j)\\ s.t.\quad \sum_{i=1}^m\alpha_i y_i=0\\ \quad \quad \quad \quad \quad\quad \alpha_i \geq 0,i=1,2...,m \tag{17}
max(i=1∑mαi−21i=1∑mj=1∑mαiαjyiyjxiTxj)s.t.i=1∑mαiyi=0αi≥0,i=1,2...,m(17)
解出
α
\alpha
α后,代入求出w和b即可
函数可写为
f
(
x
)
=
w
T
x
+
b
=
∑
i
=
1
m
α
i
y
i
x
i
T
x
+
b
(18)
\begin{aligned} f(x)&=w^Tx+b\\ &=\sum_{i=1}^m\alpha_i y_ix_i^Tx+b \tag{18} \end{aligned}
f(x)=wTx+b=i=1∑mαiyixiTx+b(18)
由于主问题中存在不等式约束,所以还需要满足KKT条件
{
α
i
≥
0
y
i
(
w
T
x
i
+
b
)
≥
1
α
i
(
y
i
(
w
T
x
i
+
b
)
−
1
)
=
0
(19)
\begin{cases} \alpha_i \geq 0 \\ y_i(w^Tx_i+b)\geq 1\\ \alpha_i(y_i(w^Tx_i+b)-1)=0 \tag{19} \end{cases}
⎩
⎨
⎧αi≥0yi(wTxi+b)≥1αi(yi(wTxi+b)−1)=0(19)
=》
{
α
i
≥
0
y
i
f
(
x
i
)
≥
1
α
i
(
y
i
f
(
x
i
)
−
1
)
=
0
(20)
\begin{cases} \alpha_i \geq 0 \\ y_if(x_i)\geq 1\\ \alpha_i(y_if(x_i)-1)=0 \tag{20} \end{cases}
⎩
⎨
⎧αi≥0yif(xi)≥1αi(yif(xi)−1)=0(20)
从上式可以做一个简单的推导,对任意训练样本,总有
α
i
=
0
\alpha_i=0
αi=0 or
y
i
f
(
x
i
)
=
1
y_if(x_i)=1
yif(xi)=1
如果
α
i
=
0
\alpha_i=0
αi=0,那么根据式(18),他不会对函数产生影响,
如果
α
i
>
0
\alpha_i>0
αi>0,那么
y
i
f
(
x
i
)
=
1
y_if(x_i)=1
yif(xi)=1,即该样本点位于最大间隔边界上。
这是支持向量机的一个重要性质,即大部分的训练样本都不保留,模型仅和支持向量有关