机器学习之支持向量机SVM
支持向量机/SVM(support vector machines),通常被用作分类模型,也可用作回归模型。SVM的分类原理是使样本在特征空间上的间隔最大化,即使得样本到分类平面的最小距离最大化。
SVM既可处理线性分类,通过引入软间隔可处理近似线性分类,通过引入核函数可处理非线性分类。
1 SVM原理
SVM处理线性可分数据,线性近似可分数据和非线性数据,基本原理相似。
1.1 线性可分SVM
分类超平面:
w
⋅
x
+
b
=
0
w·x+b=0
w⋅x+b=0
分类决策函数:
f
(
x
)
=
s
i
g
n
(
w
⋅
x
+
b
)
f(x) = sign(w·x+b)
f(x)=sign(w⋅x+b)
线性可分SVM,当参数
w
w
w,
b
b
b确定后,分类超平面和分类决策函数则确定了。
SVM的基本原理为特征空间间隔最大化。
对于特征空间上给定的样本
T
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
n
,
y
n
)
}
{T=\left\{(x_1,y_1),(x_2,y_2),...,(x_n,y_n)\right\}}
T={(x1,y1),(x2,y2),...,(xn,yn)},所有样本点到分类超平面的函数间隔的最小值用
γ
^
\hat\gamma
γ^表示,特征空间间隔最大化即使得
γ
\gamma
γ最大。
其中,
γ
^
=
m
i
n
(
γ
1
^
,
γ
2
^
,
.
.
.
,
γ
n
^
)
{\hat\gamma = min(\hat{\gamma_1}, \hat{\gamma_2},...,\hat{\gamma_n})}
γ^=min(γ1^,γ2^,...,γn^)
样本点到分类超平面的函数间隔表示为
γ
i
^
=
y
i
(
w
⋅
x
i
+
b
)
{\hat{\gamma_i} = y_i(w·x_i + b)}
γi^=yi(w⋅xi+b),
∣
w
⋅
x
i
+
b
∣
{|w·x_i + b|}
∣w⋅xi+b∣可相对地表示样本点距离分类超平面的远近,
(
w
⋅
x
i
+
b
)
与
{(w·x_i + b)}与
(w⋅xi+b)与
y
i
y_i
yi的符号一致性可表示分类是否正确。
从函数间隔的表示可知,函数间隔
γ
i
^
{\hat{\gamma_i}}
γi^与
(
w
,
b
)
(w,b)
(w,b)成比例,不妨引入规范化
∣
∣
w
∣
∣
=
1
{||w||=1}
∣∣w∣∣=1,使间隔不再成比例变化,此时函数间隔
γ
^
{\hat{\gamma}}
γ^变成了几何间隔
γ
{\gamma}
γ,
γ
i
=
γ
i
^
∣
∣
w
∣
∣
{\gamma_i = \frac{\hat{\gamma_i}}{||w||}}
γi=∣∣w∣∣γi^。
线性可分SVM表示为:
max
w
,
b
γ
{\max \limits_{w,b}\ {\gamma}}
w,bmax γ
s
.
t
.
y
i
(
w
∣
∣
w
∣
∣
⋅
x
i
+
b
∣
∣
w
∣
∣
)
>
=
γ
,
i
=
1
,
2
,
.
.
.
,
n
s.t. \quad {y_i({\frac{w}{||w||}}·x_i+{\frac{b}{||w||}}) >= {\gamma}, i = 1,2,...,n}
s.t.yi(∣∣w∣∣w⋅xi+∣∣w∣∣b)>=γ,i=1,2,...,n
由于
γ
^
{\hat\gamma}
γ^和
w
{w}
w成比例,故不妨使
γ
^
=
1
{\hat\gamma} = 1
γ^=1,根据
γ
^
{\hat\gamma}
γ^和
γ
{\gamma}
γ的关系(
γ
i
=
γ
i
^
∣
∣
w
∣
∣
{\gamma_i = \frac{\hat{\gamma_i}}{||w||}}
γi=∣∣w∣∣γi^),可将SVM表示为:
max
w
,
b
1
∣
∣
w
∣
∣
{\max \limits_{w,b}\ \frac{1}{||w||}}
w,bmax ∣∣w∣∣1
s
.
t
.
y
i
(
w
⋅
x
i
+
b
)
>
=
1
,
i
=
1
,
2
,
.
.
.
,
n
s.t. \quad {y_i({w}·x_i+b) >= 1, i = 1,2,...,n}
s.t.yi(w⋅xi+b)>=1,i=1,2,...,n
由于
max
1
∣
∣
w
∣
∣
{\max\frac{1}{||w||}}
max∣∣w∣∣1和
min
1
2
∣
∣
w
∣
∣
2
{\min \frac{1}{2}{||w||^2}}
min21∣∣w∣∣2是等价的,所以SVM可转化为如下问题:
min
w
,
b
1
2
∣
∣
w
∣
∣
2
{\min \limits_{w,b}\ \frac{1}{2}{||w||^2}}
w,bmin 21∣∣w∣∣2
s
.
t
.
y
i
(
w
⋅
x
i
+
b
)
−
1
>
=
0
,
i
=
1
,
2
,
.
.
.
,
n
s.t. \quad {y_i({w}·x_i+b) -1>= 0, i = 1,2,...,n}
s.t.yi(w⋅xi+b)−1>=0,i=1,2,...,n
应用拉格朗日对偶性,对每一个不等式约束引入拉格朗日乘子
α
i
\alpha_i
αi,将拉格朗日函数分别对
w
,
b
{w,b}
w,b求偏导并令其等于0,可得到
w
=
∑
i
=
1
n
α
i
y
i
x
i
,
w=\sum\limits_{i=1}^{n}{\alpha_i}y_ix_i,
w=i=1∑nαiyixi,
∑
i
=
1
n
α
i
y
i
=
0.
\sum\limits_{i=1}^{n}{\alpha_i}y_i=0.
i=1∑nαiyi=0.
将上面两个式子带入拉格朗日函数,求拉格朗日函数对
α
{\alpha}
α的极大,则将原始问题转化为如下问题
min
w
,
b
1
2
∑
i
=
1
n
∑
j
=
1
n
α
i
α
j
y
i
y
j
(
x
i
⋅
x
j
)
{\min\limits_{w,b}\ \frac{1}{2}\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}{\alpha_i}{\alpha_j}y_iy_j(x_i·x_j)}
w,bmin 21i=1∑nj=1∑nαiαjyiyj(xi⋅xj)
s
.
t
.
∑
i
=
1
n
α
i
y
i
=
0
,
α
i
>
0
,
i
=
1
,
2
,
.
.
.
,
n
{s.t. \quad \sum\limits_{i=1}^{n}{\alpha_i}y_i=0, {\alpha_i}>0, \ i= 1,2,...,n}
s.t.i=1∑nαiyi=0,αi>0, i=1,2,...,n
求解
α
{\alpha}
α的最优解后,可得到
w
,
b
w,b
w,b的最优解。假设最优解
α
∗
=
{
α
1
∗
,
α
2
∗
,
.
.
.
,
α
n
∗
}
{\alpha^*=\left\{{\alpha_1^*},{\alpha_2^*},...,{\alpha_n^*}\right\}}
α∗={α1∗,α2∗,...,αn∗},则一定存在某个维度
α
j
∗
>
0
{\alpha_j^*}>0
αj∗>0,根据拉格朗日KKT条件,可知对应的
y
j
(
w
⋅
x
j
+
b
)
=
1
{y_j({w}·x_j+b) =1}
yj(w⋅xj+b)=1,可求得
w
∗
=
∑
i
=
1
n
α
i
∗
y
i
x
i
,
b
∗
=
y
j
−
w
∗
⋅
x
=
y
j
−
∑
i
=
1
n
α
i
∗
y
i
(
x
i
⋅
x
j
)
{w^*=\sum\limits_{i=1}^{n}{\alpha_i^*}y_ix_i}, {b^*=y_j-w^*·x = y_j-\sum\limits_{i=1}^{n}{\alpha_i^*}y_i(x_i·x_j)}
w∗=i=1∑nαi∗yixi,b∗=yj−w∗⋅x=yj−i=1∑nαi∗yi(xi⋅xj)
从以上求解过程可知, α i ∗ > 0 {\alpha_i^*}>0 αi∗>0对应的样本点 x i x_i xi到分类超平面的距离为1,即为所有样本点到分类平面距离最小的点,如下图所示,这些样本点为支持向量,根据SVM的原理可知,分类超平面只和支持向量有关。样本点在特征空间的分布形成了以分类超平面为对称中心的带状空间,带状空间的距离为 2 ∣ ∣ w ∣ ∣ \frac{2}{||w||} ∣∣w∣∣2,此带状空间内无样本点数据。
1.2 线性SVM
1.3 非线性SVM
未完待续…