机器学习系列—6.拉格朗日乘子法

Contents

拉格朗日乘子法(Lagrange multipliers)是一种寻找多元函数在一组约束下的极值的方法。通过引入拉格朗日乘子,可将有d个变量与k个约束条件的最优化问题转化为具有d+k个变量的无约束优化问题。
分两种情况考虑:等式约束和不等式约束,如下图所示


先考虑一个等式约束的优化问题,假定x为d维向量,欲寻找x的某个取值使目标函数f(x)最小且满足g(x)=0的约束,从几何角度看,该问题的目标是在由方程g(x)=0确定的d-1维曲面上寻找能使目标函数f(x)最小化的点,因此:

  1. 对于约束曲面上的任意点x,该点的梯度正交于约束曲面;
  2. 目标函数在最优点的梯度正交于约束曲面,


现在考虑不等式约束的优化问题,此时最优点在g(x)<0的区域中,或在边界上g(x)=0上。 对于g(x)<0的情形,可直接通过条件(对f(x)求导等于0))来获得最优点,即将λ置零。="" 对于g(x)="0的情形,与上面等式约束分析类似,此时▽f(x*)的方向必与▽g(x)相反,即存在常数λ">0使得

整合两种情形,必满足λg(x)=0。
因此在约束g(x)<=0下最小化f(x),可转化为在如下约束下最小化式(B.2)的拉格朗日函数:

式(B.3)称为Karush-Kuhn-Tucker(KKT)条件
上式推广到多个约束的优化问题

一个优化问题可以从两个角度来考察,即“主问题”和“对偶问题”。对主问题(B.4),基于式(B.5),其 拉格朗日“对偶函数”(dual function):

对偶函数给出了主问题最优值的下界,这个下界取决于卡格朗日乘子的值。因此优化问题转化为基于对偶函数能获得的最好下界是什么?

式(B.11)就是主问题(B.4)的对偶问题,其中λ和μ称为“对偶变量”。无论主问题(B.4)的凸性如何,对偶问题(B.11)始终是凸优化问题。d^为对偶函数的最优值,p^为主问题的最优值,显然有d^<=p^,这称为“弱对偶性”;若d^=p^,则称为“强对偶性”,此时能获得主问题的最优下界,将拉格朗日函数分别对原变量和对偶变量求导,再令导数等于零,即可得到原变量与对偶变量的数值关系,于是,对偶问题解决了,主问题也就解决了。

Contents