1.SVM简介
支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。
2.SVM算法原理
SVM学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。如下图所示, 即为分离超平面,对于线性可分的数据集来说,这样的超平面有无穷多个(即感知机),但是几何间隔最大的分离超平面却是唯一的。
拉格朗日乘子法
首先定义原始目标函数,拉格朗日乘子法的基本思想是把约束条件转化为新的目标函数的一部分(关于的意义我们一会儿再解释),从而使有约束优化问题变成我们习惯的无约束优化问题。那么该如何去改造原来的目标函数使得新的目标函数的最优解恰好就在可行解区域中呢?这需要我们去分析可行解区域中最优解的特点。
1)最优解的特点分析
推论1:“在那个宿命的相遇点(也就是等式约束条件下的优化问题的最优解),原始目标函数的梯度向量必然与约束条件的切线方向垂直。”
推论2:“函数的梯度方向也必然与函数自身等值线切线方向垂直。”
推论3:“函数与函数的等值线在最优解点处相切,即两者在点的梯度方向相同或相反”
2)构造拉格朗日函数
3)KKT条件
对于不等式约束条件的情况,如图4所示,最优解所在的位置有两种可能,或者在边界曲线上或者在可行解区域内部满足不等式的地方。
第一种情况:最优解在边界上,就相当于约束条件就是。参考图4,注意此时目标函数的最优解在可行解区域外面,所以函数在最优解附近的变化趋势是“在可行解区域内