1.简介
在机器学习领域,支持向量机SVM(Support Vector Machine)是一个有监督的学习模型,通常用来进行模式识别、分类以及回归分析。
其原理从线性可分说起,然后扩展到线性不可分的情况。甚至扩展到使用非线性函数中去,这种分类器被称为支持向量机(Support Vector Machine,简称SVM)。
SVM的主要思想可以概括为两点:
1)它是针对线性可分情况进行分析,对于线性不可分的情况,通过使用非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分,从而使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能;(利用线性可分解决分类问题(直接线性可分;低维转换到高维线性可分))
2)它基于结构风险最小化理论之上在特征空间中建构最优分割超平面,使得学习器得到全局最优化,并且在整个样本空间的期望风险以某个概率满足一定上界。
2.间隔与支持向量
在样本空间中,划分超平面可通过如下线性方程描述:
w = (w1,w2,…,wd)为法向量,决定超平面方向;
b为位移,决定超平面与原点之间的距离;
划分超平面可被法向量w和b确定。样本空间中任意点x到超平面的距离可写为:
目标找到具有“最大间隔”的划分超平面,即找到 w,b 使 r 最大,即:
显然,为了最大化间隔,仅需最大化1/||w||,等价于最小化||w||平方,即:
3.对偶问题
在求取有约束条件的优化问题时,拉格朗日乘子法(Lagrange Multiplier) 和KKT条件是非常重要的两个求取方法,对于等式约束的优化问题,可以应用拉格朗日乘子法去求取最优值;如果含有不等式约束,可以应用KKT条件去求取。当然,这两个方法求得的结果只是必要条件,只有当是凸函数的情况下,才能保证是充分必要条件。KKT条件是拉格朗日乘子法的泛化。
上述问题即转换为凸二次优化问题,
转换为凸二次规划问题。
代入,即