前言

本篇主要介绍一些支持向量机用到的概念,这些是学习支持向量机算法的基础,以便更好的理解算法的求解方法。

划分超平面

首先,我们先看看下图:


【机器学习】支持向量机(1)——基础知识

假定给定数据如上图,圆的为正类,方的为负类,要想通过一个划分超平面(这里是二维,所以是条直线)将不同类别的样本分开。从图中我们就可以看出,能将训练样本分开的划分超平面可能有很多,但是我们应该去选择哪一个呢?

直观上,我们应该选择中间红色的那个,因为它对于训练样本局部扰动的“容忍”性最好,比如,训练集外的样本可能比图中的样本更接近两类的划分超平面,这将使许多划分超平面出现错误,而红色的超平面受到的影响是最小的,也就是说,这个划分超平面的分类结果是最鲁棒的,对未知示例的泛化能力最强。

找出这个划分超平面就成了关键,之前我们介绍的感知机也是寻找这个超平面,将训练集划分开,但是感知机利用误分类最小的策略,求得划分超平面,而且解有无穷多个(关于感知机相关的可以点击查看);在所有的划分超平面中,有一个平面是最好的,它可以尽可能地让所有的样本点都离该划分超平面最远,这就是SVM要做的。

这个划分超平面,可以通过如下的线性方程来描述:

wTx+b=0

其中w=(w1;w2;...;wd)为法向量,决定了超平面的方向;b为移位项,决定了超平面与原点之间的距离。

函数间隔


【机器学习】支持向量机(1)——基础知识

如图,有三个实例A,B,C均在划分超平面的正类一侧,预测它们的类,点A距离超平面较远,若预测为正类,就比较确信预测是正确的;点C距离超平面较近,若预测为正类就不那么确信了;点BA,C之间,预测其为正类的确信度也在A,C之间。

一般来说,一个点距离超平面的远近可以相对地表示分类预测的确信程度。

我们注意到:当一个点x被正确预测时,那么wx+b的符合与类标记y的符合相同。

所以可用y(wx+b)来表示分类的正确性及确信度。

对于给定的训练数据集T和超平面(w,b)
(1)定义超平面(w,b)关于样本点(xi,yi)的函数间隔为:

δi=yi(wxi+b)

(2)定义超平面(w,b)关于训练数据集T的函数间隔为超平面(w,b)关于T中所有样本点(xi,yi)的函数间隔之最小值,即:

δ=mini=1,2,...,Nδi

函数间隔可以表示分类预测的正确性和确信度

点到超平面距离(几何间隔)

样本空间中任意点x到超平面(w,b)的距离可写为:

r=|wTx+b|||w||

补充:

x0到超平面S:wx+b=0的距离d:

  • x0S上面的投影为x1,则wx1+b=0
  • 由向量x0x1S平面的法向量平行;

    |wx0x1|=(w1)2+(w2)2+...+(wN)2d=||w||d

  • ||w||L2

  • 又:
    wx0x1=w1(x01x11)+w2(x02x12)+...+wN(x0Nx1N)

    =w1x01+w2x02+...+wNx0N(w1x11+w2x12+...+wNx1N)
  • 又有:wx+b=0
    =w1x01+w2x02+...+wNx0N(b)
  • 故:
    ||w||d=|wx0+b|

    d=|wx0+b|||w||

对于给定的训练数据集T和超平面(w,b)
(1)定义超平面(w,b)关于样本点(xi,yi)的几何间隔为:

γi=yi(w||w||xi+b||w||)

(2)定义超平面(w,b)关于训练数据集T的几何间隔为超平面(w,b)关于T中所有样本点(xi,yi)的几何间隔之最小值,即:

γ=mini=1,2,...,Nγi

几何间隔与函数间隔的关系:

γ=δ||w||

支持向量


【机器学习】支持向量机(1)——基础知识

训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量,即图中在黑色线上的实例点。

拉格朗日对偶性

在约束最优化问题中,常常利用拉格朗日对偶性将原始问题转化为对偶问题。通过求解对偶问题而得到原始问题的解。

支持向量机和最大熵模型都用用到,下面我们来简单介绍下拉格朗日对偶性的主要概念和结果。

1.原始问题:

假设f(x)ci(x)hj(x)是定义在Rn上的连续可微函数,考虑约束最优化问题:

minxRnf(x)

s.t.ci(x)0i=1,2,...,k

hj(x)=0j=1,2,...,l

称此约束最优化问题为原始最优化问题或原始问题。

首先,引进广义拉格朗日函数:

L(x,α,β)=f(x)+i=1kαici(x)+j=1kβjhj(x)

这里,x=(x(1)x(2)x(n))TRnαiβj是拉格朗日乘子,αi0

那么原始问题就是:

θp(x)=maxα,β:αi0L(x,α,β)

假设给定某个x,如果x违反了约束条件,即存在某个i使得ci(w)>0或者存在某个j使得hj(w)0,那么就有:

θp(x)=maxα,β:αi0L(x,α,β)=+

因为若某个i使得ci(w)>0,则可令αi+,若某个j使得hj(w)0,则可令βj使βjhj(x)+,而其余各αi,βj均为0
相反地,如果满足约束条件,则θp(x)=f(x)

综上:

θp(x)={f(x),x+,

所以,如果考虑极小化问题

minxθp(x)=minxmaxα,β:αi0L(x,α,β)

它与原始问题最优化问题等价的,即他们有相同的解。这也称为广义拉格朗日 函数的极小极大问题。

2.对偶问题:
定义:

θD(α,β)=minxL(x,α,β)

再考虑极大化

θD(α,β)=minxL(x,α,β)
,即

maxα,β:αi0θD(α,β)=maxα,β:αi0minxL(x,α,β)

此称为广义拉格朗日函数的极大极小问题。

可以将广义拉格朗日函数的极大极小问题表示为约束最优化问题:

maxα,βθD(α,β)=maxα,βminxL(x,α,β)

s.t.αi0i=1,2,...,k

称为原始问题的对偶问题。

支持向量机

支持向量机(support vector machines,SVM)是一种二类分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器,支持向量机的学习策略就是间隔最大化,可形式化为求解凸二次规划的问题。

支持向量机还包括核技巧,这使它成为实质上的非线性分类器

支持向量机学习方法包含构建由简至繁的模型:线性可分支持向量机、线性支持向量机、非线性支持向量机,简单模型是复杂模型的基础,也是复杂模型的特殊情况。

当训练数据集线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机;
当训练数据近似线性可分时,通过软间隔最大化,也学习一个线性分类器,即线性支持向量机;
当训练数据不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。

注:
本篇博客,重在让大家了解支持向量机,至于具体的模型,将在后面的博客中给出。
参考书籍《机器学习》、《统计学习方法》

相关文章:

  • 2021-04-13
  • 2021-11-06
  • 2022-01-04
  • 2021-11-19
  • 2021-09-07
  • 2021-05-02
  • 2021-11-19
猜你喜欢
  • 2022-01-09
  • 2021-04-29
  • 2021-10-11
  • 2021-04-20
  • 2022-03-03
  • 2022-01-02
  • 2021-12-13
相关资源
相似解决方案