1 线性可分模式的最优超平面
考虑训练样本 ( x i , d i ) {(x_i,d_i)} (xi,di)假设由子集代表的模式是线性可分的,用于分离超平面的决策曲面方程是:
(式4.1) W T X + b = 0 W^TX+b=0 \tag{式4.1} WTX+b=0(式4.1)
其中x是输入向量,w是可调向量,b是偏置。因此可以写成:
W
T
X
+
b
≥
0
当
d
i
=
+
1
W^TX+b\geq0 当 d_i=+1
WTX+b≥0当di=+1
(式4.2)
W
T
X
+
b
<
0
当
d
i
=
−
1
W^TX+b<0 当d_i =-1\tag{式4.2}
WTX+b<0当di=−1(式4.2)
支持向量机的目标是找到一个特殊的超平面,这个超平面分离边缘最大,在该情况下,决策曲面为最优超平面。假设
w
0
和
b
0
w_0和b_0
w0和b0分别表示权值向量和偏置的最优值,相应的,最优超平面形式如下:
(式4.3)
w
0
T
+
b
0
=
0
w_0^T + b_0 = 0\tag{式4.3}
w0T+b0=0(式4.3)
将式4.1改写,可得到判别函数:
(式4.4)
g
(
x
)
=
w
0
T
+
b
0
g(x) = w_0^T+b_0\tag{式4.4}
g(x)=w0T+b0(式4.4)
x到最优超平面的距离是一种代数度量,可以将x表达为,(理解此处需要回顾高中几何、向量相关的知识,如下图所示那样)
x
=
x
0
+
r
∗
w
0
∣
∣
w
0
∣
∣
x=x_0+r*\frac{ w_0}{ ||w_0||}
x=x0+r∗∣∣w0∣∣w0
其中
x
0
x_0
x0是x在最优超平面上的正轴投影,r是期望的代数距离。如果x在最优平面的正面,r是正值,相反,则为负值,由定义可知
g
(
x
p
)
=
0
g(x_p)=0
g(xp)=0,由此可得出:
(式4.5)
g
(
x
)
=
w
0
T
x
+
b
0
=
r
∣
∣
w
0
∣
∣
g(x)=w_0^Tx+b_0=r||w_0||\tag{式4.5}
g(x)=w0Tx+b0=r∣∣w0∣∣(式4.5)
将超平面表示为(w,b),w为法向量,b为位移向,则样本空间到超平面(w,b)的距离可写为
(式4.6)
r
=
∣
w
T
x
+
b
∣
∣
∣
w
∣
∣
r = \frac{|w^Tx+b|}{||w||}\tag{式4.6}
r=∣∣w∣∣∣wTx+b∣(式4.6)
该步的解法详见(https://blog.csdn.net/alwaystry/article/details/60957096)
假设超平面(w,b)能将训练样本正确分类,即
(
x
i
,
y
i
)
⊂
D
(x_i,y_i)\subset D
(xi,yi)⊂D若
y
i
=
+
1
,
则
有
w
T
x
i
+
b
>
0
,
y
i
=
−
1
,
则
有
w
T
x
i
+
b
<
0
y_i=+1,则有w^Tx_i+b>0,y_i=-1,则有w^Tx_i+b<0
yi=+1,则有wTxi+b>0,yi=−1,则有wTxi+b<0,令
(式4.7)
{
w
T
x
i
+
b
≥
+
1
,
y
i
=
+
1
w
T
x
i
+
b
≤
−
1
,
y
i
=
−
1
\begin{cases} w^Tx_i+b\geq+1, & {y_i=+1} \\w^Tx_i+b\leq-1, & y_i =-1 \end{cases} \tag{式4.7}
{wTxi+b≥+1,wTxi+b≤−1,yi=+1yi=−1(式4.7)
由式4.6和式4.5可得出:
(式4.8)
r
=
g
(
x
)
∣
∣
w
0
∣
∣
=
{
1
∣
∣
w
0
∣
∣
,
y
i
=
+
1
−
1
∣
∣
w
0
∣
∣
,
y
i
=
−
1
r =\frac{g(x)}{||w_0||}= \begin{cases} \frac{1}{||w_0||}, & {y_i=+1} \\-\frac{1}{||w_0||}, & y_i =-1 \end{cases} \tag{式4.8}
r=∣∣w0∣∣g(x)={∣∣w0∣∣1,−∣∣w0∣∣1,yi=+1yi=−1(式4.8)
有式4.8可得到, 两个类边缘的最优值为
ρ
\rho
ρ:
(式4.9)
ρ
=
2
r
=
2
∣
∣
w
0
∣
∣
\rho=2r = \frac{2}{||w_0||}\tag{式4.9}
ρ=2r=∣∣w0∣∣2(式4.9)
由式4.9可以说明:
最大化两个类之间的边缘等价于最小权值向量w的欧几里得范数。
首先主要到训练样本{X,Y},再根据式4.7,把两个等式合并得到一个等式:
y
i
(
w
T
x
i
+
b
)
≥
1
y_i(w^Tx_i+b)\geq1
yi(wTxi+b)≥1
据此可总结,最大化两个类之间的分类边缘,即最大化间隔,仅需最大化
∣
∣
w
∣
∣
−
1
||w||^{-1}
∣∣w∣∣−1,等价于最小化
∣
∣
w
∣
∣
2
||w||^2
∣∣w∣∣2(在《神经网络与机器学习》中,此处等价于
w
T
w
w^Tw
wTw)
于是可以得到如下:
m
i
n
1
2
∣
∣
w
∣
∣
2
min \frac{1}{2}||w||^2
min21∣∣w∣∣2
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
(
1
,
2
,
…
⎵
l
d
o
t
s
,
N
)
y_i(w^Tx_i+b)\geq1,i=(1,2,\underbrace{\ldots}_{\rm ldots} ,N)
yi(wTxi+b)≥1,i=(1,2,ldots
…,N)
这就是支持向量的基本型。
在《神经网络与机器学习》中采用的记录方式为:
Φ
(
w
)
=
1
2
w
T
w
\Phi(w) = \frac{1}{2} w^Tw
Φ(w)=21wTw
(式4.11)
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
(
1
,
2
,
…
⎵
l
d
o
t
s
,
N
)
y_i(w^Tx_i+b)\geq1,i=(1,2,\underbrace{\ldots}_{\rm ldots} ,N)\tag{式4.11}
yi(wTxi+b)≥1,i=(1,2,ldots
…,N)(式4.11)
代价函数$\Phi(w) $是w的凸函数
约束条件关于w是线性的。
可以使用拉格朗日乘子方法解决约束最优问题。
首先,建立拉格朗日函数
(式4.12)
J
(
w
,
b
,
a
)
=
1
2
w
T
w
−
∑
i
=
1
n
a
i
[
d
i
(
y
i
(
w
T
x
i
+
b
)
−
1
)
]
J(w,b,a) = \frac{1}{2} w^Tw - \sum_{i=1}^n a_i[d_i(y_i(w^Tx_i+b)-1)]\tag{式4.12}
J(w,b,a)=21wTw−i=1∑nai[di(yi(wTxi+b)−1)](式4.12)
a
i
a_i
ai称作拉格朗日乘子,约束最优问题的解由
J
(
w
,
b
,
a
)
J(w,b,a)
J(w,b,a)的鞍点决定,
J
(
w
,
b
,
a
)
J(w,b,a)
J(w,b,a)对w和b求微分并设置为0,得到两个最优条件:
{
条
件
1
:
∂
L
(
w
,
b
,
a
)
∂
w
=
0
,
条
件
2
:
∂
L
(
w
,
b
,
a
)
∂
b
=
0
\begin{cases}条件1:\frac{∂L(w,b,a)}{∂w} =0,\\条件2:\frac {∂L(w,b,a)}{∂b} =0 \end{cases}
{条件1:∂w∂L(w,b,a)=0,条件2:∂b∂L(w,b,a)=0
应用最优条件1到式4.11的拉格朗日函数,得到:
(式4.13)
w
=
∑
i
=
1
N
a
i
y
i
x
i
w=\sum_{i=1}^N a_iy_ix_i\tag{式4.13}
w=i=1∑Naiyixi(式4.13)
同理运用最优条件2可得:
(式4.14)
∑
i
=
1
N
a
i
y
i
=
0
\sum_{i=1}^N a_iy_i=0\tag{式4.14}
i=1∑Naiyi=0(式4.14)
KKT条件,(此处由式4.11,4.14得到)
(式4.15)
{
条
件
1
:
a
i
≥
0
条
件
2
:
y
i
f
(
x
i
)
−
1
≥
0
条
件
3
:
a
i
(
y
i
f
(
x
i
)
−
1
)
=
0
\begin{cases}条件1:a_i\geq0\\条件2:y_if(x_i)-1\geq0\\条件3:a _i(y_if(x_i)-1)=0\end{cases} \tag{式4.15}
⎩⎪⎨⎪⎧条件1:ai≥0条件2:yif(xi)−1≥0条件3:ai(yif(xi)−1)=0(式4.15)
对偶问题
像前面提到的,原问题是处理凸代价函数和线性约束的,给定这样一个约束最优化问题,可能构造另一个问题,成为对偶问题。第二问题与原问题有同样的最优值,但是这是由拉格朗日乘子提供最优解。
为了说明对偶问题是原问题的前提,首先逐项展开式4.12如下:
(式4.16)
J
(
w
,
b
,
a
)
=
1
2
w
T
w
−
∑
i
=
1
N
a
i
y
i
w
T
x
i
−
b
∑
i
=
1
N
a
i
y
i
+
∑
i
=
1
N
a
i
J(w,b,a) = \frac{1}{2} w^Tw -\sum_{i=1}^Na_iy_iw^Tx_i - b \sum_{i=1}^Na_iy_i +\sum_{i=1}^Na_i \tag{式4.16}
J(w,b,a)=21wTw−i=1∑NaiyiwTxi−bi=1∑Naiyi+i=1∑Nai(式4.16)
根据式4.14,式4.16的右端第三项为零。由式4.13有
w
T
w
=
∑
i
=
1
N
a
i
y
i
w
T
x
i
=
∑
i
=
1
N
∑
j
=
1
N
a
i
a
j
y
i
y
j
x
i
T
x
j
w^Tw = \sum_{i=1}^Na_iy_iw^Tx_i = \sum_{i=1}^N \sum_{j=1}^Na_ia_jy_iy_jx_i^Tx_j
wTw=i=1∑NaiyiwTxi=i=1∑Nj=1∑NaiajyiyjxiTxj
相应地,设置目标函数
J
(
w
,
b
,
a
)
=
Q
(
a
)
J(w,b,a) = Q(a)
J(w,b,a)=Q(a),可以将式4.16改写成:
Q
(
a
)
=
∑
i
=
1
N
a
i
−
1
2
∑
i
=
1
N
∑
j
=
1
N
a
i
a
j
y
i
y
j
x
i
T
x
j
Q(a) = \sum_{i=1}^Na_i - \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^Na_ia_jy_iy_jx_i^Tx_j
Q(a)=i=1∑Nai−21i=1∑Nj=1∑NaiajyiyjxiTxj
现在可以将对偶问题做如下陈述:
给定训练样本
τ
=
(
x
i
,
d
i
)
\tau = {(x_i,d_i)}
τ=(xi,di),寻找最大化如下目标函数的拉格朗日乘子
a
i
a_i
ai:
Q
(
a
)
=
∑
i
=
1
N
a
i
−
1
2
∑
i
=
1
N
∑
j
=
1
N
a
i
a
j
y
i
y
j
x
i
T
x
j
Q(a) = \sum_{i=1}^Na_i - \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^Na_ia_jy_iy_jx_i^Tx_j
Q(a)=i=1∑Nai−21i=1∑Nj=1∑NaiajyiyjxiTxj
满足约束条件:
∑
i
=
1
N
a
i
y
i
=
0
\sum_{i=1}^N a_iy_i=0
i=1∑Naiyi=0
a
i
≥
0
,
当
i
=
1
,
2
,
3....
,
N
时
a_i\geq0,当i =1,2,3....,N时
ai≥0,当i=1,2,3....,N时
可以用式4.13计算最优权值向量
w
0
w_0
w0,并写成:
w
0
=
∑
i
=
1
N
a
0
,
i
y
i
x
i
w_0=\sum_{i=1}^N a_0,iy_ix_i
w0=i=1∑Na0,iyixi
运用式4.7,有:
b
0
=
1
−
w
0
T
x
(
s
)
=
1
−
∑
i
=
1
N
a
o
,
i
d
i
x
i
T
X
(
s
)
b_0 = 1 - w_0^Tx^{(s)} = 1- \sum_{i=1}^Na_{o,i}d_ix_i^TX^{(s)}
b0=1−w0Tx(s)=1−i=1∑Nao,idixiTX(s)
据此可得,原问题求解权值
w
w
w和偏置
b
b
b的问题简化为求
a
i
a_i
ai的问题
2 SMO算法求解 a i a_i ai
详见:
http://www.cnblogs.com/pinard/p/6111471.html
[1]: 神经网络与机器学习 [加] Simmon Haykin