SVM的原理和代码实现

1.SVM简介

支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。

2.SVM算法原理

SVM学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。如下图所示,  即为分离超平面,对于线性可分的数据集来说,这样的超平面有无穷多个(即感知机),但是几何间隔最大的分离超平面却是唯一的。

拉格朗日乘子法 

 首先定义原始目标函数,拉格朗日乘子法的基本思想是把约束条件转化为新的目标函数的一部分(关于\lambda的意义我们一会儿再解释),从而使有约束优化问题变成我们习惯的无约束优化问题。那么该如何去改造原来的目标函数f(\boldsymbol{x})使得新的目标函数L(\boldsymbol{x},\lambda)的最优解恰好就在可行解区域中呢?这需要我们去分析可行解区域中最优解的特点。

1)最优解的特点分析

推论1:“在那个宿命的相遇点(也就是等式约束条件下的优化问题的最优解),原始目标函数的梯度向量\nabla f(\boldsymbol{x^*})必然与约束条件g(\boldsymbol{x})=0的切线方向垂直。”

推论2:“函数的梯度方向也必然与函数自身等值线切线方向垂直。”

推论3:“函数与函数的等值线在最优解点\boldsymbol{x}^*处相切,即两者在\boldsymbol{x}^*点的梯度方向相同或相反”

 2)构造拉格朗日函数

3)KKT条件

对于不等式约束条件的情况,如图4所示,最优解所在的位置有两种可能,或者在边界曲线g(\boldsymbol{x})=0上或者在可行解区域内部满足不等式g(\boldsymbol{x})<0的地方。

第一种情况:最优解在边界上,就相当于约束条件就是。参考图4,注意此时目标函数的最优解在可行解区域外面,所以函数f(\boldsymbol{x})在最优解\boldsymbol{x}^*附近的变化趋势是“在可行解区域内

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值