支持向量机是一种二分类分类模型,基本模型是定义在特征空间上的间隔最大的线性分类器,由简单到复杂可分为:
线性可分支持向量机:适用于训练数据线性可分的情况,通过硬间隔最大化学习一个线性分类器,又称为硬间隔支持向量机。
线性支持向量机:适用于训练数据近似线性可分的情况,通过软间隔最大化,学习一个线性分类器,又称为软间隔支持向量机。
非线性支持向量机:当训练数据线性不可分时,通过使用核技巧和软间隔最大化,学习一个非线性分类器。
前两种的输入空间的元素和特征空间的元素一 一对应,第三种利用一个非线性映射将输入空间的向量映射到特征空间的特征向量,支持向量机的学习是在特征空间上进行的。
一、线性可分支持向量机
对于线性可分的训练数据集,存在一个超平面可以将两类训练样本分开,进而在空间中存在无数个超平面可以将两类训练样本分开。但是哪一个超平面是最好的?
由于训练样本的测量可能有误差,只有图中红色的直线对误差的容忍程度会更多一点。问题又来了,如何定义这样一条红色的直线?首先要定义衡量每一条线的一个标准,每一条线都能算出一个性能指标,而且这个红色直线在这个性能指标下表现最好。
找一条直线,向下与向下的移动该直线,使它刚好擦到一个或者几个向量,将间隔d(margin)定义为性能指标,要使这个间隔最大,擦到的向量叫支撑向量。两侧的两条直线的中间直线就是我们要找的目标直线。
数据及其标签:
,
线性模型:
(超平面)
训练集线性可分:对于训练集
,使得:对
,若
,则
,若
,则
等价于
(公式1)
事实1:
与
是同一个平面,
,若(w,b)满足公式1,则(aw,ab)也满足公式1
事实2:向量
到超平面
的距离
用一个正数a去缩放超平面方程的系数,
,
,使得对于支撑向量
,从而
到