拉格朗日对偶

1.原始问题

假设是定义在上的连续可微函数(为什么要求连续可微呢,后面再说,这里不用多想),考虑约束最优化问题:

称为约束最优化问题的原始问题。

现在如果不考虑约束条件,原始问题就是:

因为假设其连续可微,利用高中的知识,对求导数,然后令导数为0,就可解出最优解,很easy. 那么,问题来了(呵呵。。。),偏偏有约束条件,好烦啊,要是能想办法把约束条件去掉就好了,bingo! 拉格朗日函数就是干这个的。



引进广义拉格朗日函数(generalized Lagrange function):

不要怕这个式子,也不要被拉格朗日这个高大上的名字给唬住了,让我们慢慢剖析!这里是拉格朗日乘子(名字高大上,其实就是上面函数中的参数而已),特别要求.



现在,如果把看作是关于的函数,要求其最大值,即

再次注意是一个关于的函数,经过我们优化(不要管什么方法),就是确定的值使得取得最大值(此过程中把看做常量),确定了的值,就可以得到的最大值,因为已经确定,显然最大值就是只和有关的函数,定义这个函数为:

其中 



下面通过是否满足约束条件两方面来分析这个函数:

  • 考虑某个违反了原始的约束,即或者,那么:

  注意中间的最大化式子就是确定的之后的结果,若,则令,如果,很容易取值使得

  • 考虑满足原始的约束,则:,注意中间的最大化是确定的过程,就是个常量,常量的最大值显然是本身.


通过上面两条分析可以得出:

那么在满足约束条件下:

与原始优化问题等价,所以常用代表原始问题,下标 P 表示原始问题,定义原始问题的最优值:



原始问题讨论就到这里,做一个总结:通过拉格朗日这位大神的办法重新定义一个无约束问题(大家都喜欢无拘无束),这个无约束问题等价于原来的约束优化问题,从而将约束问题无约束化!




2.对偶问题

定义关于的函数:

注意等式右边是关于的函数的最小化,确定以后,最小值就只与有关,所以是一个关于的函数.



考虑极大化,即

  

这就是原始问题的对偶问题,再把原始问题写出来:

形式上可以看出很对称,只不过原始问题是先固定中的,优化出参数,再优化最优,而对偶问题是先固定,优化出最优,然后再确定参数.

定义对偶问题的最优值:




3. 原始问题与对偶问题的关系

定理:若原始问题与对偶问题都有最优值,则

证明:对任意的,有

由于原始问题与对偶问题都有最优值,所以

也就是说原始问题的最优值不小于对偶问题的最优值,但是我们要通过对偶问题来求解原始问题,就必须使得原始问题的最优值与对偶问题的最优值相等,于是可以得出下面的推论:

推论:设分别是原始问题和对偶问题的可行解,如果,那么分别是原始问题和对偶问题的最优解。

所以,当原始问题和对偶问题的最优值相等:时,可以用求解对偶问题来求解原始问题(当然是对偶问题求解比直接求解原始问题简单的情况下),但是到底满足什么样的条件才能使的呢,这就是下面要阐述的 KKT 条件




4. KKT 条件

定理:对于原始问题和对偶问题,假设函数是凸函数,是仿射函数(即由一阶多项式构成的函数,f(x)=Ax + b, A是矩阵,x,b是向量);并且假设不等式约束是严格可行的,即存在,对所有,则存在,使得是原始问题的最优解,是对偶问题的最优解,并且

定理:对于原始问题和对偶问题,假设函数是凸函数,是仿射函数(即由一阶多项式构成的函数,f(x)=Ax + b, A是矩阵,x,b是向量);并且假设不等式约束是严格可行的,即存在,对所有,则分别是原始问题和对偶问题的最优解的充分必要条件是满足下面的Karush-Kuhn-Tucker(KKT)条件:

关于KKT 条件的理解:前面三个条件是由解析函数的知识,对于各个变量的偏导数为0(这就解释了一开始为什么假设三个函数连续可微,如果不连续可微的话,这里的偏导数存不存在就不能保证),后面四个条件就是原始问题的约束条件以及拉格朗日乘子需要满足的约束。

特别注意当时,由KKT对偶互补条件可知:,这个知识点会在 SVM 的推导中用到.




5. 总结

一句话,某些条件下,把原始的约束问题通过拉格朗日函数转化为无约束问题,如果原始问题求解棘手,在满足KKT的条件下用求解对偶问题来代替求解原始问题,使得问题求解更加容易。

转载自:http://www.cnblogs.com/90zeng/p/Lagrange_duality.html

时间: 2024-10-12 09:14:05

拉格朗日对偶的相关文章

支持向量机(SVM)(二)-- 拉格朗日对偶(Lagrange duality)

简介: 1.在之前我们把要寻找最优的分割超平面的问题转化为带有一系列不等式约束的优化问题.这个最优化问题被称作原问题.我们不会直接解它,而是把它转化为对偶问题进行解决. 2.为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,为了使问题变得易于处理,我们的方法是把目标函数和约束全部融入一个新的函数,即拉格朗日函数,再通过这个函数来寻找最优点.即拉格朗日函数,再通过这个函数来寻找最优点. 3.约束条件可以分成不等式约束条件和等式约束条件,只有等式约束条件的问题我们在高等数学课

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

在上一篇文章中,我们推导出了 SVM 的目标函数: \[ \underset{(\mathbf{w},b)}{\operatorname{min}} ||\mathbf{w}|| \\ \operatorname{s.t.} \ y_i(\mathbf{w}^T\mathbf{x_i}+b) \ge \delta, \ \ i=1,...,m \] 由于求解过程中,限制条件中的 \(\delta\) 对结果不产生影响,所以简单起见我们把 \(\delta\) 替换成 1.另外,为了之后求解的方便

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

引言:尝试用最简单易懂的描述解释清楚机器学习中会用到的拉格朗日对偶性知识,非科班出身,如有数学专业博友,望多提意见! 1.原始问题 假设是定义在上的连续可微函数(为什么要求连续可微呢,后面再说,这里不用多想),考虑约束最优化问题: 称为约束最优化问题的原始问题. 现在如果不考虑约束条件,原始问题就是: 因为假设其连续可微,利用高中的知识,对求导数,然后令导数为0,就可解出最优解,很easy. 那么,问题来了(呵呵...),偏偏有约束条件,好烦啊,要是能想办法把约束条件去掉就好了,bingo! 拉

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

引言:尝试用最简单易懂的描述解释清楚机器学习中会用到的拉格朗日对偶性知识,非科班出身,如有数学专业博友,望多提意见! 1.原始问题 假设是定义在上的连续可微函数(为什么要求连续可微呢,后面再说,这里不用多想),考虑约束最优化问题: 称为约束最优化问题的原始问题. 现在如果不考虑约束条件,原始问题就是: 因为假设其连续可微,利用高中的知识,对求导数,然后令导数为0,就可解出最优解,很easy. 那么,问题来了(呵呵...),偏偏有约束条件,好烦啊,要是能想办法把约束条件去掉就好了,bingo! 拉

拉格朗日对偶简介

拉格朗日乘子(Lagrange Multipliers)又称为待定乘数法(Undetermined Multipliers),通常用来寻找某一函数在一个或多个约束条件下的最值点. 其主要思想是引入一个新的变量λ(即拉格朗日乘子),把约束条件和原函数结合到一起,形成新的函数,这个新的函数的最值点与原函数相同. 本文内容主要来自<Pattern Recognition and Machine Learning>和和Andrew Ng的CS229讲义. 第一个问题 假设我们有一个函数f(x1,x2)

带约束优化问题 拉格朗日 对偶问题 KKT条件

转自:七月算法社区http://ask.julyedu.com/question/276 咨询:带约束优化问题 拉格朗日 对偶问题 KKT条件 关注 | 22 ... 咨询下各位,在机器学习相关内容中,每次看到带约束优化问题,总是看到先用拉格朗日函数变成无约束问题,然后转成求拉格朗日对偶问题,然后有凸函数假设,满足KKT条件时原问题最优解和对偶问题最优解等价. 每次看到这个,总不是很理解为什么要这么做?为什么首先转为无约束问题(这个相对好理解一点,因为容易处理)为什么拉格朗日函数无约束问题要转变

拉格朗日对偶问题与 KKT 条件

在学习支持向量机(SVM)的过程中遇到了拉格朗日对偶问题与 KKT 条件,这里简单介绍一下拉格朗日对偶问题的推导. 拉格朗日对偶 拉格朗日对偶求解的问题为:$$\min_x f(x) \\ \text{s.t.} \quad g_i(x) \le 0 \quad i = 1,2,\dots,m \\ h_j(x) = 0 \quad j = 1,2,\dots,n$$ 其中 $f(x)$ 与 $g_i(x)$ 为凸函数,$h_j(x)$ 为仿射函数. 我们引入两种新的变量 $\alpha_i$

凸优化之优化、对偶、KKT-七月算法(julyedu.com)4 月机器学习算法班学习笔记

优化 一般优化问题的基本形式 凸优化的基本形式 共轭函数 共轭函数是凸函数 对偶问题 拉格朗日函数 拉格朗日对偶函数 KKT条件 小结 优化 一般优化问题的基本形式 minimizef0(x),x∈Rn s.t.fi(x)≤0,i=1?m s.t.hj(x)=0,j=1?n 定义域为 当 m=n=0 时,约束优化问题退化成无约束优化问题 注意:这是是优化问题的一般形式,对 fi(x) 和 hi(x) 无特殊要求.就是并不要求这些函数一定可导,也不要求只有一个极值点,就是啥要求都没. 凸优化的基本

关于对偶最优化

我发现,想要了解一个领域的比较快速的方法就是去读本领域近几年的硕士和博士毕业论文(中文的就行)! 拉格朗日对偶 今天学习了拉格朗日对偶.我们首先考虑下面这个问题: 我们记 (这里如果是一个向量的话,那么相应的也是一个向量),则上述最优化问题可以等价于问题: 于是我们现在似乎可以开始求解问题了,最通常的求解过程就是先找到的最优解,次最优解显然是的函数,然后将这个最优解带入问题继续求的最优解,就可以得到问题的最优解为.但是,通过这种方法来求解其实和直接求解是一样的(本段结束后举个例子来说明).于是,