机器学习比较火热分类模型——支持向量机SVM。已知给出数据样本D{(x1,y1),(x2,y2),...,(xn,yn)}
D
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
n
,
y
n
)
}
,这里y∈{+1,−1}
y
∈
{
+
1
,
−
1
}
,+1代表正样本,-1代表负样本,分类器的目标是寻求能把正例负例划分的最优划分平面。在样本空间里,我们通常用y^=wTx+b
y
^
=
w
T
x
+
b
来刻画划分平面,其中w
w
对应划分平面的法向量,b 刻画划分平面与坐标轴原点的远近。
2. 目标
寻求最优划分平面:0=wTx+b
0
=
w
T
x
+
b
,使得所有样本点满足
y=+1,wTx+b≥1
y
=
+
1
,
w
T
x
+
b
≥
1
y=−1,wTx+b≤−1
y
=
−
1
,
w
T
x
+
b
≤
−
1
,假设贴近划分平面最近的负样本点位于平面
wTx+b=−1
w
T
x
+
b
=
−
1
上,距离划分平面最近的正样本点位于平面
wTx+b=1
w
T
x
+
b
=
1
,此时若想划分平面对训练样本局部扰动的“容忍性”最大,则需要两个平面间的距离尽可能地大,即寻求最大平面间隔,则得到目标式:
max2||w||,s.t.y∗(wTx+b)≥1(1)
(1)
m
a
x
2
|
|
w
|
|
,
s
.
t
.
y
∗
(
w
T
x
+
b
)
≥
1
3. SVM推导
以上公式中等价于min||w||
m
i
n
|
|
w
|
|
,这里||w||=wTw−−−−√
|
|
w
|
|
=
w
T
w
,为了优化方便这里等价于优化12||w||2
1
2
|
|
w
|
|
2
,则原式转变成:
min12||w||2,s.t.y(wTx+b)≥1(2)
(2)
m
i
n
1
2
|
|
w
|
|
2
,
s
.
t
.
y
(
w
T
x
+
b
)
≥
1
,针对(2),给每一项约束条件引入一个乘子
αi≥0
α
i
≥
0
,采用拉格朗日乘子法得到如下函数:
f(w,b,αi)=12||w||2+∑i=1nαi(1−yi(wTxi+b))(3)
(3)
f
(
w
,
b
,
α
i
)
=
1
2
|
|
w
|
|
2
+
∑
i
=
1
n
α
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
,由于(3)中含有三个未知参数如果对其求导难以优化,因此考虑拉格朗日对偶变换,即
f(w,b)≤f(w,b,α)≤f(α)
f
(
w
,
b
)
≤
f
(
w
,
b
,
α
)
≤
f
(
α
)
,对
f(w,b)
f
(
w
,
b
)
中
w,b
w
,
b
进行求导置零得:
w=∑i=1nαixiyi∑i=1nαiyi=0(4)
(4)
w
=
∑
i
=
1
n
α
i
x
i
y
i
∑
i
=
1
n
α
i
y
i
=
0
将(4)回代到
f(w,b)
f
(
w
,
b
)
中得到如下优化式:
max∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjxTixi(5)
(5)
m
a
x
∑
i
=
1
n
α
i
−
1
2
∑
i
=
1
n
∑
j
=
1
n
α
i
α
j
y
i
y
j
x
i
T
x
i
在此过程中拉格朗日的乘子函数构造需要用到KKT条件,
y(wTx+b)≥1
y
(
w
T
x
+
b
)
≥
1
的KKT条件如下:
1−y(wTx+b)≤0α≥0αy(wTx+b)=0(6)
(6)
1
−
y
(
w
T
x
+
b
)
≤
0
α
≥
0
α
y
(
w
T
x
+
b
)
=
0