SVM系列之拉格朗日对偶
在学习SVM(Support Vector Machine) 支持向量机时,对于线性可分的分类样本求出的分类函数为:
其中,分类超平面可以表示为:
式中N代表特征空间的维数。
带约束凸优化问题的一般形式为:
其中,f(w)为需要求解的目标函数,g(x) 和 h(x) 为约束条件,这里满足f(w)和gi(w)为Rn上处处可微的凸函数,也为仿射函数(即型为Ax+b的形式,A、x属于Rn),因此,上述的第一个式子可以看作目标函数,为二次型,而第二个式子可以看作它的约束条件,即次求解过程可以转化为求解凸二次优化问题。
这里插播一条求解凸优化的好处,就是局部最优解与全局最优解是相等的,这时候如果要用梯度下降法(Gradient Descend)之类的算法就不用担心会陷入局部极值。
求解上述的二次凸优化问题需要引入拉格朗日乘子(Lagrangian Multiplier) 和 KKT 条件。
先说拉格朗日乘子,可以参见维基百科给出的解释http://en.wikipedia.org/wiki/Lagrange_multipliers。对于等式的约束问题:
即求解目标函数
其中λ≠0 。参照下图(来自wiki原图),红色为g(x,y)=c的等高线,蓝色虚线为f(x,y)的等高线,箭头指向梯度下降的方向即f(x,y)的减小方向,与切线的法线方向平行,试想需要找满足约束条件的f(x,y)的最小值,需要在蓝色曲线与红色曲线相交或相切的点上寻找,如果是交点,则必然存在一点或多点比使f(x,y)满足约束条件更小的点,也就是下图中如果找外围蓝色曲线与红色曲线的交点,则必然存在f(x,y)=d1上的点比该点更小,因此,需要找到的点就是蓝色曲线与红色曲线的切点。而在切点处,法线的方向是平行的,只需要参数来调整大小和方向,因此对x,y求导求出切点的法线,λ用来调整等式使其相等,对λ求偏导引入等式条件,即
再说 KKT 条件
KKT 条件为非线性规划求最优解问题提供了必要条件,wiki上也有说明 http://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions。
KKT 的一般性描述为
也可以转换为求解目标函数的极大值
这里引入拉格朗日乘子连接目标函数与约束条件得到拉格朗日函数
这篇文章只是个人的理解,有什么问题欢迎大家留言一起交流。
SVM系列之拉格朗日对偶的更多相关文章
- SVM小白教程(2):拉格朗日对偶
在上一篇文章中,我们推导出了 SVM 的目标函数: \[ \underset{(\mathbf{w},b)}{\operatorname{min}} ||\mathbf{w}|| \\ \operat ...
- 拉格朗日对偶(Lagrange duality)
拉格朗日对偶(Lagrange duality) 存在等式约束的极值问题求法,比如下面的最优化问题: 目标函数是f(w),下面是等式约束.通常解法是引入拉格朗日算子,这里使用 ...
- 解密SVM系列(二):SVM的理论基础(转载)
解密SVM系列(二):SVM的理论基础 原文博主讲解地太好了 收藏下 解密SVM系列(三):SMO算法原理与实战求解 支持向量机通俗导论(理解SVM的三层境界) 上节我们探讨了关于拉格朗日乘 ...
- 简易解说拉格朗日对偶(Lagrange duality)(转载)
引言:尝试用最简单易懂的描述解释清楚机器学习中会用到的拉格朗日对偶性知识,非科班出身,如有数学专业博友,望多提意见! 1.原始问题 假设是定义在上的连续可微函数(为什么要求连续可微呢,后面再说,这里不 ...
- 简易解说拉格朗日对偶(Lagrange duality)
引言:尝试用最简单易懂的描述解释清楚机器学习中会用到的拉格朗日对偶性知识,非科班出身,如有数学专业博友,望多提意见! 1.原始问题 假设是定义在上的连续可微函数(为什么要求连续可微呢,后面再说,这里不 ...
- 简易解说拉格朗日对偶(Lagrange duality)(转载)
转载自https://www.cnblogs.com/90zeng/p/Lagrange_duality.html,本人觉得讲的非常好! 1.原始问题 假设是定义在上的连续可微函数(为什么要求连续可微 ...
- 文本分类学习 (九)SVM入门之拉格朗日和KKT条件
上一篇说到SVM需要求出一个最小的||w|| 以得到最大的几何间隔. 求一个最小的||w|| 我们通常使用 来代替||w||,我们去求解 ||w||2 的最小值.然后在这里我们还忽略了一个条件,那就是 ...
- SVM基本思想和对偶推导笔记-记录毕业论文1
快毕业啦~~记得上一篇论文利用JointBoost+CRF做手绘草图的分割项目在3月份完结后,6月份去实习,9月份也没怎么认真找工作就立刻回来赶论文(由于分割项目与人合作难以写入毕业论文),从9月到1 ...
- 解密SVM系列(二):SVM的理论基础
上节我们探讨了关于拉格朗日乘子和KKT条件.这为后面SVM求解奠定基础,本节希望通俗的细说一下原理部分. 一个简单的二分类问题例如以下图: 我们希望找到一个决策面使得两类分开.这个决策面一般表示就是W ...
随机推荐
- 《全唐诗》的sqlite3数据库
下载地址: http://pan.baidu.com/s/1b2mE54quantangshi.db是sqlite3数据库,包括2张表.index表:volume 列(整数,主键) 表示卷号,从1到9 ...
- Google V8编程详解(二)HelloWorld
转自http://blog.csdn.net/feiyinzilgd/article/details/8248448 上一章讲到了V8的编译和安装,这一章开始从一个demo着手. 这里选用了官方文档的 ...
- Jenkins+Jmeter+Ant接口持续集成
修改时间 修改内容 修改人 2016.5.22 创建 刘永志 2016.6.15 完成 刘永志 前言: 为什么要用Jmeter做接口测试: 当选择这套方案的时候,很多人会问,为什么选择Jmeter做C ...
- http://bbs.ednchina.com/BLOG_345002072_2001308.HTM
http://bbs.ednchina.com/BLOG_345002072_2001308.HTM
- Acadia Lab 6 轮盘游戏机
WRTnode 肯定不是亲生的... 果断转投Acadia —.— 不是国军不给力,奈何共军有高达 为啥不转树莓派?因为选做实验肯定有很多人用树莓派做...我抢不过他们,只能挑点冷门的蹭分_(:з」 ...
- python之路-Day3
字典 dic{key:value} 元组与列表相似,唯一就是不能修改dic = {'name':'alex','age':18}查询print(dic['name']) #会报错get方法查询,查询之 ...
- Android_AsyncTask异步任务机制
今天我们学习了 AsyncTack, 这是一个异步任务. 那么这个异步任务可以干什么呢? 因为只有UI线程,即主线程可以对控件进行更新操作.好处是保证UI稳定性,避免多线程对UI同时操作. 同时要把耗 ...
- DIOCP之DEMO-Echo卡死问题分析
最近很多新朋友在调试echo这个例程时发现,总是卡死客户端或服务器端,这是因为客户端的接收数据用的memo没有处理接受到的行数,导致超过最大行数,而卡死界面,只需要如下操作就可以解决: 引用弦子的:虽 ...
- JQuery Mobile入门——设置后退按钮文字(转)
http://www.tuicool.com/articles/AZnYVz JQuery Mobile入门——设置后退按钮文字 时间 2013-01-09 20:24:28 CSDN博客原文 h ...
- logback 配置详解(一)
一:根节点<configuration>包含的属性: scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true. scanPeriod: 设置监测配置文 ...