最优化理论4.2带约束最优化

本文深入探讨了等式约束和不等式约束下的优化问题,讲解了拉格朗日乘子法及其几何意义,以及KKT条件在优化问题中的应用。同时,文章详细解析了优化的对偶理论,包括原始问题与对偶问题的关系,弱对偶与强对偶理论,以及KKT定理在确定最优解中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


本课程来自 深度之眼,部分截图来自课程视频。
【第四章 最优化理论】4.2带约束最优化
在线LaTeX公式编辑器

任务详解:

这节课主要介绍了带约束优化,优化的对偶理论等知识点。
掌握目标:
1、掌握等式约束的最优化问题,拉格朗日乘子法,从几何上理解
2、掌握不等式约束的最优化问题,kkt松弛条件,从几何上理解
3、优化的拉格朗日对偶理论,原始问题,原始问题的等价原问题,对偶问题
4、弱对偶理论,强对偶理论,KKT条件
带约束优化一般分等式约束和不等式约束

等式约束:拉格朗日乘子

经典拉格朗日乘子法是下面的优化问题(注:x是一个向量):
m i n x f ( x ) min_xf(x) minxf(x)
等式约束:
s . t . g ( x ) = 0 s.t.\quad g(x)=0 s.t.g(x)=0
以二维函数 f ( x , y ) f(x,y) f(x,y)为例,从XOY平面上看就是一圈圈等高线,越往中心,越接近最小值,但是又有等式约束 g ( x ) = 0 g(x)=0 g(x)=0(下图的约束曲线是 g ( x , y ) = c g(x,y)=c g(x,y)=c,当然也可以写成 g ( x , y ) − c = 0 g(x,y)-c=0 g(x,y)c=0
在这里插入图片描述
也就是说这个时候的极值点应该在曲线 g ( x , y ) g(x,y) g(x,y)上,又要尽量接近等高线中心,所以等高线和曲线应该是相切的,就是切线方向是共线的,也就是法线方向也是共线的,(法线和切线是垂直的)。
-------------------------------------------------割你没商量1-------------------------------------------
那么等高线的法线怎么求?实际上就是某点的梯度。证明如下:
假如二维函数是 z = f ( x , y ) z=f(x,y) z=f(x,y),那么某个等高线也就是z为某个常数c,可以写为:
f ( x , y ) = c f(x,y)=c f(x,y)=c
对其求偏导,并使其等于0,可以得到切线 d y d x \cfrac{dy}{dx} dxdy的形式:
f x d x + f y d y = 0 → d y d x = − f x f y f_xdx+f_ydy=0\to\frac{dy}{dx}=-\frac{f_x}{f_y} fxdx+fydy=0dxdy=fyfx
由于梯度可以用各个偏导排列组成的向量来表示: [ f x , f y ] [f_x,f_y] [fx,fy],其方向为: f y f x \cfrac{f_y}{f_x} fxfy
用切线乘以梯度方向:
d y d x = − f x f y f y f x = − 1 \frac{dy}{dx}=-\frac{f_x}{f_y}\cfrac{f_y}{f_x}=-1 dxdy=fyfxfxfy=1
也就意味着梯度和切线是垂直关系。也就是说梯度方向和法线方向平行。
所以就有:
▽ f ( x , y ) = λ ▽ g ( x , y ) \triangledown f(x,y)=\lambda\triangledown g(x,y) f(x,y)=λg(x,y)
二维函数与约束函数的梯度要平行。(平行关系所以 λ \lambda λ是正是负都可以)
以上是二维的情况,如果推广到n维,就可以写成下面:
-------------------------------------------------割你没商量1-------------------------------------------
{ ▽ f ( x ) = λ ▽ g ( x ) g ( x ) = 0 (1) \begin{cases} &\triangledown f(x)=\lambda\triangledown g(x) \\ & g(x)=0 \end{cases}\tag{1} {f(x)=λg(x)g(x)=0(1)
其中:
x = ( x 1 , x 2 , . . . , x n ) , x ∈ ℜ n x=(x_1,x_2,...,x_n),x\in \real^n x=(x1,x2,...,xn),xn
把第一式展开可以得到n个方程,可以写成:
( f x 1 , f x 2 , . . . , f x n ) = λ ( g x 1 , g x 2 , . . . , g x n ) (f_{x_1},f_{x_2},...,f_{x_n})=\lambda(g_{x_1},g_{x_2},...,g_{x_n}) (fx1,fx2,...,fxn)=λ(gx1,gx2,...,gxn)
即: f x 1 = λ g x 1 , f x 2 = λ g x 2 . . . f_{x_1}=\lambda g_{x_1},f_{x_2}=\lambda g_{x_2}... fx1=λgx1,fx2=λgx2...

这两个方程(1)刚好就是拉格朗日函数:
L ( x , λ ) = f ( x ) + λ g ( x ) L(x,\lambda)=f(x)+\lambda g(x) L(x,λ)=f(x)+λg(x)

不等式约束

这里和等式约束形式差不多,只不过约束由等式变成了不等式,那么在考虑法线方向上就不能像等式那样那么随意了,等式只要法线平行即可,所以 λ \lambda λ可以正负都无所谓。
如果约束条件是: s . t . g ( x ) ≤ 0 s.t.\quad g(x)\leq0 s.t.g(x)0
那么 λ \lambda λ应该是负数,这样沿梯度变化后才能满足约束条件。

优化的对偶理论主(要用在SVM)

1.原始问题

假设 f ( x ) , c i ( x ) , h j ( x ) f(x),c_i(x),h_j(x) f(x),ci(x),hj(x)是定义在 R n R^n Rn上的连续可微函数。考虑约束最优化问题
m i n x ∈ R n f ( x ) \underset{x\in R^n}{min}f(x) xRnminf(x)
s . t . c i ( x ) ≤ 0 , i = 1 , 2 , . . . , k h j ( x ) = 0 , j = 1 , 2 , . . . , l s.t.\quad c_i(x)\leq0,i=1,2,...,k\\ h_j(x)=0,j=1,2,...,l s.t.ci(x)0,i=1,2,...,khj(x)=0,j=1,2,...,l
称此约束最优化问题为原始最优化问题或原始问题.
首先,引进广义拉格朗日函数(generalized Lagrange function),这个和之前的那个拉格朗日没有什么关系。
L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) (2) L(x,\alpha,\beta)=f(x)+\sum_{i=1}^k\alpha_ic_i(x)+\sum_{j=1}^l\beta_jh_j(x)\tag{2} L(x,α,β)=f(x)+i=1kαici(x)+j=1lβjhj(x)(2)
这里, x = ( x ( 1 ) , x ( 2 ) , . . . , x ( n ) ) T ∈ R n x=(x^{(1)},x^{(2)},...,x^{(n)})^T\in R^n x=(x(1),x(2),...,x(n))TRn α i , β j \alpha_i, \beta_j αi,βj是拉格朗日乘子, α i ≥ 0 \alpha_i\geq 0 αi0.考虑x的函数:
θ P ( x ) = m a x α , β ; α i ≥ 0 L ( x , α , β ) \theta_P(x)=\underset{\alpha, \beta;\alpha_i\geq 0}{max}L(x,\alpha,\beta) θP(x)=α,β;αi0maxL(x,α,β)
根据公式(2)以及约束可知
情况一:
x满足原始问题约束, h j ( x ) = 0 h_j(x)=0 hj(x)=0,所以后面那项就没有了:
L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i c i ( x ) (3) L(x,\alpha,\beta)=f(x)+\sum_{i=1}^k\alpha_ic_i(x)\tag{3} L(x,α,β)=f(x)+i=1kαici(x)(3)
公式(3)中的后面那项 α i ≥ 0 , c i ( x ) ≤ 0 → α i c i ( x ) ≤ 0 \alpha_i\geq 0,c_i(x)\leq0\to\alpha_ic_i(x)\leq0 αi0ci(x)0αici(x)0
因此函数 L ( x , α , β ) L(x,\alpha,\beta) L(x,α,β)的最大值就是当 α i = 0 \alpha_i=0 αi=0的时候
L ( x , α , β ) ≤ f ( x ) → θ P ( x ) = m a x α , β ; α i ≥ 0 L ( x , α , β ) = f ( x ) L(x,\alpha,\beta)\leq f(x)\to \theta_P(x)=\underset{\alpha, \beta;\alpha_i\geq 0}{max}L(x,\alpha,\beta)=f(x) L(x,α,β)f(x)θP(x)=α,β;αi0maxL(x,α,β)=f(x)
情况二:
x不满足原始问题约束,又分两种情况讨论:
2.1
c i ( x ) > 0 , h j ( x ) = 0 c_i(x)>0,h_j(x)=0 ci(x)>0hj(x)=0,同样后面一项为0:
L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i c i ( x ) (4) L(x,\alpha,\beta)=f(x)+\sum_{i=1}^k\alpha_ic_i(x)\tag{4} L(x,α,β)=f(x)+i=1kαici(x)(4)
公式(4)中的后面那项 α i ≥ 0 , c i ( x ) > 0 → α i c i ( x ) > = 0 \alpha_i\geq0,c_i(x)>0\to\alpha_ic_i(x)>=0 αi0ci(x)>0αici(x)>=0
此时公式(4)的最大值就是+∞
2.2
c i ( x ) ≤ 0 , h j ( x ) ≠ 0 c_i(x)\leq0,h_j(x)\neq0 ci(x)0hj(x)=0,取 c i ( x ) = 0 c_i(x)=0 ci(x)=0
L ( x , α , β ) = f ( x ) + ∑ j = 1 l β j h j ( x ) (5) L(x,\alpha,\beta)=f(x)+\sum_{j=1}^l\beta_jh_j(x)\tag{5} L(x,α,β)=f(x)+j=1lβjhj(x)(5)
公式(5)的后面那项的最大值也是+∞
综合情况一和情况二就可以把 θ P ( x ) \theta_P(x) θP(x)写为:
θ P ( x ) = { f ( x ) , x 满 足 原 始 问 题 约 束 + ∞ , 其 它 (6) \theta_P(x)=\begin{cases} &f(x),x满足原始问题约束 \\ & +\infty,其它 \end{cases}\tag{6} θP(x)={f(x),x+,(6)
现在考虑 θ P ( x ) \theta_P(x) θP(x)极小值,由于 θ P ( x ) \theta_P(x) θP(x)是分段函数,下面那一段+∞是不会有最小值的,所以整个 θ P ( x ) \theta_P(x) θP(x)的最小值肯定是在上面那段,写成:
m i n x θ P ( x ) = m i n x m a x α , β ; α i ≥ 0 L ( x , α , β ) (7) \underset{x}{min}\theta_P(x)=\underset{x}{min}\underset{\alpha, \beta;\alpha_i\geq 0}{max}L(x,\alpha,\beta)\tag{7} xminθP(x)=xminα,β;αi0maxL(x,α,β)(7)
可以看到,如果要满足公式(7),那么x就是既要满足情况一中的原始问题约束,又要使得f(x)最小,这个就是和原始问题等价啊,也就是把原始问题转换成了公式(7)的形式。这个形式没有约束的存在了。

2.对偶问题

之前的一般问题是先极小值再极大值,对偶问题是先极小值再极大值。下面直接给定义。
定义
θ D ( α , β ) = m i n x L ( x , α , β ) \theta_D(\alpha,\beta)=\underset{x}{min}L(x,\alpha,\beta) θD(α,β)=xminL(x,α,β)
再考虑极大化 θ D ( α , β ) = m i n x L ( x , α , β ) \theta_D(\alpha,\beta)=\underset{x}{min}L(x,\alpha,\beta) θD(α,β)=xminL(x,α,β),即:
m a x α , β ; α i ≥ 0 θ D ( α , β ) = m a x α , β ; α i ≥ 0 m i n x L ( x , α , β ) \underset{\alpha, \beta;\alpha_i\geq 0}{max}\theta_D(\alpha,\beta)=\underset{\alpha, \beta;\alpha_i\geq 0}{max}\underset{x}{min}L(x,\alpha,\beta) α,β;αi0maxθD(α,β)=α,β;αi0maxxminL(x,α,β)
————————————————————————————————————
弱对偶定理C.1:若原始问题和对偶问题都有最优值,则
d ∗ = m a x α , β ; α i ≥ 0 m i n x L ( x , α , β ) ≤ m i n x m a x α , β ; α i ≥ 0 L ( x , α , β ) = p ∗ d^*=\underset{\alpha, \beta;\alpha_i\geq 0}{max}\underset{x}{min}L(x,\alpha,\beta)\leq \underset{x}{min}\underset{\alpha, \beta;\alpha_i\geq 0}{max}L(x,\alpha,\beta)=p^* d=α,β;αi0maxxminL(x,α,β)xminα,β;αi0maxL(x,α,β)=p
证明:对任意的 α \alpha α β β β x x x,有
θ D ( α , β ) = m i n x L ( x , α , β ) ≤ L ( x , α , β ) ≤ m a x α , β ; α i ≥ 0 L ( x , α , β ) = θ P ( x ) \theta_D(\alpha,\beta)=\underset{x}{min}L(x,\alpha,\beta)\leq L(x,\alpha,\beta)\leq \underset{\alpha, \beta;\alpha_i\geq 0}{max}L(x,\alpha,\beta)=\theta_P(x) θD(α,β)=xminL(x,α,β)L(x,α,β)α,β;αi0maxL(x,α,β)=θP(x)
即:
θ D ( α , β ) ≤ θ P ( x ) \theta_D(\alpha,\beta)\leq \theta_P(x) θD(α,β)θP(x)
由于原始问题和对偶问题均有最优值,所以,
m a x α , β ; α i ≥ 0 θ D ( α , β ) ≤ m i n x θ P ( x ) \underset{\alpha, \beta;\alpha_i\geq 0}{max}\theta_D(\alpha,\beta)\leq \underset{x}{min}\theta_P(x) α,β;αi0maxθD(α,β)xminθP(x)
以上这种形式是弱对偶形式,如果能把不等号变成等号,那么就变成强对偶形式。

强对偶定理C.2考虑原始问题和对偶问题。假设函数 f ( x ) f(x) f(x) c i ( x ) c_i(x) ci(x)是凸函数, h j ( x ) h_j(x) hj(x)是仿射函数();并且假设不等式约束 c i ( x ) c_i(x) ci(x)是严格可行的,即存在 x x x,对所有 i i i c i ( x ) < 0 c_i(x)<0 ci(x)<0,则存在 x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x,α,β使 x ∗ x^* x是原始问题的解, α ∗ , β ∗ \alpha^*,\beta^* α,β是对偶问题的解,并且
p ∗ = d ∗ = L ( x ∗ , α ∗ , β ∗ ) p^*=d^*=L(x^*,\alpha^*,\beta^*) p=d=L(x,α,β)

KTT定理C.3对原始问题和对偶问题,假设函数 f ( x ) f(x) f(x) c i ( x ) c_i(x) ci(x)是凸函数, h j ( x ) h_j(x) hj(x)是仿射函数,并且不等式约束 c i ( x ) c_i(x) ci(x)是严格可行的,则 x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x,α,β分别是原始问题和对偶问题的解的充分必要条件是 x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x,α,β满足下面的Karush-Kuhn-Tucker(KKT)条件:
▽ x L ( x ∗ , α ∗ , β ∗ ) = 0 ▽ α L ( x ∗ , α ∗ , β ∗ ) = 0 ▽ β L ( x ∗ , α ∗ , β ∗ ) = 0 \triangledown_xL(x^*,\alpha^*,\beta^*)=0\\ \triangledown_\alpha L(x^*,\alpha^*,\beta^*)=0\\ \triangledown_\beta L(x^*,\alpha^*,\beta^*)=0 xL(x,α,β)=0αL(x,α,β)=0βL(x,α,β)=0

α i ∗ c i ( x ∗ ) = 0 , i = 1 , 2 , . . . , k c i ( x ∗ ) ≤ 0 , i = 1 , 2 , . . . , k α i ∗ ≥ 0 , i = 1 , 2 , . . . , k h j ( x ∗ ) = 0 , j = 1 , 2 , . . . , l \alpha_i^*c_i(x^*)=0,i=1,2,...,k\\ c_i(x^*)\leq0,i=1,2,...,k\\ \alpha_i^*\geq 0,i=1,2,...,k\\ h_j(x^*)=0,j=1,2,...,l αici(x)=0,i=1,2,...,kci(x)0,i=1,2,...,kαi0,i=1,2,...,khj(x)=0,j=1,2,...,l

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oldmao_2000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值