凸优化-对偶问题
来源:互联网 发布:天谕玉虚捏脸数据分享 编辑:程序博客网 时间:2024/06/05 14:19
很高兴阿森纳能在欧冠上战胜拜仁,在虎扑上看到这样的一句话,颇有感触,借来作为这篇博文的开始,生活中我们需要一些勇气去追寻自己的理想。回到本篇内容上,对偶是个神奇的东西,从文学角度而言,对偶和对仗属于一种修辞手法,即用字数相等,语义对称的方法来表征想法或抒发情感。“凡心所向,素履所往,生如逆旅,一苇以航”或者“棋逢对手,将遇良才”都可看成是一种对偶。
但是,本文是要阐述在数学问题上的对偶问题,它是优化问题中非常重要的方法,类似于文学的对偶,也是一种配对方式,只不过是将某种数学结构B。在优化问题中,可以将非凸问题转化为凸优化问题进行求解。虽然文学上和数学上表达对偶的意思相差甚远,但是我觉得二者在各自领域的重要性是可以比拟的。
update:
在完成本篇博文时,拜仁5:1战胜阿森纳,小组出线堪忧。
说到对偶问题,我们先从线性规划谈起,考虑以下简单的线性规划( LP )问题,我们如何求得函数的下界:
minx,yx+3ysubjecttox+y≥2x,y≥0
实际上,我们可以从两个角度求解这个问题:首先,我们可以采用图解法找寻问题的解。下图中蓝线代表x+y≥2的条件。
因此,通过作图,移动目标函数直线的位置,我们都能获得上述LP问题的最小值,即为2。
同样,我们也可以利用以下变换获得目标函数的最小值:
x+y≥2+2y≥0=x+3y≥2
很明显,x+3y的最小值为2。如果我们泛化上述LP问题为:
minx,ypx+qysubjecttox+y≥2x,y≥0
我们如何求解?按照变换方法,我们可以获得:
a(x+y)≥2a+bx≥0+cy≥0=(a+b)x+(a+c)y≥2a
因此,我们只要使得a,才能求得左式的最小值。
综上所述,上述LP问题就转换为求下面形式的最大值:
maxa,b,c2asubjecttoa+b=pa+c=qa,b,c≥0
我们即称上述变换为原问题( Primal )的对偶( dual )问题。
2. 线性规划问题的对偶问题
对于一般形式的线性规划问题:
minx∈RncTxsubjecttoAx=bGx≤h
我们可以获得其对偶问题:
maxu∈Rm,v∈Rr−bTu−hTvsubjectto−ATu−GTv=cv≤0
因为:
−uTAx=−bTu+−vTGx≥−hTv=(−ATu–GTv)Tx≥−bTu–hTv
如果−bTu–hTv。
3. 拉格朗日函数
根据 LP
对偶问题的构建方法,我们可以令L(x,u,v)≤cTx。
如果我们假设集合v≥0,我们可以获得:
f⋆=minx∈CcTx≥minx∈CL(x,u,v)≥minxL(x,u,v)=minx(c+uTA+vTG)Tx–uTb–vTh:=g(u,v)
对于上式,g(u,v)=minxL(x,u,v)=−bTu–hTv。
综上所述,我们可以获得函数g(u,v)的一般形式:
g(u,v)={−bTu–hTvifc=–uTA–vTG−∞otherwise
现在我们最大化函数g(u,v),即为原问题的对偶问题。
综上所述,对于一般有约束的优化问题,如下:
minxf(x)subjecttohi(x)≤0,i=1,…,mli(x)=0,j=1,…,r
无论f(x)是否为凸函数,我们都可以定义 拉格朗日函数(Lagrangian)
为:
L(x,u,v)=f(x)+∑mi=1uihi(x)+∑rj=1vjlj(x)
其中,f(x)≥L(x,u,v)。下图是 Boyd 凸优化一书中给出拉格朗日函数的实例图:
图中,实线表示函数f(x)≥L(x,u,v)。
同样,如果我们假设集合L(x,u,v)可以获得函数下界:
f⋆=minx∈CcTx≥minx∈CL(x,u,v)≥minxL(x,u,v):=g(u,v)
我们称函数u):
3. 对偶函数实例:二次规划
这里,我们用二次函数的优化问题作为一个例子来说明如何获得拉格朗日对偶函数,我们定义二次规划为:
minx12xTQx+cTxsubjecttoAx=bx≥0
其中,Q≻0。
因此, 拉格朗日函数
为−12(c–u+ATv)TQ−1(c–u+ATv)−bTv。
所以,我们可以获得 拉格朗日对偶函数
v为任意值。
4. 拉格朗日对偶问题
拉格朗日对偶问题是指对于原问题:
minxf(x)subjecttohi(x)≤0,i=1,…,mli(x)=0,j=1,…,r
我们通过构造对偶函数g(u,v),然后最大化该对偶函数的优化问题,即:
minu,vg(u,v)subjecttou≥0
对于原问题的对偶问题,它有两个重要性质:
弱对偶性(weak duality)
:无论是凸优化或非凸优化原问题,f(x)≥g(u,v));对偶问题是凸优化问题
:无论原问题是凸优化还是非凸,因为lj(x)为凸函数。
这里需要指出的是,是不是我们可以获得任意原问题的对偶问题,这样就可以采用之前提到过的下降算法等来求解该凸优化问题?
答案是否定的,虽然无论原问题为何种形式,其对偶问题永远是凸优化问题,但是这里的关键并不是说不能用下降算法求解,而是 我们对于非凸问题一般无法获得或者较难获得其对偶问题的表达式 g(u,v),这就限制了我们对于非凸优化问题的求解方法。
对于对偶问题,弱对偶性永远成立,更进一步,如果我们可以获得f⋆=g⋆形式成为 强对偶性(strong duality)
。
Slater’s condition
:如果原(primal)问题为凸优化问题(即:f⋆=g⋆。
因此,根据强对偶性的定义和成立条件,我们可以获得以下性质:
- LP问题对偶问题的对偶问题为原问题( the dual of the dual LP is the primal LP );
- 如果LP问题存在可行解,那么LP问题满足具有强对偶性;
根据强对偶性定义,我们可以衍伸出 对偶间隙(duality gap)
的定义,对偶间隙是指x分别为对偶问题和原问题的最优解。
对偶间隙的最大用途是作为算法停止迭代的条件,即如果我们想要保证f(x)−g(u,v)≤ϵ。
5. 对偶问题实例:SVM对偶问题
之前我们提到过,SVM问题是:
minβ,β0,ξ12∥β∥22+Cn∑iξisubjecttoξ≥0,i=1,…,nyi(xTiβ+β0)≥1–ξi,i=1,…,n
引入对偶变量( dual variables ),v,w≥0,我们可以构建拉格朗日函数:
L(β,β0,ξ,v,w)=12∥β∥22+C∑ni=1ξ–∑ni=1viξ+∑ni=1wi(1−ξ–yi(xTiβ+β0))
如想获得拉格朗日对偶函数,我们需要对β,β0,ξ求导。
(1)对wTy=0;
(2)对w=CI–v;
(3)对−12wT(diag(y)X)(diag(Y)X)Tw+ITw。
综上所述,通过最小化g(v,w):
g(v,w)={−12wT(diag(Y)X)(diag(Y)X)Tw+ITwifwTy=0,w=CI–v−∞otherwise
又因为v( slack variable ),SVM对偶优化问题就变为:
maxw−12wT(diag(y)X)(diag(Y)X)Tw+ITwsubjectto0≤w≤CI,wTy=0
如果SVM原问题满足 Slater’s Condition ,那么SVM具有强对偶性(事实上SVM具有强对偶性),我们可以通过求解对偶问题的最优解,进而获得原问题最优解β=(diag(Y)X)Tw。
- 凸优化-对偶问题
- 凸优化-对偶问题
- 凸优化与对偶问题
- 凸优化与对偶问题
- 凸优化——对偶问题
- 优化问题的对偶问题
- 优化问题中的对偶理论
- SVM中对偶、凸优化与KTT条件问题
- 写在SVM之前——凸优化与对偶问题
- 写在SVM之前——凸优化与对偶问题
- 写在SVM之前——凸优化与对偶问题
- 优化问题及其Lagrange对偶问题
- 凸优化的对偶表示
- 凸优化-4对偶性
- 优化问题中的对偶性理论
- soledede-对偶凸优化最小二乘
- 对偶问题
- 对偶问题
- Unity 导入C# DLL、C\C++ DLL 等外部库
- shell常用命令
- Eclipse中常见问题及解决方案
- jsonp结合百度接口-实现搜索功能
- 闭包详解
- 凸优化-对偶问题
- 斜率化dp
- STN-LCD屏学习
- 通过观察者在此activity中更新其他activity中的UI
- 入门Webpack,看这篇就够了
- hadoop 基本操作命令
- 【深度学习】Ubuntu 常用软件安装:Matlab + XX-net + ... + TeamViewer + Tensorflow + Caffe
- 关于Android沉浸式状态栏的设置以及相关问题
- H5开发:UI问题汇总