【统计机器学习】支持向量机

支持向量机
支持向量机是一种二分类模型 。它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使他有别于感知机;支持向量机还包括核技巧,这使他成为实质上的非线性分类器 。支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数最小化问题 。
核函数
当输入空间为欧式空间或离散集合、特征空间为希尔伯特空间时,核函数表示将输入从输入空间映射到特征空间得到的特征向量之间的内积 。通过使用核函数可以学习非线性支持向量机,等价于隐式的在高维的特征空间中学习线性支持向量机 。
函数间隔与集合间隔
在超平面wx+b=0确定的情况下,|wx+b|能够表示点x到距离超平面的远近,而通过观察wx+b的符号与类标记y的符号是否一致可判断分类是否正确,所以,可以用(y(wx+b))的正负性来判定或表示分类的正确性 。于此,我们便引出了函数间隔( )的概念 。
定义函数间隔(用表示)为:
而超平面(w,b)关于T中所有样本点(xi,yi)的函数间隔最小值(其中,x是特征,y是结果标签,i表示第i个样本),便为超平面(w, b)关于训练数据集T的函数间隔:
但这样定义的函数间隔有问题,即如果成比例的改变w和b(如将它们改成2w和2b),则函数间隔的值f(x)却变成了原来的2倍(虽然此时超平面没有改变),所以只有函数间隔还远远不够 。
事实上,我们可以对法向量w加些约束条件,从而引出真正定义点到超平面的距离–几何间隔( )的概念 。

【统计机器学习】支持向量机

文章插图
假定对于一个点 x,令其垂直投影到超平面上的对应点为 x0,w 是垂直于超平面的一个向量,为样本x到超平面的距离,如下图所示:
根据平面几何知识,有
其中||w||为w的二阶范数(范数是一个类似于模的表示长度的概念),(w/||w||)是单位向量(一个向量除以它的模称之为单位向量) 。
又由于x0 是超平面上的点,满足 f(x0)=0,代入超平面的方程
,即
随即让此式
的两边同时乘以wt,再根据wt x0 = -b和 wt w= ||w||2,即可算出γ:
为了得到的绝对值,令γ乘上对应的类别 y,即可得出几何间隔(用表示)的定义:
从上述函数间隔和几何间隔的定义可以看出:几何间隔就是函数间隔除以||w||,而且函数间隔y(wx+b) = yf(x)实际上就是|f(x)|,只是人为定义的一个间隔度量,而几何间隔|f(x)|/||w||才是直观上的点到超平面的距离 。
间隔最大化
对于线性可分的训练数据集来说,线性可分分离超平面有无穷多个,但是几何间隔最大的分离器是唯一的 。这里的间隔最大话称为硬间隔最大化 。
凸优化问题
凸优化问题是指约束最优化问题:
minwf(w)
【【统计机器学习】支持向量机】s.t. gi(w)