线性可分支持向量机
支持向量机是一种二分类模型,它的基本想法就是:基于训练集和样本空间找到一个最好的划分超平面。在样本空间中,划分超平面可用
w
T
x
+
b
=
0
{w^T}x + b = 0
wTx+b=0表示,记为(w,b)。样本点
(
x
i
,
y
i
)
({x_i},{y_i})
(xi,yi)到划分超平面的函数间隔:
γ
^
=
y
i
(
w
∗
x
i
+
b
)
\hat \gamma = {y_i}(w*{x_i} + b)
γ^=yi(w∗xi+b),几何间隔为:
γ
=
γ
^
∥
w
∥
\gamma = \frac{{\hat \gamma }}{{\left\| w \right\|}}
γ=∥w∥γ^。
支持向量机的基本思想是:求解能够正确划分训练数据集并且几何间隔最大的分离超平面,表达为数学公式即为:
max
w
,
b
γ
^
∥
w
∥
\mathop {\max }\limits_{w,b} \;\;\;\frac{{\hat \gamma }}{{\left\| w \right\|}}
w,bmax∥w∥γ^
s.t.
y
i
(
w
∗
x
i
+
b
)
≥
γ
^
,
i
=
1
,
.
.
.
,
N
{y_i}(w*{x_i} + b) \ge \hat \gamma ,\;\;\;\;\;\;\;i = 1,...,N
yi(w∗xi+b)≥γ^,i=1,...,N
由于
γ
^
{\hat \gamma }
γ^的取值并不影响最优化问题的解,且最大化
1
∥
w
∥
\frac{1}{{\left\| w \right\|}}
∥w∥1等价于最小化
1
2
∥
w
∥
{\frac{1}{2}\left\| w \right\|}
21∥w∥,便可得线性可分的支持向量机的最优化问题:
min
w
,
b
1
2
∥
w
∥
2
\mathop {\min }\limits_{w,b} \;\frac{1}{2}{\left\| w \right\|^2}
w,bmin21∥w∥2
s.t.
y
i
(
w
∗
x
i
+
b
)
−
1
≥
0
,
i
=
1
,
2
,
.
.
.
,
N
{y_i}(w*{x_i} + b) - 1 \ge 0,\;\;\;\;i = 1,2,...,N
yi(w∗xi+b)−1≥0,i=1,2,...,N
这是一个凸二次优化问题,可以直接求解。但是为了方便,应用拉格朗日对偶性,求解它的对偶问题。
学习的对偶算法
首先建立拉格朗日函数,为每个不等式约束,引进拉格朗日乘子,
α
i
≥
0
,
i
=
1
,
.
.
.
,
N
{\alpha _i} \ge 0,\;\;\;\;i = 1,...,N
αi≥0,i=1,...,N,定义拉格朗日函数:
L
(
w
,
b
,
α
)
=
1
2
∥
w
∥
2
−
1
2
α
i
y
i
(
w
∗
x
i
+
b
)
+
∑
i
=
1
N
α
i
{ L(w,b,\alpha ) = \frac{1}{2}{\left\| w \right\|^2} - \frac{1}{2}{\alpha _i}{y_i}(w*{x_i} + b) + \sum\limits_{i = 1}^N {{\alpha _i}} }
L(w,b,α)=21∥w∥2−21αiyi(w∗xi+b)+i=1∑Nαi根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题,即:
max
α
min
w
,
b
L
(
w
,
b
,
α
)
\mathop {\max }\limits_\alpha \;\mathop {\min }\limits_{w,b} L(w,b,\alpha )
αmaxw,bminL(w,b,α)
首先,我们来求最小,令
L
(
w
,
b
,
α
)
L(w,b,\alpha )
L(w,b,α)分别对w和b求导为零,可得:
将其代入拉格朗日函数,可得:
解出 alpha 之后,那么w,b也相应得到了,也就得到了分离超平面的方程:
f
(
x
)
=
∑
i
=
1
m
α
i
∗
y
i
(
x
x
i
)
+
b
∗
f(x) = \sum\limits_{i = 1}^m {\alpha _i^ * {y_i}(x{x_i}) + {b^ * }}
f(x)=i=1∑mαi∗yi(xxi)+b∗
原始问题是凸二次规划问题,解满足下面的KKT条件:
发现:对于任意训练样本 ( x i , y i ) ({x_i},{y_i}) (xi,yi),总有 α i = 0 {\alpha _i} = 0 αi=0或者 y i f ( x i ) = 1 {y_i}f({x_i}) = 1 yif(xi)=1,也就是说最终与模型有关的的样本点都位于最大间隔的边界上,我们称之为支持向量。