定义
支持向量机分类用超平面对数据进行分割,选择使两类数据集的间隔达到最大的超平面,所学习到的超平面称为支持向量机。根据不同类型的数据,相应有不同的支持向量机模型。
- 超平面
ω ⋅ x − x 0 = ω ⋅ x + b = 0 \omega\cdot{x-x_{0}} =\omega\cdot{x}+b=0 ω⋅x−x0=ω⋅x+b=0
ω \omega ω—法向量, x 0 x_{0} x0—平面上任意一个点
数据 | 模型 |
---|---|
线性可分 | 线性可分支持向量机 |
近似线性可分 | 线性支持向量机 |
线性不可分 | 非线性支持向量机 |
线性可分支持向量机
考虑二分类问题,数据集为
(
x
i
,
y
i
)
(x_{i},y_{i})
(xi,yi),
i
=
1
,
.
.
.
,
N
i=1,...,N
i=1,...,N,
y
i
=
±
1
y_{i}=\pm1
yi=±1,并且该数据集可由超平面完全将两类样本分开。如图:
函数间隔
定义 y ( ω ⋅ x + b ) y(\omega\cdot{x}+b) y(ω⋅x+b)为样本 ( x , y ) (x,y) (x,y)到超平面 ( ω , b ) (\omega,b) (ω,b)的函数间隔
- ω ⋅ x + b \omega\cdot{x}+b ω⋅x+b与 y y y的符号是否一致能够表示分类是否正确
- ∣ ω ⋅ x + b ∣ |\omega\cdot{x}+b| ∣ω⋅x+b∣能相对表示点 x x x到超平面的距离,实际上 x x x到超平面的距离为 ∣ ω ⋅ x + b ∣ / ∣ ∣ ω ∣ ∣ |\omega\cdot{x}+b|/||\omega|| ∣ω⋅x+b∣/∣∣ω∣∣,故样本 ( x , y ) (x,y) (x,y)到超平面的函数距离为样本到超平面的距离与法向量的范数的乘积。
几何间隔
当 ∣ ∣ ω ∣ ∣ = 1 ||\omega||=1 ∣∣ω∣∣=1时, y ( ω ⋅ x + b ) y(\omega\cdot{x}+b) y(ω⋅x+b)称为几何间隔
- 几何间隔实际上是样本点到超平面的带符号的距离
求最大间隔分离超平面
支持向量机希望做到不仅把样本正确分类,还希望样本离分离超平面之间的几何距离尽量大,这样利于提高预测的样本的分类效果。如图所示,当平面(紫色)居中时几何间隔达到最大。
这样的分离超平面可以通过求解一个最优化问题来求得:
1.
1.
1.
m
a
x
(
w
,
b
)
γ
max_{(w,b)} ~\gamma
max(w,b) γ
s
.
t
.
y
i
(
ω
∣
∣
ω
∣
∣
+
b
∣
∣
ω
∣
∣
)
≥
γ
s.t.~~y_{i}(\frac{\omega}{||\omega||}+\frac{b}{||\omega||})\ge\gamma
s.t. yi(∣∣ω∣∣ω+∣∣ω∣∣b)≥γ
i
=
1
,
…
,
N
i=1,\dots,N
i=1,…,N
- 约束条件希望每个样本和超平面的距离至少是 γ \gamma γ,目标函数希望 γ \gamma γ越大越好,令 γ ^ = γ ∣ ∣ ω ∣ ∣ \widehat{\gamma}=\gamma{||\omega||} γ =γ∣∣ω∣∣,则得到如下优化问题:
2.
2.
2.
m
a
x
(
w
,
b
)
γ
^
∣
∣
ω
∣
∣
max_{(w,b)} ~\frac{\widehat{\gamma}}{||\omega||}
max(w,b) ∣∣ω∣∣γ
s
.
t
.
y
i
(
ω
+
b
)
≥
γ
^
s.t.~~y_{i}({\omega}+{b})\ge\widehat{\gamma}
s.t. yi(ω+b)≥γ
i
=
1
,
…
,
N
i=1,\dots,N
i=1,…,N
- 上述问题 γ ^ \widehat{\gamma} γ 取任何大于零的常数,解都是一样的,通常取值1,得到如下最优化问题
3.
3.
3.
m
a
x
(
w
,
b
)
1
∣
∣
ω
∣
∣
max_{(w,b)} ~\frac{1}{||\omega||}
max(w,b) ∣∣ω∣∣1
s
.
t
.
y
i
(
ω
+
b
)
≥
1
s.t.~~y_{i}({\omega}+{b})\ge{1}
s.t. yi(ω+b)≥1
i
=
1
,
…
,
N
i=1,\dots,N
i=1,…,N
- 若存在 ( ω ∗ , b ∗ ) (\omega^{*},b^{*}) (ω∗,b∗)使 1 ∣ ∣ ω ∣ ∣ \frac{1}{||\omega||} ∣∣ω∣∣1达到最大,则对所有平面 ( ω , b ) (\omega,b) (ω,b)均加系数 γ ^ \widehat{\gamma} γ ,则在所有平面 ( γ ^ ω , γ ^ b ) (\widehat{\gamma}{\omega},\widehat{\gamma}{b}) (γ ω,γ b)中 ( γ ^ ω ∗ , γ ^ b ∗ ) (\widehat{\gamma}{\omega^{*}},\widehat{\gamma}{b^{*}}) (γ ω∗,γ b∗)使 γ ^ ∣ ∣ ω ∣ ∣ \frac{\widehat{\gamma}}{||\omega||} ∣∣ω∣∣γ 达到最大。
- ( ω , b ) (\omega,b) (ω,b)和 ( γ ^ ω , γ ^ b ) (\widehat{\gamma}{\omega},\widehat{\gamma}{b}) (γ ω,γ b)表示同一个超平面。于是得到以下最优化问题。
- y i ( ω + b ) ≥ 1 y_{i}({\omega}+{b})\ge{1} yi(ω+b)≥1意思是样本和超平面之间有一定的正距离。
- 几何间隔为 1 ∣ ∣ ω ∗ ∣ ∣ \frac{1}{||\omega^{*}||} ∣∣ω∗∣∣1
4.
4.
4.
m
i
n
(
w
,
b
)
1
2
∣
∣
ω
∣
∣
2
min_{(w,b)} ~\frac{1}{2}||\omega||^2
min(w,b) 21∣∣ω∣∣2
s
.
t
.
y
i
(
ω
+
b
)
≥
1
s.t.~~y_{i}({\omega}+{b})\ge{1}
s.t. yi(ω+b)≥1
i
=
1
,
…
,
N
i=1,\dots,N
i=1,…,N
- 这是一个凸二次规划问题,并且解存在唯一,李航的统计学习方法中有证明。
如何求解分离超平面
思路:
写出原问题的对偶问题
≫
~\gg~
≫ 求解对偶问题的解
≫
~\gg~
≫ 由对偶问题的解写出原问题的解
如何写出对偶问题
问题
4.
4.
4.
⟺
\iff
⟺广义拉格朗日函数极小较大问题。即:
m
i
n
ω
,
b
m
a
x
α
:
α
≥
0
L
(
ω
,
b
,
α
)
min_{\omega,b}max_{\alpha:\alpha\ge{0}}L(\omega,b,\alpha)
minω,bmaxα:α≥0L(ω,b,α)
L
(
ω
,
b
,
α
)
=
1
2
∣
∣
ω
∣
∣
2
−
∑
i
=
1
N
α
i
y
i
(
ω
⋅
x
+
b
−
1
)
L(\omega,b,\alpha)=\frac{1}{2}||\omega||^2-\sum_{i=1}^{N}\alpha_{i}y_{i}(\omega\cdot{x}+b-1)
L(ω,b,α)=21∣∣ω∣∣2−i=1∑Nαiyi(ω⋅x+b−1)
m a x α : α ≥ 0 L ( ω , b , α ) = { 1 2 ∣ ∣ ω ∣ ∣ 2 ω , b 满足约束条件 + ∞ 其他 max_{\alpha:\alpha\ge0}L(\omega,b,\alpha)= \begin{cases} \frac{1}{2}{||\omega||}^2 & {\omega,b}{\text{满足约束条件}} \\ +\infty & {\text{其他}} \end{cases} maxα:α≥0L(ω,b,α)={21∣∣ω∣∣2+∞ω,b满足约束条件其他
≫
~\gg~
≫
m
i
n
ω
m
a
x
α
:
α
≥
0
L
(
ω
,
b
,
α
)
=
{
m
i
n
ω
1
2
∣
∣
ω
∣
∣
2
ω
,
b
满足约束条件
+
∞
ω
,
b
不满足约束条件
min_{\omega}max_{\alpha:\alpha\ge0}L(\omega,b,\alpha)=\begin{cases} min_{\omega}{\frac{1}{2}{||\omega||}^2} &{\omega,b}{\text{满足约束条件}} \\ +\infty &{\omega,b}{\text{不满足约束条件}} \end{cases}
minωmaxα:α≥0L(ω,b,α)={minω21∣∣ω∣∣2+∞ω,b满足约束条件ω,b不满足约束条件
故对偶问题为
m
a
x
ω
,
b
m
i
n
α
:
α
≥
0
L
(
ω
,
b
,
α
)
max_{\omega,b}min_{\alpha:\alpha\ge{0}}L(\omega,b,\alpha)
maxω,bminα:α≥0L(ω,b,α)
由于
L
(
ω
,
b
,
α
)
L(\omega,b,\alpha)
L(ω,b,α)是关于
ω
,
b
{\omega,b}
ω,b分量的多元二次方程,开口向上,故最小值为偏导向量为0的点,于是
∇
ω
L
(
ω
,
b
,
α
)
=
ω
−
∑
i
=
1
N
α
i
y
i
x
i
=
0
(
1
)
\nabla_{\omega}L(\omega,b,\alpha)=\omega-\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i}=0~~~~~~~~(1)
∇ωL(ω,b,α)=ω−i=1∑Nαiyixi=0 (1)
∇
b
L
(
ω
,
b
,
α
)
=
−
∑
i
=
1
N
α
i
y
i
=
0
(
2
)
\nabla_{b}L(\omega,b,\alpha)=-\sum_{i=1}^{N}\alpha_{i}y_{i}=0~~~~~~~~~~~~~~(2)
∇bL(ω,b,α)=−i=1∑Nαiyi=0 (2)
由(1)(2)得
m
i
n
α
:
α
≥
0
L
(
ω
,
b
,
α
)
=
−
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
(
x
i
⋅
x
j
)
+
∑
i
=
1
N
α
i
min_{\alpha:\alpha\ge{0}}L(\omega,b,\alpha)=-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j}(x_{i}\cdot x_{j})+\sum_{i=1}^{N}\alpha_{i}
minα:α≥0L(ω,b,α)=−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi
于是
m
a
x
ω
,
b
m
i
n
α
:
α
≥
0
L
(
ω
,
b
,
α
)
max_{\omega,b}min_{\alpha:\alpha\ge{0}}L(\omega,b,\alpha)
maxω,bminα:α≥0L(ω,b,α)可化为
m
a
x
α
−
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_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j}(x_{i}\cdot x_{j})+\sum_{i=1}^{N}\alpha_{i}
maxα −21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi
s
.
t
.
∑
i
=
1
N
α
i
y
i
=
0
s.t.~~~~\sum_{i=1}^{N}\alpha_{i}y_{i}=0
s.t. i=1∑Nαiyi=0
α
i
≥
0
,
i
=
1
,
.
.
.
,
N
~~~~~~~~~~~~~~~~~~~~~\alpha_{i}\ge0~,i=1,...,N
αi≥0 ,i=1,...,N
最终化为
m
i
n
α
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_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j}(x_{i}\cdot x_{j})+\sum_{i=1}^{N}\alpha_{i}
minα 21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi
s
.
t
.
∑
i
=
1
N
α
i
y
i
=
0
s.t.~~~~\sum_{i=1}^{N}\alpha_{i}y_{i}=0
s.t. i=1∑Nαiyi=0
α
i
≥
0
,
i
=
1
,
.
.
.
,
N
~~~~~~~~~~~~~~~~~~~~~\alpha_{i}\ge0~,i=1,...,N
αi≥0 ,i=1,...,N
求解对偶问题
求解上面的对偶最优化问题比较复杂,一般用到smo算法去求解
SMO算法
对偶问题的解和原问题的解之间的关系
对于两者解的关系有如下的定理
定理:
若函数
f
(
x
)
,
c
i
(
x
)
f(x),c_{i}(x)
f(x),ci(x)是凸函数,
h
j
(
x
)
h_{j}(x)
hj(x)是仿射函数,且
c
i
(
x
)
c_{i}(x)
ci(x)是严格可行的,则
x
∗
,
α
∗
,
β
∗
x^*,\alpha^*,\beta^*
x∗,α∗,β∗分别是原始问题和对偶问题的解的充分必要条件为
x
∗
,
α
∗
,
β
∗
x^*,\alpha^*,\beta^*
x∗,α∗,β∗满足KKT条件(关于KKT的解释),即
∇
x
L
(
x
∗
,
α
∗
,
β
∗
)
=
0
\nabla_{x}L(x^{*},\alpha^*,\beta^*)=0
∇xL(x∗,α∗,β∗)=0
α
i
∗
c
i
∗
=
0
\alpha_{i}^*c_{i}^*=0
αi∗ci∗=0
c
i
∗
≤
0
,
α
i
∗
≥
0
,
h
j
∗
=
0
c_{i}^*\le0,~\alpha_{i}^*\ge0,~h_{j}^*=0
ci∗≤0, αi∗≥0, hj∗=0
i
=
1
,
.
.
.
,
m
;
j
=
1
,
.
.
.
,
n
i=1,...,m;~~j=1,...,n
i=1,...,m; j=1,...,n
- 原问题为:
m i n x ∈ R f ( x ) min_{x\in R }f(x) minx∈Rf(x)
s . t c i ( x ) ≤ 0 , h j ( x ) = 0 s.t~~c_{i}(x) \le0,h_{j}(x)=0 s.t ci(x)≤0,hj(x)=0
i = 1 , . . . , m ; j = 1 , . . . , n i=1,...,m;~~j=1,...,n i=1,...,m; j=1,...,n - L ( x ∗ , α ∗ , β ∗ ) = f ( x ) + ∑ i α i c i ( x ) + ∑ j β j h j ( x ) L(x^{*},\alpha^*,\beta^*)=f(x)+\sum_{i}\alpha_{i}c_{i}(x)+\sum_{j}\beta_{j}h_{j}(x) L(x∗,α∗,β∗)=f(x)+∑iαici(x)+∑jβjhj(x)
- 仿射函数即为最高次数为1的多项式函数,形如 h ( x ) = ∑ i α i x i + b h(x)=\sum_{i}\alpha_{i}x_{i}+b h(x)=∑iαixi+b
- 严格可行意思是 ∃ x , ∀ i , c i ( x ) < 0 \exists x, \forall i,c_{i}(x)<0 ∃x,∀i,ci(x)<0
显然,
1
2
∣
∣
ω
∣
∣
2
,
c
i
(
ω
,
b
)
=
1
−
y
i
(
ω
⋅
x
i
+
b
)
\frac{1}{2}||\omega||^2,c_{i}(\omega,b)=1-y_{i}(\omega\cdot{x_{i}}+b)
21∣∣ω∣∣2,ci(ω,b)=1−yi(ω⋅xi+b)均为凸函数,又由于数据是线性可分的,故存在
(
ω
,
b
)
(\omega,b)
(ω,b)使得
c
i
<
0
c_{i}<0
ci<0,故
由KKT条件有
∇
ω
L
(
ω
,
b
,
α
)
=
ω
−
∑
i
=
1
N
α
i
y
i
x
i
=
0
\nabla_{\omega}L(\omega,b,\alpha)=\omega-\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i}=0
∇ωL(ω,b,α)=ω−i=1∑Nαiyixi=0
∇
b
L
(
ω
,
b
,
α
)
=
−
∑
i
=
1
N
α
i
y
i
=
0
\nabla_{b}L(\omega,b,\alpha)=-\sum_{i=1}^{N}\alpha_{i}y_{i}=0
∇bL(ω,b,α)=−i=1∑Nαiyi=0
α
i
(
y
i
(
ω
⋅
x
i
+
b
)
−
1
)
=
0
\alpha_{i}(y_{i}(\omega\cdot{x_{i}}+b)-1)=0
αi(yi(ω⋅xi+b)−1)=0
α
i
≥
0
,
i
=
1
,
.
.
,
N
\alpha_{i}\ge0,i=1,..,N
αi≥0,i=1,..,N
于是有
ω
=
∑
i
=
1
N
α
i
y
i
x
i
\omega=\sum_{i=1}^{N}\alpha_{i}y_{i}x_{i}
ω=i=1∑Nαiyixi
如果
∀
i
,
α
i
=
0
\forall i,\alpha_{i}=0
∀i,αi=0
则
ω
=
0
\omega=0
ω=0
而
(
0
,
b
)
(0,b)
(0,b)不是最优化问题的可行解,因为
y
i
b
−
1
y_{i}b-1
yib−1不可能一直大于等于0,
y
i
y_{i}
yi有正有负。故存在
α
j
∗
>
0
\alpha_{j^*}>0
αj∗>0,于是有
y
i
(
ω
⋅
x
i
+
b
)
y_{i}(\omega\cdot{x_{i}}+b)
yi(ω⋅xi+b)=0,两边同乘
y
i
y_{i}
yi,由
y
i
2
=
1
y_{i}^{2}=1
yi2=1,得
b
=
y
i
−
∑
i
=
1
N
α
i
y
i
(
x
i
⋅
x
j
∗
)
b=y_{i}-\sum_{i=1}^N\alpha_{i}y_{i}(x_{i}\cdot x_{j^*})
b=yi−i=1∑Nαiyi(xi⋅xj∗)
最终求得超平面
∑
i
=
1
N
α
i
y
i
(
x
⋅
x
i
)
+
b
=
0
\sum_{i=1}^N\alpha_{i}y_{i}(x\cdot x_{i}) +b=0
i=1∑Nαiyi(x⋅xi)+b=0
决策函数
f
(
x
)
=
s
i
g
n
(
∑
i
=
1
N
α
i
y
i
(
x
⋅
x
i
)
+
b
)
f(x)=sign(\sum_{i=1}^N\alpha_{i}y_{i}(x\cdot x_{i}) +b)
f(x)=sign(i=1∑Nαiyi(x⋅xi)+b)
支持向量、间隔边界
α
i
>
0
\alpha_{i}>0
αi>0对应得样本点
(
x
i
,
y
i
)
(x_{i},y_{i})
(xi,yi)称为支持向量,由超平面的公式可以看到,只有支持向量才会影响到超平面。此时,由KKT条件可知
y
i
(
ω
⋅
x
i
+
b
)
−
1
=
0
y_{i}(\omega \cdot x_{i}+b)-1=0
yi(ω⋅xi+b)−1=0
即
∣
ω
∣
∣
ω
∣
∣
⋅
x
i
+
b
∣
∣
ω
∣
∣
∣
=
1
∣
∣
ω
∣
∣
|\frac{\omega}{||\omega||} \cdot x_{i}+\frac {b}{{||\omega||}}|=\frac{1}{||\omega||}
∣∣∣ω∣∣ω⋅xi+∣∣ω∣∣b∣=∣∣ω∣∣1
即支持向量是到超平面距离为
1
∣
∣
ω
∣
∣
\frac{1}{||\omega||}
∣∣ω∣∣1的样本,其中两条橙色直线所代表的平面又叫做间隔边界(和分隔超平面的距离为
1
∣
∣
ω
∣
∣
\frac{1}{||\omega||}
∣∣ω∣∣1,如图黑色方框所示所示: