支持向量机是一种二类分类模型(SVM)。它的基本模型是定义在特征空间上的最大间隔的线性分类器,间隔最大使它有别于感知机。根据数据是否线性可分分为线性可分支持向量机,线性支持向量机和非线性支持向量机。线性可分支持向量机是指数据都是线性可分的,线性支持向量机是指大部分数据是线性可分的,但是有部分数据无法线性可分。非线性支持向量机是指数据是无法线性可分的,例如椭圆内的数据和椭圆外的数据是通过椭圆这个图形得到分类的,但是椭圆不是线性的,因此不是线性可分的。
线性可分支持向量机:
给定一个训练数据集 T={(x1,y1),(x2,y2),...,(xn,yn)},其中yi∈{+1,−1};学习的目标是在特征空间找到一个分离超平面,能将实例分到不同的类,超平面对应于w∗x+b=0。
在支持向量机(SVM)中,两个很重要的概念是函数间隔和几何间隔
||W||是L2的范数,当||w||=1时,函数间隔和几何间隔是一样的
支持向量机学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的超平面。对线性可分的训练数据集而言,线性可分分离超平面有无穷多个,但几何间隔最大的分离超平面是唯一的,这里的间隔最大化称为硬间隔最大化。
间隔最大化的直观解释是:对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。也就是说,不仅将正负实例点分开,而且对最难分的实例点(离超平面最近的点)也有足够大的确信度将它们分开,这样的超平面应该对未知的实例点有很好的分类预测能力。
线性可分训练数据集的最大间隔分离超平面是存在且唯一的。
线性可分支持向量机的对偶算法:
线性可分支持向量机(间隔最大化是软间隔最大化)
引入松弛变量,使其变得可分
软间隔的支持向量:
合页损失函数
非支持向量机
核函数
举个例子:
正定核
常用核函数
非线性支持向量学习算法
序列最小最优化算法(SMO算法)
SMO算法是启发式算法