统计学习方法附录C-拉格朗日对偶性
来源:互联网 发布:电脑培训班办公软件 编辑:程序博客网 时间:2024/04/29 12:02
come from:http://blog.sina.com.cn/s/blog_62b0682a0101epol.html
在学习最大熵模型和SVM的过程中,我们看到,前者需要求解满足所有已知条件并且使得熵最大的模型,后者需要求解满足间隔一致性约束条件并且使得几何间隔最大的超平面,归结起来其求解问题都是带约束的极值问题,其解决方法一般采用拉格朗日对偶原理,对于概率性问题也可以用极大似然法来求解。下面简单介绍拉格朗日对偶原理
约束条件可以分成不等式约束条件和等式约束条件,只有等式约束条件的问题我们在高等数学课程中已经学习过了,其解决方法是直接将等式约束加入原问题构造出拉格朗日函数,然后求导即可。现在考虑更加一般性的问题:带不等式约束和等式约束的极值问题如何构造拉格朗日函数求解。
带不等式约束的极值问题定义如下:
这里面还需要说明一下凸函数的几条性质:
1.对于定义域上可微函数f,若f得导数单调不减,则f是凸函数;
2.如果凸函数存在极小值,则一定是全局极小值,也即凸函数的局部最小点就是全局最小点;
3.严格凸函数的全局最小点唯一;
4.如果满足约束条件的可行域是有界的,凸函数优化有解。
一般,我们定义的目标函数都是凸函数,再利用拉格朗日对偶性求解全局最优解。正是由于凸函数满足以上性质,便于我们求解问题,而不用考虑复杂情况。
引入一般化的拉格朗日公式:
其中和称为拉格朗日算子,要求非负。
下面的步骤将拉格朗日函数和最初的函数f等价起来:
定义函数:
这里的P代表primal,表示原始问题。假设给定某个w,如果w违反原始问题的约束条件,即或者,那么我们总是可以调整和来使得有最大值为正无穷。而只有g和h都满足约束时,为f(w)。总结下来就是:
看到了没,这样就把拉格朗日函数和f联系在了一起。
于是我们原来要求的min f(w)就转化成求了。
令=,现在我们的任务就是求解,如果直接求解这个问题会很复杂,因此一般不会直接求解,而是引入对偶问题,利用对偶问题的解作为原始问题的解。
原始问题向对偶问题的转换过程如下:
引入公式:
D的意思是对偶(dual)。
将拉格朗日函数转换成两个参数的a和b的函数,并在此基础上求解最大值:
原始问题的值和对偶问题的值满足公式:d*<=p*,如果等式成立,则它们的解是相同的。
1.假设函数f和g是凸函数,h是仿射函数,并且假定不等式约束g是严格可行的,也即存在w,满足所有的不等式约束,则原始问题和对偶问题有解,并且解相同。其解相同的充要条件是解满足KKT条件:
- 统计学习方法附录C-拉格朗日对偶性
- 《统计学习方法》附录C拉格朗日对偶性学习笔记
- 拉格朗日对偶性问题-《统计学习方法》学习笔记
- 《统计学习方法》学习笔记---对偶问题
- 统计学习方法之感知机对偶形式Java实现代码
- 感知机及其对偶问题,参考《统计学习方法》
- 《统计学习方法》——对偶感知器的python实现
- 《统计学习方法》 感知机Python 对偶形式实现
- 统计学习方法(2)——感知机原始形式、对偶形式及Python实现
- 对李航统计学习方法中附录A 梯度下降法总结
- 拉格朗日对偶性
- 拉格朗日对偶性(转)
- 拉格朗日对偶性
- 拉格朗日对偶性
- 拉格朗日对偶性
- 拉格朗日对偶性
- 拉格朗日对偶性
- 拉格朗日对偶性
- 冒泡排序的三种实现方法-----python
- AIX vi命令大全(逐步更新中)
- [LeetCode] Rotate Image
- 关于Java中静态代码块以及构造函数的执行先后顺序
- android bluetooth开发基础-2基本概念
- 统计学习方法附录C-拉格朗日对偶性
- 什么是UTC时间
- Storm:最火的流式处理框架
- C语言控制语句和输入输出
- 开通博客了!
- 11g 新特性 —— 延迟分配区、段
- 截取一个字符串,并对数据库多个字段循环搜索。
- .net继承实现身份验证
- 我快成为了我一直讨厌的那种人(说好的回来好好做人呢?)