支持向量机
主讲人:苏松志副教授 厦门大学智能科学与技术系
整理人:欧阳智超 计算机科学与技术系
本节主要内容:
1. 上节回顾
2. 支持向量机
2.1 背景
2.2 硬间隔最大化
2.2.1 函数间隔与几何间隔
2.2.2 间隔最大化原理
2.2.3 线性可分SVM学习算法---最大间隔法
2.2.4 最大间隔法具体例子
2.2.5 线性可分SVM学习---对偶算法
2.2.6 对偶算法具体例子
2.3 软间隔最大化
2.3.1 线性支持向量机
2.3.2 学习的对偶算法
1.上节回顾
老师再次引入之前熟悉的函数
其中,,表示高维空间上的一个点。
如果是线性回归问题,。
如果是分类问题,。
这里可以把f这个函数看作是一个规律的总结。
接下来介绍得支持向量机这节课老师上课内容非常之多,需要同学们多多手动推导公式。
2.支持向量机
2.1 背景
支持向量机(support vector machindes,SVM)是一种二类分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机。支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。支持向量机的学习算法是求解凸二次规划的最优化算法。
Gortes与Vapnik提出线性支持向量机,Boser、Guyon与vapnik又引入了核技巧,提出非线性支持向量机。本节课老师介绍的是线性支持向量机。
2.2 硬间隔最大化
给定样本集:
线性分类器基于训练样本D在二维空间中找到一个超平面来分开二类样本。当然,这样的超平面有很多。如下图给出的三个超平面,用红色的实线来表示:
我们可以直观感受到,图三这根红色线代表的超平面抗“扰动”性最好。这个超平面离直线两边的数据的间隔最大,对训练集的数据的局限性或噪声有最大的“容忍”能力。例如,由于训练集的局限性或者噪声的因素,训练集外的样本可能比图中的训练样本更接近两个类的分隔界,这将使许多划分超平面出现错误。而图三的红色超平面的影响最小,简言之,这个划分超平面所产生的结果是比较鲁棒的。
那什么是线性可分呢?
如果一个线性函数能够将样本分开,称这些数据样本是线性可分的。那么什么是线性函数呢?其实很简单,在二维空间中就是一条直线,在三维空间中就是一个平面,以此类推,如果不考虑空间维数,这样的线性函数统称为超平面。我们看一个简单的二维空间的例子,O代表正类,X代表负类,样本是线性可分的,但是很显然不只有这一条直线可以将样本分开,而是有无数条,我们所说的线性可分支持向量机就对应着能将数据正确划分并且间隔最大的直线。
接着我们考虑另外一个问题,为什么我们要间隔最大呢?
一般来说,一个点距离分离超平面的远近可以表示分类预测的确信度,如图中的A B两个样本点,B点被预测为正类的确信度要大于A点,所以SVM的目标是寻找一个超平面,使得离超平面较近的异类点之间能有更大的间隔,即不必考虑所有样本点,只需让求得的超平面使得离它近的点间隔最大。
接下来的一小节我们引入间隔的计算方法。
2.2.1 函数间隔与几何间隔
首先我们引入一下函数间隔的定义。
给定一个训练样本,x是特征,y是结果标签,i表示第i个样本。定义函数间隔为:
刚刚我们定义个函数间隔是针对某一个样本的,现在我们针对全局样本的定义的函数间隔:
意思就是找到训练样本中函数间隔最小的那个样本,并且要让它的函数间隔最大。
函数间隔可以表示分类预测的正确性及确信度,但是选择分离超平面时,只有函数间隔还不够。
因为只要成比例的改变w和b,例如将他们改为2w和2b,超平面并没有改变,但函数间隔却成为原来的2倍。这一事实告诉我们,可以对分离超平面的法向量w加某些约束,如规范化,,使得间隔是确定的。这时候函数间隔就成为了几何间隔。
接下来我们就可以引入几何间隔的概念。
几何间隔首先简单一点说就是点到直线距离。如图
给出了超平面(w,b)及其法向量w。点A代表某一实例,其类标记为。点A与超平面(w,b)的距离由线