支持向量机(一)
支持向量机是一种二分类模型,学习策略就是间隔最大化。主要包括线性可分支持向量机、线性支持向量机以及非线性支持向量机。
线性可分支持向量机与硬间隔最大化
线性可分支持向量机
给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到的分离超平面为:
w
∗
⋅
x
+
b
∗
=
0
{w^*} \cdot x + {b^*} = 0
w∗⋅x+b∗=0
以及相应的分类决策函数
f
(
x
)
=
s
i
g
n
(
w
∗
⋅
x
+
b
∗
)
f\left( x \right) = sign\left( {{w^*} \cdot x + {b^*}} \right)
f(x)=sign(w∗⋅x+b∗)
称为线性可分支持向量机。
函数间隔与几何间隔
-
函数间隔
对于给定的训练数据集 T T T和超平面 ( w , b ) \left( {w,b} \right) (w,b),定义超平面 ( w , b ) \left( {w,b} \right) (w,b)关于样本点 ( x i , y i ) \left( {x_i,y_i} \right) (xi,yi)的函数间隔为:
γ ^ i = y i ( w ⋅ x i + b ) {{\hat \gamma }_i} = {y_i}\left( {w \cdot {x_i} + b} \right) γ^i=yi(w⋅xi+b)
定义超平面关于训练集 T T T的函数间隔为:
γ ^ = min i = 1 , ⋯   , N γ ^ i {{\hat \gamma }} =\mathop {\min }\limits_{i = 1, \cdots ,N} {{\hat \gamma }_i} γ^=i=1,⋯,Nminγ^i -
几何间隔
对于给定的训练集 T T T和超平面 ( w , b ) \left( {w,b} \right) (w,b),定义超平面 ( w , b ) \left( {w,b} \right) (w,b)关于样本点 ( x i , y i ) \left( {x_i,y_i} \right) (xi,yi)的几何间隔为:
γ i = y i ( w ∥ w ∥ ⋅ x i + b ∥ w ∥ ) {\gamma _i} = {y_i}\left( {\frac{w}{{\left\| w \right\|}} \cdot {x_i} + \frac{b}{{\left\| w \right\|}}} \right) γi=yi(∥w∥w⋅xi+∥w∥b)
其中 ∥ w ∥ \left\| w \right\| ∥w∥为 w w w的 L 2 L_2 L2范数。定义超平面关于训练集 T T T的几何间隔为:
γ = min i = 1 , ⋯   , N γ i {{\gamma }} =\mathop {\min }\limits_{i = 1, \cdots ,N} {{\gamma }_i} γ=i=1,⋯,Nminγi -
两者关系
γ i = γ ^ i ∥ w ∥ {\gamma _i}=\frac{{\hat \gamma _i}}{\left\| w \right\|} γi=∥w∥γ^i
γ = γ ^ ∥ w ∥ {\gamma}=\frac{{\hat \gamma}}{\left\| w \right\|} γ=∥w∥γ^
间隔最大化
支持向量机的基本思想是:求解能够正确划分训练集并且几何间隔最大的分离超平面。
-
最大间隔分离超平面
最大间隔分离超平面可以表示为:
max w , b γ \max_{w,b} \gamma w,bmaxγ
s . t . y i ( w ∥ w ∥ ⋅ x i + b ∥ w ∥ ) ≥ γ , i = 1 , 2 , ⋯   , N s.t. \quad {y_i}\left( {\frac{w}{{\left\| w \right\|}} \cdot {x_i} + \frac{b}{{\left\| w \right\|}}} \right)\ge \gamma, i=1,2,\cdots ,N s.t.yi(∥w∥w⋅xi+∥w∥b)≥γ,i=1,2,⋯,N
可以改写为:
max w , b γ ^ ∥ w ∥ \max_{w,b} \frac{\hat \gamma}{\left\| w \right\|} w,bmax∥w∥γ^
s . t . y i ( w ⋅ x i + b ) ≥ γ ^ , i = 1 , 2 , ⋯   , N s.t. \quad {y_i}\left( w \cdot {x_i} + b \right)\ge \hat \gamma, i=1,2,\cdots ,N s.t.yi(w⋅xi+b)≥γ^,i=1,2,⋯,N
其实间隔 γ ^ \hat \gamma γ^的取值并不会影响最优化问题的解,所以等价为最大化 1 ∥ w ∥ \frac{1}{\left\| w \right\|} ∥w∥1 ,又因为最大化 1 ∥ w ∥ \frac{1}{\left\| w \right\|} ∥w∥1和最小化 1 2 ∥ w ∥ 2 \frac{1}{2}\left\| w \right\|^2 21∥w∥2是等价的,所以最终化为:
min w , b 1 2 ∥ w ∥ 2 \min_{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 s.t. \quad {y_i}\left( w \cdot {x_i} + b \right)-1 \ge 0, i=1,2,\cdots ,N s.t.yi(w⋅xi+b)−1≥0,i=1,2,⋯,N -
最大间隔分离超平面的存在唯一性
若训练集 T T T线性可分,则可将训练数据集中的样本点完全正确分开的最大间隔分离超平面存在且唯一。 -
支持向量与间隔边界
- 支持向量
在线性可分情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量。- 对于正例 y i = + 1 y_i=+1 yi=+1,支持向量在 H 1 : w x ˙ + b = 1 H_1:w\dot x+b=1 H1:wx˙+b=1
- 对于负例 y i = − 1 y_i=-1 yi=−1,支持向量在 H 2 : w x ˙ + b = − 1 H_2:w\dot x+b=-1 H2:wx˙+b=−1
- 间隔与间隔边界
H 1 H_1 H1与 H 2 H_2 H2之间的距离称为间隔,分离超平面位于中间,间隔等于 2 ∥ w ∥ \frac{2}{\left\| w \right\|} ∥w∥2, H 1 H_1 H1与 H 2 H_2 H2则称为间隔边界。
- 支持向量
学习的对偶算法
采用拉格朗日对偶性求解。
- 引入拉格朗日乘子
α
i
≥
0
,
i
=
1
,
2
,
⋯
 
,
N
{\alpha _i} \ge 0,i = 1,2, \cdots ,N
αi≥0,i=1,2,⋯,N,定义拉格朗日函数:
L ( w , b , α ) = 1 2 ∥ w ∥ 2 − ∑ i = 1 N α i y i ( w ⋅ x i + b ) + ∑ i = 1 N α i L\left( {w,b,\alpha } \right) = \frac{1}{2}{\left\| w \right\|^2} - \sum\limits_{i = 1}^N {{\alpha _i}{y_i}\left( {w \cdot {x_i} + b} \right) + \sum\limits_{i = 1}^N {{\alpha _i}} } L(w,b,α)=21∥w∥2−i=1∑Nαiyi(w⋅xi+b)+i=1∑Nαi
原始问题的对偶问题变为:
max α min w , b L ( w , b , α ) \max_\alpha\min_{w,b}L\left( {w,b,\alpha } \right) αmaxw,bminL(w,b,α) - 求解
min
w
,
b
L
(
w
,
b
,
α
)
\min_{w,b}L\left( {w,b,\alpha } \right)
minw,bL(w,b,α)
min w , b L ( w , b , α ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j x i x j + ∑ i = 1 N α i \mathop {\min }\limits_{w,b} L\left( {w,b,\alpha } \right) = - \frac{1}{2}\sum\limits_{i = 1}^N {\sum\limits_{j = 1}^N {{\alpha _i}{\alpha _j}{y_i}{y_j}{x_i}{x_j}} + } \sum\limits_{i = 1}^N {{\alpha _i}} w,bminL(w,b,α)=−21i=1∑Nj=1∑Nαiαjyiyjxixj+i=1∑Nαi - 求
min
w
,
b
L
(
w
,
b
,
α
)
\mathop {\min }\limits_{w,b} L\left( {w,b,\alpha } \right)
w,bminL(w,b,α)对
α
\alpha
α的最大值
max α − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j x i x j + ∑ i = 1 N α i \max_\alpha - \frac{1}{2}\sum\limits_{i = 1}^N {\sum\limits_{j = 1}^N {{\alpha _i}{\alpha _j}{y_i}{y_j}{x_i}{x_j}} + } \sum\limits_{i = 1}^N {{\alpha _i}} αmax−21i=1∑Nj=1∑Nαiαjyiyjxixj+i=1∑Nαi
s . t . ∑ i = 1 N α i y i = 0 , α ≥ 0 , i = 1 , 2 , ⋯   , N s.t. \quad \sum\limits_{i = 1}^N {{\alpha _i y_i}}=0,\quad \alpha \ge0,i=1,2,\cdots,N s.t.i=1∑Nαiyi=0,α≥0,i=1,2,⋯,N
其对应的等价对偶问题为:
min α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j x i x j − ∑ i = 1 N α i \min_\alpha \frac{1}{2}\sum\limits_{i = 1}^N {\sum\limits_{j = 1}^N {{\alpha _i}{\alpha _j}{y_i}{y_j}{x_i}{x_j}} - } \sum\limits_{i = 1}^N {{\alpha _i}} αmin21i=1∑Nj=1∑Nαiαjyiyjxixj−i=1∑Nαi
s . t . ∑ i = 1 N α i y i = 0 , α ≥ 0 , i = 1 , 2 , ⋯   , N s.t. \quad \sum\limits_{i = 1}^N {{\alpha _i y_i}}=0,\quad \alpha \ge0,i=1,2,\cdots,N s.t.i=1∑Nαiyi=0,α≥0,i=1,2,⋯,N
【定理】设
α
∗
=
(
α
1
∗
,
α
2
∗
,
⋯
 
,
α
l
∗
)
T
{\alpha ^*} = {\left( {\alpha _1^*,\alpha _2^*, \cdots ,\alpha _l^*} \right)^T}
α∗=(α1∗,α2∗,⋯,αl∗)T是对偶最优化问题的解,则存在下标
j
j
j,使得
α
j
∗
>
0
\alpha_j^*>0
αj∗>0,并可按下式求解原始问题的解
w
∗
,
b
∗
w^*,b^*
w∗,b∗:
w
∗
=
∑
i
=
1
N
α
i
∗
y
i
x
i
{w^*} = \sum\limits_{i = 1}^N {\alpha _i^*{y_i}{x_i}}
w∗=i=1∑Nαi∗yixi
b
∗
=
y
j
−
∑
i
=
1
N
α
i
∗
y
i
x
i
x
j
{b^*} = {y_j} - \sum\limits_{i = 1}^N {\alpha _i^*{y_i}{x_i}{x_j}}
b∗=yj−i=1∑Nαi∗yixixj
- 最终的分离超平面
∑ i = 1 N α i ∗ y i x i + b ∗ = 0 \sum\limits_{i = 1}^N {\alpha _i^*{y_i}{x_i}}+b^*=0 i=1∑Nαi∗yixi+b∗=0
参考文献
《统计学习方法》