回复“SVM”查看本《分类战车SVM》系列的内容:

第一话:开题话

第二话:线性分类

第三话:最大间隔分类器

第四话:拉格朗日对偶问题(原来这么简单!)

第五话:核函数(哦,这太神奇了!)

第六话:SMO算法(像Smoke一样简单!)

附录:用Python做SVM模型

转载请注明来源


先看下本文的大纲:

1.回顾

2.不等式的拉格朗日乘数法

3.拉格朗日对偶问题

4.总结

附录:大自然的对偶现象

本文的内容其实很简单,就在“4.总结”的那张图中:先把上一集中的问题转变成一个拉格朗日函数的问题,然后为了方便解决,去研究这个问题的对偶问题,发现对偶问题和原问题其实是一样的。




1.回顾

前面我们把最大间隔分类器的思想用数学形式表达了出来,简单回忆一下(以下,分类器=超平面),

  • 什么是线性分类器?

可以把两种不同类别样本分开的线性模型(或者超平面)。

  • 什么是最大间隔分类器?

所有线性分类器(或者超平面)中,可以把不同类别样本分的最开的那个。

  • 最大间隔分类器,具体如何去定义?

最大间隔分类器,可以使两类样本到它的距离都最大的那个超平面——也就是这个超平面可以将两类样本分的最开。

  • 如果样本不是一个,而是一组,那么到一个超平面的距离怎么衡量?

取这组样本中距超平面最近的那个点到超平面的距离。

  • 上面说的“距离”是什么?

就是直观看到的那个“几何距离”。它的公式

  • 如此定义的最大间隔分类器,其数学表达式什么?

以上都是前面三集的内容,不明白的同学在微信公众号“数说工作室”回复“SVM1”、“SVM2”、“SVM3”查看。由于目前是实时更新,有想交流的同学也可以在公众号中给数说君留言。

2. 不等式的拉格朗日乘数法

在我们学高数的时候,都知道那个熟的不能在熟的“拉格朗日乘数法”了,但我知道,除了考研党们,大部分的人估计也忘的差不多了,现在简单回忆一下。

————复习拉格朗日乘数法————

假设我们要求f(x)的最小值,约束条件是h(x)=0,即:

Min f(x)

s.t hi(x)=0,i=1,2…n

那么可以引入拉格朗日算子a,构造拉格朗日函数:

然后对x和a求偏导,使偏导数等于0,然后解出x和a。

————以上就是拉格朗日乘数法————

但是,这里遇到的不是那么简单的一个等式约束,而是一个不等式哦。

我们仍可以通过拉格朗日函数将约束条件融合到目标函数里去,首先,仍然构造拉格朗日函数:

然后,我们令

为什么呢?我们将用下面的图予以说明:

3. 拉格朗日对偶问题

在上面,我们已经把不等式的约束问题也转变为了一个p*的问题。

但其实是仍然个很难解决的问题,因为我们要先解决不等式约束的max问题,然后再在w上求最小值。怎么办呢?如果能把顺序换一下,先解决关于w的最小值,在解决关于a的不等式约束问题就好了。即,

这个d*就是p*的对偶形式,也即原问题的对偶形式,可惜的是,对偶归对偶,却未必相等!因为,

这个不等式有一个很装逼的名字,叫弱对偶性质(Week Duality),最大值中最小的一个,也要大于等于最小值中最大的一个。这个性质从常识上想想,也是可以理解的。同时,我们可以得到一个对偶间隙,即p*-d*

话说回来,如果我们这里恰好能够取等号,即对偶间隙消失就好了。

说到这里数说君要感慨一下这世界上的诸多“定理”、“条件”们,平时读书的时候被这些狗屁定理定律条件折磨的死去活来,真正要用的时候才觉得,发现这些定理的大神们真真儿的是救星啊~!

现在就要说一个定理,来拯救我们于水火:

在凸优化理论中,有一个Slater定理,当这个定理满足,那么对偶间隙就会消失,即:

此时称为强对偶性质(strong Duality)。幸运的是,我们这里满足Slater定理。

什么是Slater定理?感兴趣的可以了解一下,但我个人认为这对下一步的学习不重要。

————Slater定理(不重要)————

若凸优化问题存在严格可行解,即存在x,满足

则优化问题具有强对偶性(原问题中的不等式约束是f(x) ≤ 0)。

Slater定理其实就是说,存在x,使不等式 约束中的“小于等于号”要严格取到“小于号”

————Slater定理(不重要)————

好啦,现在Slater定理满足,我们有p*= d*,但是还不行,为什么?因为p* 和d*可能都有不止一个解,我们得保证p* = d*的解为最优解才行——怎能办?麻烦还没解决。别急,下面一个“KKT条件”的东东可以帮助我们。

————KKT条件————

怎样才能满足呢KKT条件呢?KKT条件又是什么呢?很简单,以我们这里的问题为例,怎样才能满足KKT条件?

——当满足Slater条件、且F(w,b,a)对w和b都可微时,KKT条件满足;

KKT条件又是什么?

——该条件如下:

也就是说,p* =d*的解即为最优解。

————KKT条件—————

咦?是不是图片显示不了呀?怎么①②后面都是空白?

实际上我故意留空的,不想把东西弄复杂。各位观众只要知道我们这里KKT条件是满足的,然后KKT条件的内容可以决定我们的问题为最优解就好了,至于KKT条件到底是什么,我留在下几集再说,因为这个条件可以帮助我们简化求解。这里写出来后会破坏文章的美感。

下面我们就彻底抛开p*,只研究d*就可以了。

首先我们固定a,让F关于w和b最小化,老办法,对w和b求导:

然后带入到F(w,b,a)中去,

接着,我们可以求对a的极大了,也就是说,我们剩下的问题仅仅剩下:

下一步,我们就要求这个问题,得到a的值,进而就可以知道w和b的值了。

那么这个a怎么解?这是我们后面要讲的了——SMO高效优化算法

4. 总结

我们完善一下前面的那张流程图,得到本文的一个大纲:

附录:大自然的对偶现象

最后我们来看一下大自然的对偶现象,关注数说君微博的朋友一定发现,前两天我转发过一篇关于对偶想象的一篇脑洞打开的文章,是知乎网友“灌汤包烧麦”写的(http://www.zhihu.com/question/22708816/answer/34828092),文中列举了一些对偶的现象,现截取部分内容如下:

这是尼西亚会议敲定的三位一体论,主要讨论的是耶稣与耶老爷子究竟是不是同一人的问题。一个人既是自己的老子,又是自己的儿子,这在常识上错得也太离谱了。但一神教下不允许两神并立,所以父子又必属同一客体。最终的论断是:在现世父、子不是同一人,但在更高位面上同属一物。两者同是神在现世的投影,在同一时刻、同一地点,人们只能观测到父、子中的一个。

三位一体(trinity)的核心在于:常识上相斥甚至相悖的概念可能容于同一客体。其简化版为二重性(duality)。其中为人所熟知的是波粒二重性:

波与粒子两个不相容的概念其实是同一客体在现世位面的两副面孔,两者同为场的激发形式,在同一时间同一地点,人们只能观察到两者中的一个。顺带说一句,在此图像下,任何关于波、粒联系的描述(譬如几率波论)都是多余的,甚至有些不恰当。譬如光 波就不能解释为光子的几率波,无论还是都不是几率的量纲。

二重性在现代物理中非常常见,不过其中很大部分并不是那么经典,因而被译作“对偶性”。譬如电磁对偶性:

这幅图作得不是很恰当,主要是下面那个圈里不知道放什么比较好= =||。电磁对偶性说的是在电、磁场对易变换:下,真空中麦克斯维方程不变。亦即,在真空中,电、磁场是无法区分的,比如炮姐全身散发的究竟是电场还是磁场呢?正是基于这种对偶性,才会有磁单极子假说。

与“二重性”相似,“对偶性”同样讲两种不同概念实际有相同的根源。不同的是,“二重性”将两重概念容于一个客体,因而同时同地只能显现一副面孔。而“对偶性”将两重概念寄于一种客体,同时同地两副面孔都能显现。

分类战车SVM (第四话:拉格朗日对偶问题)相关推荐

  1. SVM(二)从拉格朗日对偶问题到SVM

    2.1 拉格朗日对偶(Lagrange duality) 先抛开上面的二次规划问题,先来看看存在等式约束的极值问题求法,比如下面的最优化问题: 目标函数是f(w),下面是等式约束.通常解法是引入拉格朗 ...

  2. 机器学习算法(4)——SVM(以及拉格朗日对偶问题)

    假设在桌子上似乎有规律放了两种颜色的球,你用一根棍分开它们?要求:尽量在放更多球之后,仍然适用." 于是我们这样分了: 然后我们往在桌上放了更多的球,似乎有一个球站错了阵营:SVM就是试图把 ...

  3. SVM支持向量机-拉格朗日乘子与对偶问题(1)

    对于支持向量机,我们首先要关注的几个点就是间隔,超平面,支持向量,再深入的话就是对偶问题,拉格朗日对偶问题,凸优化,和 KKT条件,我们先从基本的间隔,超平面,支持向量说起. 1.SVM基础模型 给定 ...

  4. 学习SVM(四) 理解SVM中的支持向量(Support Vector)

    学习SVM(四) 理解SVM中的支持向量(Support Vector) 版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/chaipp0607/articl ...

  5. MADlib——基于SQL的数据挖掘解决方案(23)——分类之SVM

    一.SVM简介 SVM法即支持向量机(Support Vector Machine,SVM)法,由Vapnik等人于1995年提出,具有相对优良的性能指标.该方法是建立在统计学理论基础上的机器学习方法 ...

  6. 从放弃到再入门之拉格朗日对偶问题推导(转)

    从放弃到再入门之拉格朗日对偶问题推导(转) 2018年04月17日 16:15:33 EFLYP  普通同学的解法 无约束条件:求导就可以了 等式约束:代入消元,再求导 不等式约束:分情况讨论(在边界 ...

  7. 拉格朗日对偶问题的一些介绍

    文章目录 参考 前言 拉格朗日函数 例1 例2 拉格朗日函数的对偶问题 参考 "拉格朗日对偶问题"如何直观理解?"KKT条件" "Slater条件&q ...

  8. 拉格朗日对偶函数拉格朗日对偶问题

    前段时间学了拉格朗日乘子法,学会了构造拉格朗日函数,也就是学会了把带约束(等式或不等式)的优化问题转化为无约束优化问题,私以为这部分就学完了到此为止了,没想到今天推导SVM的数学模型,要推原问题的对偶 ...

  9. 经典分类算法——SVM算法

    文章目录 经典分类算法--SVM算法 1 SVM算法:背景 2 SVM算法思想 3. Hard-SVM算法 4. Soft-Margin SVM算法 5. Kernel SVM算法 6. SVM小结 ...

  10. 拉格朗日函数、拉格朗日对偶问题、KKT条件个人理解

    最近学习SVM的相关内容时,接触到了拉格朗日函数及其对偶问题,于是就学习了一些相关内容,在此整理总结一下.文章内容为个人理解,如有错误,欢迎指正! 文章目录 1. 引言 1.1 在约束条件下求函数的极 ...

最新文章

  1. Spring Boot 无侵入式 实现 API 接口统一 JSON 格式返回
  2. 罗马数字转阿拉伯数字
  3. Django中如何防范CSRF跨站点请求伪造攻击
  4. 当随机不够随机:一个在线扑克游戏的教训
  5. java string类api_java基础—String类型常用api
  6. 什么叫POE交换机?POE交换机使用方法介绍?
  7. 数据结构无向图顶点的度c语言_图-储存及基本操作
  8. Java课程烧CPU吗_java程序员:完了!CPU一味求快出事儿了!
  9. 顺丰同城宣布苏炳添出任首位品牌代言人
  10. python 表白程序代码_程序员python表白代码
  11. Struts2基本的执行过程
  12. 冰点下载:数据解析错误
  13. 转载:无刷直流电机的基本工作原理是什么
  14. 记录一次canvas小白做相册功能的过程
  15. UG\NX二次开发 Visual Studio平台工具集介绍
  16. 旅游公寓APP开发特点
  17. Unity3D用状态机制作角色控制系统
  18. 英特尔与阿里巴巴共推以数据为中心的计算革新
  19. C++版 - 剑指offer 面试题39:判断平衡二叉树(LeetCode 110. Balanced Binary Tree) 题解
  20. STM32F407高级定时器TIM8_CH1N输出PWM配置

热门文章

  1. ios开发证书reset原理分析以及解决方案
  2. 操作系统安装教程之图解Ubuntu Server 14.04安装
  3. Visual Studio 2010 Beta版包括InstallShield Limited Edition
  4. 全国软件专业人才开发与设计赛题之中等题“五位数黑洞”
  5. Hibernate 懒加载 Unable to evaluate the expression Method threw ‘org.hibernate.LazyInitializationExcept
  6. 交换机的源地址学习机制和帧转发方式习题
  7. 两台服务器安装redis集群_高性能分布式存储服务Minio安装配置入门
  8. php是什么电器元件,第三代计算机采用的主要电子元器件是什么
  9. oracle9.2.0.7,Oracle9.2.0.1升级到9.2.0.7
  10. TensorFlow基础:Session(会话)