在学习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系列之拉格朗日对偶的更多相关文章

  1. SVM小白教程(2):拉格朗日对偶

    在上一篇文章中,我们推导出了 SVM 的目标函数: \[ \underset{(\mathbf{w},b)}{\operatorname{min}} ||\mathbf{w}|| \\ \operat ...

  2. 拉格朗日对偶(Lagrange duality)

    拉格朗日对偶(Lagrange duality) 存在等式约束的极值问题求法,比如下面的最优化问题:              目标函数是f(w),下面是等式约束.通常解法是引入拉格朗日算子,这里使用 ...

  3. 解密SVM系列(二):SVM的理论基础(转载)

    解密SVM系列(二):SVM的理论基础     原文博主讲解地太好了  收藏下 解密SVM系列(三):SMO算法原理与实战求解 支持向量机通俗导论(理解SVM的三层境界) 上节我们探讨了关于拉格朗日乘 ...

  4. 简易解说拉格朗日对偶(Lagrange duality)(转载)

    引言:尝试用最简单易懂的描述解释清楚机器学习中会用到的拉格朗日对偶性知识,非科班出身,如有数学专业博友,望多提意见! 1.原始问题 假设是定义在上的连续可微函数(为什么要求连续可微呢,后面再说,这里不 ...

  5. 简易解说拉格朗日对偶(Lagrange duality)

    引言:尝试用最简单易懂的描述解释清楚机器学习中会用到的拉格朗日对偶性知识,非科班出身,如有数学专业博友,望多提意见! 1.原始问题 假设是定义在上的连续可微函数(为什么要求连续可微呢,后面再说,这里不 ...

  6. 简易解说拉格朗日对偶(Lagrange duality)(转载)

    转载自https://www.cnblogs.com/90zeng/p/Lagrange_duality.html,本人觉得讲的非常好! 1.原始问题 假设是定义在上的连续可微函数(为什么要求连续可微 ...

  7. 文本分类学习 (九)SVM入门之拉格朗日和KKT条件

    上一篇说到SVM需要求出一个最小的||w|| 以得到最大的几何间隔. 求一个最小的||w|| 我们通常使用 来代替||w||,我们去求解 ||w||2 的最小值.然后在这里我们还忽略了一个条件,那就是 ...

  8. SVM基本思想和对偶推导笔记-记录毕业论文1

    快毕业啦~~记得上一篇论文利用JointBoost+CRF做手绘草图的分割项目在3月份完结后,6月份去实习,9月份也没怎么认真找工作就立刻回来赶论文(由于分割项目与人合作难以写入毕业论文),从9月到1 ...

  9. 解密SVM系列(二):SVM的理论基础

    上节我们探讨了关于拉格朗日乘子和KKT条件.这为后面SVM求解奠定基础,本节希望通俗的细说一下原理部分. 一个简单的二分类问题例如以下图: 我们希望找到一个决策面使得两类分开.这个决策面一般表示就是W ...

随机推荐

  1. [Tomcat 源码分析系列] (二) : Tomcat 启动脚本-catalina.bat

    概述 Tomcat 的三个最重要的启动脚本: startup.bat catalina.bat setclasspath.bat 上一篇咱们分析了 startup.bat 脚本 这一篇咱们来分析 ca ...

  2. Patching Array

    引用原文:http://blog.csdn.net/murmured/article/details/50596403 但感觉原作者的解释中存在一些错误,这里加了一些自己的理解 Given a sor ...

  3. 深入理解js——作用域和上下文环境

    如图除全局作用域外,每个函数都会创建自己的作用域.作用域在函数定义时就确定了,而不是在函数调用时确定. 下面按照程序执行的步骤加上上下文环境. 第一步:程序加载时已经确定全局上下文环境,并随着程序的执 ...

  4. VIM操作常用指令(转)

    vim是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是"visual interface&q ...

  5. centos配置epel

    1.下载epel wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 2.安装epel rpm -iv ...

  6. taiyi_interview(Introduction To Database Refactoring)

    Introduction To Database Refactoring 原文链接:by Scott W. Ambler:http://www.tdan.com/view-articles/5010/ ...

  7. JS---如何避免用户在请求时“猛击”

    var isAjax=false;//是否正在执行ajax请求,此处表示不在拿数据 var getInfoByTrainCode=function () { if(isAjax) return;//如 ...

  8. greendao对SQLite数据库的增删改查操作

    利用greendao操作数据库时,都是以对象或者对象的list来进行增删改查的操作,操作的结果都是用一个list来接收的!!! 1.增加一条记录 Stu stu01=new Stu();stu01.s ...

  9. iOS8 定位补充

    iOS 8定位补充 iOS 8定位需要修改2个地方 1.info.plist文件中添加NSLocationAlwaysUsageDescription:描述信息 从iOS 8开始,用户定位分两种情况 ...

  10. 04 Apache Solr: 目录结构

         通过前面的介绍,我们已经能够看到管理员界面并对Solr形成了一个感性的认识.本篇将在物理上深入了解Solr的安装目录结构和Solr示例的主目录结构.   安装目录结构 Solr 6.3.0安 ...