现有标准形式的约束优化问题如下:
xminf(x)s.t. fi(x)≤0,i=1,⋯,m;Ax=b,
或写作:
xminf(x)s.t. fi(x)≤0,i=1,⋯,mhi(x)=0,i=1,⋯,q
目标就是使用凸优化的方法解决这一问题。
Lagrangian乘子法与极小-极大化原始问题
利用Lagrangian乘子法,上述约束优化问题可以松弛为无约束优化问题:
minL(x,λ,v)=f(x)+i=1∑mλifi(x)+i=1∑qvihi(x)(1)
上式为Lagrangian函数。这里约束λi≥0,记做λ=[λ1,⋯,λm]T⪰0,而对vi没有任何约束。
观察公式(1)知,当λi取很大的正值时,公式(1)会趋于负无穷,因此需要将Lagrangian函数极大化:
J1(x)=λ⪰0,vmax(f(x)+i=1∑mλifi(x)+i=1∑qvihi(x))(2)
这是一个无约束极大化问题。然而上式还存在一个问题:当fi(x)违反约束而>0时,会导致J1无穷大。只有x满足全部原始约束时,才有J1(x)=f(x). 因此为了得到全部约束条件下f(x)的极小解,需要将J1(x)极小化:
Jp(x)=xminJ1(x)=xminλ⪰0,vmaxL(x,λ,v)(3)
公式(3)是一个极小-极大化问题,其解就是Lagrangian函数L(x,λ,v)的上确界(supremum),即最小上界。这是原始约束极小化问题变成无约束极小化问题后的代价函数,简称原始问题。而且有:
p∗=Jp(x∗)=xminf(x)=f(x∗)
对偶问题
考虑由Lagrangian函数L(x,λ,v)构造另一个目标函数:
J2(λ,v)=xminL(x,λ,v)=xmin(f(x)+i=1∑mλifi(x)+i=1∑qvihi(x))(3)
类似地,若x满足所有约束,J2(λ,v)就等于minxf(x),否则的话也可能取到负无穷的值。因此也需要为J2(λ,v)做极大化:
JD(λ,v)=λ⪰0,vmaxJ2(λ,v)=λ⪰0,vmaxxminL(x,λ,v)(4)
该问题是原始问题的对偶问题,是Lagrangian函数的极大-极小化问题,其解就是Lagrangian函数的下确界,即最大下界。
由公式(4)定义的对偶问题是一个凹函数,其下界是负无穷,其任意一个局部极值点都是一个全局极值点。因此有约束极小化问题通过Lagrangian乘子法变成了无约束凹函数的极大化问题,此方法称为Lagrangian对偶法。其最优解记做:
d∗=JD(λ∗,v∗)
因为一个是最大下界,一个是最小上界,显然有:
d∗≤p∗
当d∗≤p∗时,称Lagrangian对偶法具有弱对偶性;
当d∗=p∗时,称Lagrangian对偶法具有强对偶性。
KKT条件
前面已知
d∗≤xminf(x)=p∗
称p∗−d∗为对偶间隙。令x∗和(λ∗,v∗)分别表示对偶间隙为0时的任意原始最优点和对偶最优点。由于x∗使Lagrangian函数L(x,λ∗,v∗)在所有原始可行点x中最小化,因此在该点的梯度向量必然为0向量:
f′(x∗)+i=1∑mλi∗fi′(x∗)+i=1∑qvi∗hi′(x∗)
于是,Lagrangian对偶无约束优化问题的Karush-Kuhn-Tucker(KKT)条件(局部极小解的一阶必要条件)为:
- fi(x∗)≤0,i=1,⋯,m(原始不等式约束)
- hi(x∗)=0,i=1,⋯,q (原始等式约束)
- λi∗≥0,i=1,⋯,m(Lagrangian乘子法的非负性)
- λi∗fi(x∗)=0,i=1,⋯,m(互补松弛条件)
- f′(x∗)+∑i=1mλi∗fi′(x∗)+∑i=1qvi∗hi′(x∗)(一阶导为0)
Slater条件
在算法中,一般还是希望强对偶能够成立,有一种简单的强对偶判断方法是Slater定理。
定义原始不等式约束的可行域F的相对内域为:
relint(F)={x∣fi(x)<0,i=1,⋯,m;hi(x)=0,,i=1,⋯,q}
即原始约束中的等式约束都成立,不等式约束都不取等号。位于可行域的相对内域的点称为相对内点。
优化过程中,迭代点位于可行域的内域的约束规定称为Slater条件。
Slater条件说的是,如果Slater条件满足,并且最初的问题是凸优化问题,则原始问题的最优解p∗和对偶问题的最优解d∗相等,强对偶条件成立。
总结
下面列出原始问题与对偶问题最优解之间的几点关系。
- 只有当不等式约束fi(x),i=1,⋯,m均为凸函数,且等式约束均hi(x),i=1,⋯,q均为仿射函数时,一个原始约束优化问题才可以借助Lagrangian松弛方法,转化成一个凹函数的对偶无约束极大化问题。
- 凹函数的极大化等价于凸函数的极小化。
- 若f(x)不是凸函数,而fi(x)均为凸函数,hi(x)均为仿射函数,则Lagrangian目标函数满足KKT条件的点x∗和(λ∗,v∗)一般不会是原始最优点和对偶最优点,即Lagrangian对偶无约束优化问题的最优解不是原始约束优化问题的最优解,而是ε-次优解,其中ε=f(x∗)−JD(λ∗,v∗)。
- 若f(x)和fi(x)均为凸函数,hi(x)均为仿射函数,即最初的问题是凸优化问题,则Lagrangian目标函数满足KKT条件的点x和(λ,v)分别是原始问题的对偶问题的最优点,p∗=q∗.
本文主要内容均来自张贤达《矩阵分析与应用(第二版)》4.3节。本节主要内容虽然之前研究过,但是看完还是有点懵逼,结合之前费老大研究的SVM并写的支持向量机原理及求解,算是大概懂了的样子,心里还是有点发毛,比如最没明白的就是为什么原始问题和对偶问题的解放在一起就是L(x,λ,v)的解。至于平时看论文以及听别人讲,那更是一笔带过,能多略就多略。也许工科就是这样吧,细致的数学原理不敢深究,列一列最优化目标,会直接拿来求解就好了吧。或者,也许菜鸡就是这样吧,好读书,难求甚解!当然读了张老的书,写了这篇博客也还算加深了一些理解。
魏之燕 发布了20 篇原创文章 · 获赞 51 · 访问量 14万+ 私信 关注