6

[ML Notes] 拉格朗日函数:推导过程

 3 years ago
source link: https://blog.nex3z.com/2021/03/14/ml-notes-%e6%8b%89%e6%a0%bc%e6%9c%97%e6%97%a5%e5%87%bd%e6%95%b0-%e6%8e%a8%e5%af%bc%e8%bf%87%e7%a8%8b/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

[ML Notes] 拉格朗日函数:推导过程

Author: nex3z 2021-03-14

Contents [show]

1. 推导过程

  以二元函数为例,要寻找 f(x,y) 在约束条件 g(x,y)=0 下的极值,如

minf(x,y)s.t.g(x,y)=0

  假设 f(x,y) 在 (x0,y0) 处取得极值,则有

g(x0,y0)=0

  假设在 (x0,y0) 的某一邻域内 f(x,y) 和 g(x,y) 都有连续的一阶偏导数,且 gy(x0,y0)≠0,由隐函数存在定理可知,g(x,y) 确定一个连续且具有连续导数的函数 y=ϕ(x),此时 f(x,y) 变为变量 x 的函数

z=f(x,ϕ(x))

由 f(x,y) 在 (x0,y0) 处取得极值,有

dzdx|x=x0=fx(x0,y0)+fy(x0,y0)dydx|x=x0=0

由式 (2) 和隐函数求导公式,有

dydx|x=x0=–gx(x0,y0)gy(x0,y0)

将式 (4) 代入式 (3),得到

fx(x0,y0)–fy(x0,y0)gx(x0,y0)gy(x0,y0)=0

fy(x0,y0)gy(x0,y0)=−λ

将式 (6) 代入式 (5),得到

fx(x0,y0)+λgx(x0,y0)=0

由式 (5) 本身,有

fy(x0,y0)+λgy(x0,y0)=0

  引进辅助函数

L(x,y)=f(x,y)+λg(x,y)

其中 L(x,y) 称为拉格朗日函数,λ 称为拉格朗日乘子。

  结合拉格朗日函数,式 (7)、(8)、(2) 构成方程组

{fx(x0,y0)+λgx(x0,y0)=0fy(x0,y0)+λgy(x0,y0)=0g(x,y)=0

求解上述方程组,即可得到 x0、y0 和 λ。

2. 拉格朗日乘数法

  要找函数 z=f(x,y) 在附加条件 g(x,y)=0 下的可能极值点,可以先作拉格朗日函数

L(x,y)=f(x,y)+λg(x,y)

其中 λ 为参数。求其对 x 和 y 的一阶偏导数并使之为零,然后与约束条件 g(x,y)=0 联立起来

{fx(x0,y0)+λgx(x0,y0)=0fy(x0,y0)+λgy(x0,y0)=0g(x,y)=0

由该方程组解出 x、y 和 λ,由此得到的 (x,y) 就是函数 f(x,y) 在附加条件 g(x,y)=0 下的可能的极值点。

  对于有多个自变量的场景,如要求函数

u=f(x,y,z,t)

在附加条件

g(x,y,z,t)=0h(x,y,z,t)=0

下的极值,可以先作拉格朗日函数

L(x,y,z,t)=f(x,y,z,t)+λg(x,y,z,t)+μh(x,y,z,t)

其中 λ、μ 均为参数。求上式的一阶偏导数并使之为零,与两个约束条件联立求解即可。


  隐函数存在定理 设函数 F(x,y) 在点 (x0,y0) 的某一邻域内具有连续偏导数,且 F(x0,y0)=0,Fy(x0,y0)≠0,则方程 F(x,y)=0 在点 (x0,y0) 的某一邻域内恒能唯一确定一个连续且具有连续导数的函数 y=f(x),它满足条件 y0=f(x0),并有

dydx=–FxFy


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK