【统计学习方法】拉格朗日乘子法

1 方向导数和梯度

 

1.1 方向导数定义

函数\LARGE z = f(x,y)在点\large M{_0}(x{_0},y{_0})沿方向\LARGE \vec{l}=(cos \alpha,sin \alpha )的方向导数:

\LARGE \frac{\delta f}{\delta l} = \lim_{t->0^+} \frac{f(x{_0}+tcos \alpha,y{_0}+tsin \alpha) - f(x{_0},y{_0})}{t}

根据拉格朗日中值定理(证明

\LARGE \frac{\delta f}{\delta l} = { f{_x}}'(x_{0},y{_0})cos \alpha + {f{_y}}'(x{_0}+y{_0})sin \alpha

1.2 梯度

\LARGE { f{_x}}'(x_{0},y{_0})cos \alpha + {f{_y}}'(x{_0}+y{_0})sin \alpha可以看成是两个向量的內积(点积),令

\LARGE g = ({f{_x}}'(x{_0},y{_0}),{f{_y}}'(x{_0},y{_0}))

\LARGE e{_l} = (cos \alpha, sin \alpha)

则:

\LARGE g \cdot e{_l} = |g||e{_l}|cos \alpha = |g| cos \alpha,则可以得出以下结论:

\LARGE \theta = 0时,\LARGE e{_l},g方向相同,函数变化率最大,且在点\LARGE (x{_0},y{_0})处呈上升趋势

\LARGE \theta = \pi时,\LARGE e{_l},g方向相反,函数变化率最大,且在点\LARGE (x{_0},y{_0})处呈下降趋势

我们称向量为函数在点\LARGE (x{_0},y{_0})处的梯度。

多元函数在某一点的梯度是一个非常特殊的向量,其由多元函数对每个变量的偏导数组成(这即是为什么求梯度的时候需要对各个变量求偏导的原因),其方向为函数在该点增加最快的方向,大小为函数在该点的最大变化率。

 

 

2 拉格朗日乘子法

2.1 无条件极值和有条件极值

无条件极值:对自变量除限制在定义域内外,并无其他条件

有条件极值:对自变量除限制在定义域内外,还有其他条件限制

 

2.2 多元函数存在极值的必要条件

函数\large z = f(x{_1},x{_2},x{_3} ... x{_n})在点\large (x{_1},x{_2},x{_3} ... x{_n})具有偏导数,且在点\large (x{_1},x{_2},x{_3} ... x{_n})处有极值,则他在该点的偏导数必然为0。

 

2.3 拉格朗日函数

目标函数:\large y = f(x{_1},x{_2},x{_3}...x{_n})

约束条件:\large \varphi {_k}(x{_1},x{_2},x{_3}...x{_n}) = 0 (k=1,2...m)

拉格朗日函数:\large f(x{_1},x{_2},x{_3}...,x{_n},k{_1},k{_2},k{_3}...,k{_m}) = f(x{_1},x{_2},x{_3}...,x{_n}) + \sum_{m}^{k=1} \lambda {_k}\varphi {_k}(x{_1},x{_2},x{_3}...,x{_n}) 

由存在极值必要条件知偏导数:

\large \left\{\begin{matrix} f{_x{_1}}(x{_1},x{_2},x{_3}...,x{_n}, \lambda{_1}, \lambda{_2}, \lambda{_3}..., \lambda{_m}) = 0 \\ f{_x{_2}}(x{_1},x{_2},x{_3}...,x{_n}, \lambda{_1}, \lambda{_2}, \lambda{_3}..., \lambda{_m}) = 0 \\ f{_x{_3}}(x{_1},x{_2},x{_3}...,x{_n}, \lambda{_1}, \lambda{_2}, \lambda{_3}..., \lambda{_m}) = 0 \\ ... \\ f{_x{_n}}(x{_1},x{_2},x{_3}...,x{_n}, \lambda{_1}, \lambda{_2}, \lambda{_3}..., \lambda{_m}) = 0 \\ \\f{_ \lambda {_1}}(x{_1},x{_2},x{_3}...,x{_n}, \lambda{_1}, \lambda{_2}, \lambda{_3}..., \lambda{_m}) = 0 \\ f{_ \lambda{_2}}(x{_1},x{_2},x{_3}...,x{_n}, \lambda{_1}, \lambda{_2}, \lambda{_3}..., \lambda{_m}) = 0 \\ f{_ \lambda{_3}}(x{_1},x{_2},x{_3}...,x{_n}, \lambda{_1}, \lambda{_2}, \lambda{_3}..., \lambda{_m}) = 0 \\ ... \\ f{_ \lambda{_m}}(x{_1},x{_2},x{_3}...,x{_n}, \lambda{_1}, \lambda{_2}, \lambda{_3}..., \lambda{_m}) = 0 \end{matrix}\right.

即:

\large \left\{\begin{matrix}f{_x{_1}}(x{_1},x{_2},x{_3}...,x{_n}) + \sum_{m}^{k=1} \lambda {_k}\varphi {_k}{_x{_1}}(x{_1},x{_2},x{_3}...,x{_n}) = 0 \\ f{_x{_2}}(x{_1},x{_2},x{_3}...,x{_n}) + \sum_{m}^{k=1} \lambda {_k}\varphi {_k}{_x{_2}}(x{_1},x{_2},x{_3}...,x{_n}) = 0 \\ f{_x{_3}}(x{_1},x{_2},x{_3}...,x{_n}) + \sum_{m}^{k=1} \lambda {_k}\varphi {_k}{_x{_3}}(x{_1},x{_2},x{_3}...,x{_n}) = 0 \\ ... \\ f{_x{_n}}(x{_1},x{_2},x{_3}...,x{_n}) + \sum_{m}^{k=1} \lambda {_k}\varphi {_k}{_x{_n}}(x{_1},x{_2},x{_3}...,x{_n}) = 0 \\ \\\varphi {_1}(x{_1},x{_2},x{_3}...,x{_n}) = 0 \\\varphi {_2}(x{_1},x{_2},x{_3}...,x{_n}) = 0 \\\varphi {_3}(x{_1},x{_2},x{_3}...,x{_n}) = 0 \\... \\\varphi {_k}(x{_1},x{_2},x{_3}...,x{_n}) = 0 \\ \end{matrix}\right.

2.4 拉格朗日乘子法为何有效(曲线上与原点距离最近的点)

求曲线\LARGE f(x,y)=yx^2上到原点(0,0)距离最短的点,距离原点距离为\LARGE \alpha的点都在半径为\LARGE \alpha的圆

\LARGE g(x,y) = x^2 + y^2上:

逐步加大圆的半径\LARGE \alpha,显然(就是不想去解释)当圆与曲线相切时,切点即为曲线上到原点距离最短的点,这时在在切点处的函数梯度平行,即:
\LARGE (2xy,x^2) = \lambda (2x,2y)

对比2.3的拉格朗日函数,发现形式是一样的。

 

参考:

如何理解拉格朗日乘子法

深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件

拉格朗日乘子法——分析推导

如何直观形象的理解方向导数与梯度以及它们之间的关系

梯度的方向为什么是函数值增加最快的方向

方向导数与梯度

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值