凸优化-对偶问题
来源:互联网 发布:源氏物语 知乎 编辑:程序博客网 时间:2024/06/05 14:52
转载出处:http://www.52ml.net/20954.html
1. 引言
凡心所向,素履所往,生如逆旅,一苇以航。
很高兴阿森纳能在欧冠上战胜拜仁,在虎扑上看到这样的一句话,颇有感触,借来作为这篇博文的开始,生活中我们需要一些勇气去追寻自己的理想。回到本篇内容上,对偶是个神奇的东西,从文学角度而言,对偶和对仗属于一种修辞手法,即用字数相等,语义对称的方法来表征想法或抒发情感。“凡心所向,素履所往,生如逆旅,一苇以航”或者“棋逢对手,将遇良才”都可看成是一种对偶。
但是,本文是要阐述在数学问题上的对偶问题,它是优化问题中非常重要的方法,类似于文学的对偶,也是一种配对方式,只不过是将某种数学结构
update:
在完成本篇博文时,拜仁5:1战胜阿森纳,小组出线堪忧。
说到对偶问题,我们先从线性规划谈起,考虑以下简单的线性规划(LP)问题,我们如何求得函数的下界:
实际上,我们可以从两个角度求解这个问题:首先,我们可以采用图解法找寻问题的解。下图中蓝线代表
因此,通过作图,移动目标函数直线的位置,我们都能获得上述LP问题的最小值,即为2。
同样,我们也可以利用以下变换获得目标函数的最小值:
很明显,
我们如何求解?按照变换方法,我们可以获得:
因此,我们只要使得
综上所述,上述LP问题就转换为求下面形式的最大值:
我们即称上述变换为原问题(Primal)的对偶(dual)问题。
2. 线性规划问题的对偶问题
对于一般形式的线性规划问题:
我们可以获得其对偶问题:
因为:
如果
3. 拉格朗日函数
根据LP
对偶问题的构建方法,我们可以令
如果我们假设集合
对于上式,
综上所述,我们可以获得函数
现在我们最大化函数tightest bound
),这与上面之前定义的对偶问题完全一致。同时,这种变换或者解释方法可以适用于任意优化问题上,甚至是非凸优化问题。我们可以根据有约束的优化问题获得函数
综上所述,对于一般有约束的优化问题,如下:
无论拉格朗日函数(Lagrangian)
为:
其中,
图中,实线表示函数
同样,如果我们假设集合
我们称函数拉格朗日对偶函数(Lagrange dual function)
,对于对偶可行解
3. 对偶函数实例:二次规划
这里,我们用二次函数的优化问题作为一个例子来说明如何获得拉格朗日对偶函数,我们定义二次规划为:
其中,
因此,拉格朗日函数
为
所以,我们可以获得拉格朗日对偶函数
4. 拉格朗日对偶问题
拉格朗日对偶问题是指对于原问题:
我们通过构造对偶函数
对于原问题的对偶问题,它有两个重要性质:
弱对偶性(weak duality)
:无论是凸优化或非凸优化原问题,(因为 ); 对偶问题是凸优化问题
:无论原问题是凸优化还是非凸,因为为凸函数 。
这里需要指出的是,是不是我们可以获得任意原问题的对偶问题,这样就可以采用之前提到过的下降算法等来求解该凸优化问题?
答案是否定的,虽然无论原问题为何种形式,其对偶问题永远是凸优化问题,但是这里的关键并不是说不能用下降算法求解,而是我们对于非凸问题一般无法获得或者较难获得其对偶问题的表达式
对于对偶问题,弱对偶性永远成立,更进一步,如果我们可以获得强对偶性(strong duality)
。
Slater’s condition
:如果原(primal)问题为凸优化问题(即:
因此,根据强对偶性的定义和成立条件,我们可以获得以下性质:
- LP问题对偶问题的对偶问题为原问题(the dual of the dual LP is the primal LP);
- 如果LP问题存在可行解,那么LP问题满足具有强对偶性;
根据强对偶性定义,我们可以衍伸出对偶间隙(duality gap)
的定义,对偶间隙是指
对偶间隙的最大用途是作为算法停止迭代的条件,即如果我们想要保证
5. 对偶问题实例:SVM对偶问题
之前我们提到过,SVM问题是:
引入对偶变量(dual variables),
如想获得拉格朗日对偶函数,我们需要对
(1)对
(2)对
(3)对
综上所述,通过最小化
又因为
如果SVM原问题满足Slater’s Condition,那么SVM具有强对偶性(事实上SVM具有强对偶性),我们可以通过求解对偶问题的最优解,进而获得原问题最优解
- 凸优化-对偶问题
- 凸优化-对偶问题
- 凸优化与对偶问题
- 凸优化与对偶问题
- 凸优化——对偶问题
- 优化问题的对偶问题
- 优化问题中的对偶理论
- SVM中对偶、凸优化与KTT条件问题
- 写在SVM之前——凸优化与对偶问题
- 写在SVM之前——凸优化与对偶问题
- 写在SVM之前——凸优化与对偶问题
- 优化问题及其Lagrange对偶问题
- 凸优化的对偶表示
- 凸优化-4对偶性
- 优化问题中的对偶性理论
- soledede-对偶凸优化最小二乘
- 对偶问题
- 对偶问题
- 为什么软件开发,人多事少,还会工作量大?
- Python 练习册 0-头像右上角添加数字
- CF #443 C Short Program
- java中for循环语句
- 完美数(c/python略)
- 凸优化-对偶问题
- Swift 实践篇之链式 UI 代码
- 求n个数的平均数
- Android 判断手机是否root
- POJ 1651 Language: Multiplication Puzzle
- 基于Dragonboard 410c的智能小车(四)
- Mysql按分组获取前几条内容
- Android | 日志记录的级别与方法
- 【iOS】Class对构造简洁代码很有帮助