概览
一、前言
支持向量机(Support Vectore Machine,SVM)学习问题可以表示为凸优化问题,能够在小样本训练量的情况下,使用有效地算法求解线性及非线性问题的全局最优解。支持向量机在求解非线性分类问题时,利用核技巧将非线性问题从低维空间向高维空间映射,然后采取线性分类问题的方式去解决。在非线性问题上的优异表现及较高的鲁棒性,使得支持向量机成功应用于语音识别、人脸识别、图像处理等领域。
二、基础
1.概念
支持向量机以间隔最大化为目标,采取硬间隔最大化(Hard margin)与软间隔最大化(Soft margin)的模型,寻找一个超平面对样本进行分割。支持向量机三个核心要点为间隔、对偶、核技巧。
1)训练样本线性可分时,采用硬间隔最大化训练线性可分支持向量机;
2)训练样本近似线性可分时,采用软间隔最大化训练线性支持向量机;
3)训练样本非线性时,基于核技巧,采用硬间隔最大化或软间隔最大化训练非线性支持向量机。
![](https://i-blog.csdnimg.cn/blog_migrate/96675c8c8a6318fe6529efa751637579.jpeg)
在样本空间中,划分超平面可通过如下线性方程来描述:
ω τ x i + b = 0 \omega^\tau x_i+b=0 ωτxi+b=0
其中 w w w为法向量,决定了超平面的方向, b b b为位移量,决定了超平面与原点的距离。
假设超平面能将训练样本正确地分类,即对于训练样本 ( x i , y i ) (xi,yi) (xi,yi),满足以下公式:
{ ω τ x i + b > 0 , y i = + 1 ω τ x i + b < 0 , y i = − 1 \left\{\begin{array}{l}\omega^\tau x_i+b>0,y_i=+1\\\omega^\tau x_i+b<0,y_i=-1\end{array}\right. {
ωτxi+b>0,yi=+1ωτxi+b<0,yi=−1
其中, y i = + 1 y_i=+1 yi=+1 表示样本为正样本, y i = − 1 y_i=-1 yi=−1表示样本为负样本。
2.函数间隔与几何间隔
![](http://img-blog.csdnimg.cn/20200206161912280.png)
由超平面的公式可得知超平面 ( ω , b ) (\omega,b) (ω,b)关于样本 ( x i , y i ) (x_i,y_i) (xi,yi)的函数间隔为:
γ ^ i = y i ( ω τ x i + b ) {\widehat\gamma}_i=y_i\left(\omega^\tau x_i+b\right) γ
i=yi(ωτxi+b)
如果成比例地改变 ω \omega ω和 b b b,超平面没有改变,函数间隔却有所变化。函数间隔可以表示分类预测的正确性及确信度,但是不足以选择分离超平面,因此引出超平面 ( ω , b ) (\omega,b) (ω,b)关于样本 ( x i , y i ) (x_i,y_i) (xi,yi)的几何间隔,即样本点至超平面的距离:
γ i = y i ( ω τ ∥ ω ∥ x i + b ∥ ω ∥ ) {\gamma}_i=y_i\left(\frac{\omega^\tau}{\left\|\omega\right\|}x_i+\frac b{\left\|\omega\right\|}\right) γi=yi(∥ω∥ωτxi+∥ω∥b)
即使超平面参数 ω \omega ω和 b b b成比例地改变,几何间隔也不会变化。
三、硬间隔最大化
1.间隔最大化
下面考虑如何求得一个几何间隔最大的分离超平面,即最大间隔分离超平面。该问题可以表示为下面的约束最优化问题:
{ m a x ω , b γ s . t . y i ( ω τ ∥ ω ∥ x i + b ∥ ω ∥ ) ≥ γ , i = 1 , 2 , . . . , N \left\{\begin{array}{l}\underset{\omega,b}{max}\;\;\;\gamma\\s.t.\;\;\;\;y_i\left(\frac{\omega^\tau}{\left\|\omega\right\|}x_i+\frac b{\left\|\omega\right\|}\right)\geq\gamma,\;\;\;\;\;i=1,2,...,N\end{array}\right. ⎩⎨⎧ω,bmaxγs.t.yi(∥ω∥ωτxi+∥ω∥b)≥γ,i=1,2,...,N
该优化问题可改写为:
{ m a x ω , b γ ^ ∥ ω ∥ s . t . y i ( ω τ x i + b ) ≥ γ , i = 1 , 2 , . . . , N \left\{\begin{array}{l}\underset{\omega,b}{max}\;\;\;{\textstyle\frac{\widehat\gamma}{\left\|\omega\right\|}}\\s.t.\;\;\;\;y_i\left(\omega^\tau x_i+b\right)\geq\gamma,\;\;\;\;\;i=1,2,...,N\end{array}\right. {
ω,bmax