线性可分
线性可分的严格定义:一个训练样本集{(Xi, yi)…(Xn, yn)},在i=1~N线性可分,是指存在(w1, w2, b),使得i=1-N,有:
最简形式为:
SVM解决的问题
在能够线性可分的数据集中,会存在多条分界线。
为了寻找唯一的最优分类直线,该直线应满足以下三个条件:
- 该直线分开了两类样本。
- 该直线最大化间隔(支持向量之间的距离)。
- 该直线处于间隔的中间,到所有支持向量的距离相等。
SVM的优化问题描述
优化问题可以写成如下的形式:
得到以上推导需要以下两个事实:
由事实一可以对分类超平面进行倍增,使得我们的支持向量满足
y
(
W
T
x
+
b
)
=
1
y(W^Tx+b)=1
y(WTx+b)=1于是可以得到新的限制条件和优化目标:
m
i
n
:
1
/
2
∣
∣
W
∣
∣
2
min:1/2||W||^2
min:1/2∣∣W∣∣2
y
i
(
W
T
x
+
b
)
>
=
1
,
i
=
1
−
N
y_i(W^Tx+b)>=1,i=1-N
yi(WTx+b)>=1,i=1−N
松弛变量
对于线性不可分问题,需要适当放松限制条件。C为超参数。
低维映射高维
对于一些线性不可分问题,采用线性可分的策略,分类效果不好。因此需要对特征进行映射,从低维映射到高维。定义一个映射函数
φ
(
x
)
φ(x)
φ(x)使得优化问题变为:
核函数
运用核函数可以不用已知
φ
(
x
)
φ(x)
φ(x)的具体形式而对需要预测的样本进行预测。核函数形式如下:
通过
φ
(
x
)
φ(x)
φ(x)可以求解其对应的核函数,反之亦然。下面是一个例子:
通过核函数求解映射:
下面映射的维度可以交换
核函数K和
φ
(
x
)
φ(x)
φ(x)为一一对应的关系,但是核函数的形式不能随意取,只有满足以下条件时才能分解为两个
φ
φ
φ内积的形式。
同时,可以知道高斯核是满足以上定理的:
对偶问题的定义
原问题与对偶问题的定义:
定义对偶问题如下:
对
L
(
w
,
α
,
β
)
L(w,α,β)
L(w,α,β)遍历所有定义域上的
w
w
w去找到使得
L
(
w
,
α
,
β
)
L(w,α,β)
L(w,α,β)最小的
w
w
w,同时将最小的这个值赋值给
Θ
(
α
,
β
)
Θ(α,β)
Θ(α,β)。
定理一:
f
(
w
∗
)
>
=
Θ
(
α
,
β
)
f(w^*)>=Θ(α,β)
f(w∗)>=Θ(α,β)
定义对偶差距为
f
(
w
∗
)
−
Θ
(
α
,
β
)
f(w^*)-Θ(α,β)
f(w∗)−Θ(α,β)
强对偶定理:如果
g
(
w
)
=
A
w
+
b
,
h
(
w
)
=
C
w
+
d
,
f
(
w
)
g(w)=Aw+b, h(w)=Cw+d,f(w)
g(w)=Aw+b,h(w)=Cw+d,f(w)为凸函数则有
f
(
w
∗
)
−
Θ
(
α
,
β
)
=
0
f(w^*)-Θ(α,β)=0
f(w∗)−Θ(α,β)=0对偶差距为0.
据定理一推出的不等式:
支持向量机转化为对偶问题
当前支持向量机的优化问题:
为了与上述描述的原问题一致,需要进行变换,将
δ
i
>
=
0
转
换
为
δ
i
<
=
0
δ_i>=0 转换为δ_i<=0
δi>=0转换为δi<=0因此变换为:
因为两个限制条件均为线性,且目标问题为凸优化问题,因此满足强对偶定理。
因此对偶问题如下:
由于需要遍历所有的w求得最小值,可以对其进行求导。
将求得的三个等式带入:
支持向量机的算法流程
b的求解:如果对于某个
i
,
α
i
≠
0
且
α
i
≠
C
,
则
根
据
K
K
T
条
件
必
有
δ
i
=
0
;
i,α_i≠0且α_i≠C,则根据KKT条件必有δ_i=0;
i,αi=0且αi=C,则根据KKT条件必有δi=0;
对于新样本依据核函数同样可以进行预测:
总结支持向量机训练核测试的流程
训练过程:
输入训练数据,{(Xi, yi)}, i=1~N, 其中yi = -1或1.
预测过程: