原来拉格朗日乘子法这么简单!

本文深入探讨了拉格朗日乘子法的基本原理及其在条件约束优化问题中的应用,包括其数学推导、拉格朗日函数、对偶问题及KKT条件等内容。

在日常生活中,我们经常会遇见带有条件约束的优化问题,如经典的“采购食品”问题等。遇到此类问题时,老师们往往告诉我们使用拉格朗日乘子法解决!它的应用十分广泛,如支持向量机,线性规划等。那么,拉格朗日乘子法到底是什么?它背后的数学原理又是怎样的?本篇博客将为您一一解答。注意,本篇博客只是简单的对拉格朗日乘子法进行介绍和数学推导,并非严格的数学证明!

拉格朗日乘子法

前面提到,我们往往会遇见带有条件约束的优化问题。那么,我们不妨先将其用标准的数学式表达,

maxf0(x)s.t.fi(x)≤0,i=1,2,…,mhi(x)=0,i=1,2,…,p \begin{aligned} &max \quad f_0(\bf{x}) \\ &\begin{aligned} s.t. \quad &f_i(\bf{x}) \le 0, &i = 1, 2, \dots, m \\ &h_i(\bf{x}) = 0, &i = 1, 2, \dots, p \\ \end{aligned} \end{aligned} maxf0(x)s.t.fi(x)0,hi(x)=0,i=1,2,,mi=1,2,,p

这里,变量x∈Rn,D=⋂i=0m dom fi∩⋂i=1p dom pi\bf{x} \in \mathbb{R}^{n}, D = \bigcap\limits_{i = 0}^{m}\ dom\ f_i \cap \bigcap\limits_{i = 1}^{p}\ dom\ p_ixRn,D=i=0m dom fii=1p dom pi表示域, p∗p^{*}p表示最优值,且原始的优化函数可以是非凸的。上式约束被称为为原始约束(primal constraints),并且我们不难将上式转化为无约束的优化问题,

L(x,λ,ν)=f0(x)−∑i=1mλifi(x)−∑i=1pνihi(x)L(\mathbf{x}, \lambda, \nu) = f_0(\mathbf{x}) - \sum_{i = 1}^{m}\lambda_{i}f_i(\mathbf{x}) - \sum_{i = 1}^{p}\nu_ih_i(\mathbf{x})L(x,λ,ν)=f0(x)i=1mλifi(x)i=1pνihi(x)

这里的λi\lambda_iλiνi\nu_iνi都是拉格朗日乘子,分别对应于fi(x)≤0f_i(x) \le 0fi(x)0hi(x)=0h_i(x) = 0hi(x)=0。而上式也被称为拉格朗日函数。不难看出,对于所有的可行解,当λ≤0\lambda \le 0λ0时,拉格朗日函数是原始优化问题的下界。因为对于所有的可行解,当λ≤0\lambda \le 0λ0时,∑i=1mλifi(x)≥0\sum_{i = 1}^{m}\lambda_{i}f_i(x) \ge 0i=1mλifi(x)0

因此,我们不妨考虑一下拉格朗日函数的下界,即拉格朗日函数对偶函数,定义如下,

g(λ,ν)=inf⁡x∈DL(x,λ,ν)=f0(x)−∑i=1mλifi(x)−∑i=1pνihi(x) \begin{aligned} g(\lambda, \nu) &= \inf\limits_{\mathbf{x} \in D}L (\mathbf{x} , \lambda, \nu) \\ &= f_0(\mathbf{x}) - \sum_{i = 1}^{m}\lambda_{i}f_i(\mathbf{x}) - \sum_{i = 1}^{p}\nu_ih_i(\mathbf{x}) \\ \end{aligned} g(λ,ν)=xDinfL(x,λ,ν)=f0(x)i=1mλifi(x)i=1pνihi(x)

在这里,可能有读者产生疑惑了——为什么要考虑拉格朗日函数的下界啊?不是求解原始优化问题的就行了吗?它们之间有什么联系啊?难道是下面的等式?

f0(x)≥L(x,λ,ν)≥g(λ,ν)→g(λ,ν)≤p∗f_0(\mathbf{x}) \ge L(\mathbf{x}, \lambda, \nu) \ge g(\lambda, \nu) \to g(\lambda, \nu) \le p^{*}f0(x)L(x,λ,ν)g(λ,ν)g(λ,ν)p

没错,正式在下。不对,正是上面的不等式。因此,根据上述不等式,我们可以通过求解如下拉格朗日函数对偶问题的最优值d∗d^{*}d来求解原始优化问题的最优值p∗p^{*}p

maxg(λ,ν)s.t.λ≤0 \begin{aligned} &max \quad g(\lambda, \nu) \\ &\begin{aligned} s.t. \quad \lambda \le 0 \\ \end{aligned} \end{aligned} maxg(λ,ν)s.t.λ0

这里,我们称对偶问题的条件约束为**对偶约束(dual constraints)**更重要的是,即使原始优化函数是非凸的,拉格朗日对偶函数也始终是凸函数,并且对偶问题也始终是凸优化问题。此外,我们称

  • 弱对偶性(weak duality)d∗≤p∗d^{*} \le p^{*}dp

    • 对于非凸问题和凸问题总是成立;
    • 可以用来寻找困难问题的平凡下界。
  • 强对偶性(strong duality)d∗=p∗d^{*} = p^{*}d=p

    • 通常不会成立;
    • 当问题是凸问题时,通常成立。

假设具有强对偶性,即d∗=p∗d^{*} = p^{*}d=p,则有

f0(x∗)=g(λ∗,ν∗)=f0(x)−∑i=1mλi∗fi(x)−∑i=1pνi∗hi(x)≤f0(x∗)−∑i=1mλi∗fi(x∗)−∑i=1pνi∗hi(x∗)≤f0(x∗) \begin{aligned} f_0(\mathbf{x}^{*}) = g(\lambda^{*}, \nu^{*}) &= f_0(\mathbf{x}) - \sum_{i = 1}^{m}\lambda_{i}^{*}f_i(\mathbf{x}) - \sum_{i = 1}^{p}\nu_i^{*}h_i(\mathbf{x}) \\ &\le f_0(\mathbf{x}^{*}) - \sum_{i = 1}^{m}\lambda_{i}^{*}f_i^{}(\mathbf{x}^{*}) - \sum_{i = 1}^{p}\nu_i^{*}h_i(\mathbf{x}^{*}) \\ &\le f_0(\mathbf{x}^{*}) \\ \end{aligned} f0(x)=g(λ,ν)=f0(x)i=1mλifi(x)i=1pνihi(x)f0(x)i=1mλifi(x)i=1pνihi(x)f0(x)

于是,有

  • x∗\mathbf{x^{*}}x使得L(x∗,λ,ν)L(\mathbf{x}^{*}, \lambda, \nu)L(x,λ,ν)值最小;
  • λi∗fi(x∗)=0,i=1,2,…,m\lambda_{i}^{*}f_i(\mathbf{x}^{*}) = 0, i = 1, 2, \dots, mλifi(x)=0,i=1,2,,m

λi∗&lt;0→fi(x∗)=0fi(x∗)=0→λi∗&lt;0 \begin{aligned} \lambda_{i}^{*} &lt; 0 &amp;\to f_i(\mathbf{x}^{*}) = 0 \\ f_i(\mathbf{x}^{*}) = 0 &amp;\to \lambda_{i}^{*} &lt; 0 \\ \end{aligned} λi<0fi(x)=0fi(x)=0λi<0

上式还有另一个专有名词——互补松弛性(complementary slackness)。而如果我们将前面的条件约束集合在一起,就是著名的KKT条件(Karush-Kuhn-Tucher conditions)

  • 原始约束(primal constraints)fi(x)≤0,i=1,…,m,hi(x)=0,i=1,…,p;f_i(\mathbf{x}) \le 0, i = 1, \dots, m, \quad h_i(\mathbf{x}) = 0, i = 1, \dots, p;fi(x)0,i=1,,m,hi(x)=0,i=1,,p;
  • 对偶约束(dual constraints)λ≤0;\lambda \le 0;λ0;
  • 互补松弛性(complementary slackness)λifi(x)=0,i=1,…,m;\lambda_{i}f_i(\mathbf{x}) = 0, i = 1, \dots, m;λifi(x)=0,i=1,,m;
  • 拉格朗日函数对于x\mathbf{x}x的梯度满足:
    ∇f0(x)+∑i=1mλi∇fi(x)+∑i=1pνi∇hi(x)=0 \nabla f_0(\mathbf{x}) + \sum_{i = 1}^{m}\lambda_i\nabla f_i(\mathbf{x}) + \sum_{i = 1}^{p}\nu_i\nabla h_i(\mathbf{x}) = 0 f0(x)+i=1mλifi(x)+i=1pνihi(x)=0

可以证明,当强对偶性成立,x,λ,ν\mathbf{x}, \lambda, \nux,λ,ν最优时,它们一定满足KKT条件。因此,只要利用这一性质,我们便可以设计算法解决带有条件约束的优化问题,如内敛法等。

参考文献

卜东波,《Lec9.pdf》

常虹,《Support Vector Machines》

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值