拉格朗日对偶性和似然函数
在学习最大熵模型和SVM的过程中,我们看到,前者需要求解满足所有已知条件并且使得熵最大的模型,后者需要求解满足间隔一致性约束条件并且使得几何间隔最大的超平面,归结起来其求解问题都是带约束的极值问题,其解决方法一般采用拉格朗日对偶原理,对于概率性问题也可以用极大似然法来求解。下面简单介绍拉格朗日对偶原理和似然函数。
约束条件可以分成不等式约束条件和等式约束条件,只有等式约束条件的问题我们在高等数学课程中已经学习过了,其解决方法是直接将等式约束加入原问题构造出拉格朗日函数,然后求导即可。现在考虑更加一般性的问题:带不等式约束和等式约束的极值问题如何构造拉格朗日函数求解。
带不等式约束的极值问题定义如下:
,其中的函数集合f,g,h都是定义在R上的连续可微函数。
这里面还需要说明一下凸函数的几条性质:
1.对于定义域上可微函数f,若f得导数单调不减,则f是凸函数;
2.如果凸函数存在极小值,则一定是全局极小值,也即凸函数的局部最小点就是全局最小点;
3.严格凸函数的全局最小点唯一;
4.如果满足约束条件的可行域是有界的,凸函数优化有解。
一般,我们定义的目标函数都是凸函数,再利用拉格朗日对偶性求解全局最优解。正是由于凸函数满足以上性质,便于我们求解问题,而不用考虑复杂情况。
引入一般化的拉格朗日公式:
其中和称为拉格朗日算子,要求非负。
下面的步骤将拉格朗日函数和最初的函数f等价起来:
定义函数:
这里的P代表primal,表示原始问题。假设给定某个w,如果w违反原始问题的约束条件,即或者,那么我们总是可以调整和来使得有最大值为正无穷。而只有g和h都满足约束时,为f(w)。总结下来就是:
看到了没,这样就把拉格朗日函数和f联系在了一起。
于是我们原来要求的min f(w)就转化成求了。
令=,现在我们的任务就是求解,如果直接求解这个问题会很复杂,因此一般不会直接求解,而是引入对偶问题,利用对偶问题的解作为原始问题的解。
原始问题向对偶问题的转换过程如下:
引入公式:
D的意思是对偶(dual)。
将拉格朗日函数转换成两个参数的a和b的函数,并在此基础上求解最大值:
我们把这个问题称为原问题的对偶问题,从形式上看相对于原问题对偶问题只是更换了min和max的顺序,实际上替换前后两者的值并不一定相同。在满足一些条件下,对偶问题的解和原始问题的解相同,用表示对偶问题的值:
原始问题和对偶问题的关系:
原始问题的值和对偶问题的值满足公式:d*<=p*,如果等式成立,则它们的解是相同的。
1.假设函数f和g是凸函数,h是仿射函数,并且假定不等式约束g是严格可行的,也即存在w,满足所有的不等式约束,则原始问题和对偶问题有解,并且解相同。其解相同的充要条件是解满足KKT条件:
拉格朗日对偶性和似然函数相关推荐
- 拉格朗日乘子法、KKT条件、拉格朗日对偶性
拉格朗日乘子法.KKT条件.拉格朗日对偶性 转载于http://blog.csdn.net/sinat_17496535/article/details/52103852 笔记主要来源于维基百科和&l ...
- 拉格朗日对偶性Duality and the Lagrangian
利用拉格朗日对偶性(Lagrange duality)将原始问题转换为对偶问题,通过解对偶问题而得到原始问题的解. 原始问题 考虑原始问题: 假设f(x)f(x)f(x).ci(x)c_i(x)ci ...
- 拉格朗日对偶性详解(手推笔记)
个人原创笔记,转载请附上本文链接. 拉格朗日对偶性其实也没有那么难理解,在我梳理过后你会发现也就是那一回事罢了. 围绕着拉格朗日对偶性探讨的整个流程下来,实际上牵扯到 三个问题: 原始问题,我们记作 ...
- 【机器学习】拉格朗日对偶性
有任何的书写错误.排版错误.概念错误等,希望大家包含指正. 拉格朗日对偶性 在求解最优化问题中,拉格朗日乘数法(Lagrange Multiplier)和 KKT(Karush Kuhn Tucker ...
- 转 机器学习系列 08:深入理解拉格朗日乘子法、KKT 条件和拉格朗日对偶性
深度理解拉格朗日乘子法.KKT条件与线性规划对偶理论的微妙关系 https://blog.csdn.net/benzhujie1245com/article/details/85270058?utm_ ...
- svm中拉格朗日对偶问题的推导
原始问题: 应用拉格朗日对偶性,求解最优解,对偶问题比较容易求解,可以引入核函数,推广到非线性问题. 构造拉格朗日函数: 我们所求的问题为: 转为为对偶问题为: 如果原问题与对偶问题解相同 ...
- SVM——(三)对偶性和KKT条件(Lagrange duality and KKT condition)
之前说到过拉格朗日乘数法以及推导过程,那么今天要说的就是拉格朗日对偶性以及KKT条件 1.Lagrange multipliers 一句话说,拉格朗日乘数法就是用来解决条件极值的一个方法,且约束条件都 ...
- 拉格朗日松弛求解问题
1.概述 直观上拉格朗日松弛方法就是将约束中难解的部分变为目标函数中的一部分,扩大搜索的范围. 拉格朗日松弛方法不仅能够求解非线性规划问题还能求解整数规划问题. 整数规划问题求解方法 benders ...
- 优化算法之梯度下降法、牛顿法、拟牛顿法和拉格朗日乘数法
在机器学习中,优化方法是其中一个非常重要的话题,最常见的情形就是利用目标函数的导数通过多次迭代来求解最优化问题. - 无约束最优化问题:梯度下降法.牛顿法.拟牛顿法: - 有约束最优化问题:拉格朗 ...
最新文章
- 如何正确使用COCO数据集
- Robust PCA
- php 原理 阮一峰,全文Feed的终极解决方案
- python下俄罗斯方块的游戏设计_[源码和文档分享]基于Python的PyGame的俄罗斯方块游戏设计与实现...
- visualmap超过范围改变颜色_换种颜色,换种心情——车身改色
- 【个人总结】清除样式(间距、浮动、定位)
- chromedriver 下载_解决ChromeDriver安装与配置问题
- STM32F4之SDIO接口
- 输入卡号生成银行卡图片python_python 模拟贷个卡号生成规则过程解析
- scada系统集成_SCADA和DCS的区别以及PLC系统和它们的关系
- 堆分配存储结构串的实现|C++
- 进程、线程、协程、管程
- 电信天翼云搭建Halo博客
- Brat 标注工具 配置文件 详细说明
- 从u盘到计算机内存的过程,U盘装系统步骤图解(超详细)
- linux 装tomcat吗,linux下安装tomcat的默认安装目录在哪?
- 《2021年网络空间测绘年报》解读|安全设备和数据库资产篇
- 教你如何申请域名和解析域名
- 劳务派遣信息管理系统软件是什么,教你了解劳务派遣管理系统!
- java用虹软人脸识别SDK实现人脸识别,运行ArcSoft的Java版本Demo出错,未检出人脸