首页 技术 正文
技术 2022年11月21日
0 收藏 861 点赞 3,340 浏览 995 个字

  拉格朗日乘子法是解决极值问题的方法。

  本方法是计算多元函数在约束条件下的极值问题的方法。

1、多元函数与约束问题

  如下图所示,f(x,y)为多元函数,g(x,y)=c为约束条件。目的是计算在约束条件下多元函数的极值。

  虚线为f(x,y)=d d取不同的值时,将原始图像投影到xy平面时的等高线,在等高线上的f函数值相等;

  淡蓝色实线为g(x,y)为xy平面的曲线,对应于不同的(x,y)。比如g(x,y)=x+y=1,即x+y=1为约束条件。

      ML 徒手系列 拉格朗日乘子法      ML 徒手系列 拉格朗日乘子法

  那么怎样去寻找极值点?

  思路:沿着g(x,y)曲线不断前进,找到与g(x,y)与等高线的交点,所有的交点中的极值,即为需要求得的极值。如上图红色圈所示。

  此时极值点满足的条件:g(x,y)与极值点所在的等高线是相切的。所以满足

ML 徒手系列 拉格朗日乘子法

  根据以上原理,构建拉格朗日函数:(此时用g(x,y)代替[g(x,y)-c])

ML 徒手系列 拉格朗日乘子法

  L对x,y,λ分别求偏导,并且偏导其偏导满足:

ML 徒手系列 拉格朗日乘子法

  偏导分别满足:

  ML 徒手系列 拉格朗日乘子法

  根据得到的偏导等式,求得x,y的值,即可得到f(x,y)的极值。

  同样当g(x,y)<0时,等高线与约束函数的图像变成了等高线与某一块区域的集合。此时求极值时,直接求f(x,y)对x,y的偏导数,得到极值。

  等价于将λ置为0时,求L对x,y求偏导。上述是拉格朗日乘子法的来源。

2、约束条件的扩展

  第一部分讲解了一个约束条件,而实际中通常会用到多个约束条件。当引入下列约束条件时:

ML 徒手系列 拉格朗日乘子法

ML 徒手系列 拉格朗日乘子法

  即要求f0(x)的极值,其约束条件为fi(x) hi(x).此时的拉格朗日函数为:

ML 徒手系列 拉格朗日乘子法ML 徒手系列 拉格朗日乘子法

  其中ª ß为拉格朗日乘子。并且ª>0,满足第一部分所阐述的λ的条件。 

  上述条件表述为KKT条件:

ML 徒手系列 拉格朗日乘子法

  固定变量x,求L关于ª ß的最大值:

ML 徒手系列 拉格朗日乘子法

  并且有:

ML 徒手系列 拉格朗日乘子法

  对θp求极小值可得:

ML 徒手系列 拉格朗日乘子法

  此时,求θp极小值与原始问题即求f(x)的极小值等价。

  定义原始问题的最优:

ML 徒手系列 拉格朗日乘子法

  引入对偶问题:

ML 徒手系列 拉格朗日乘子法

  可以证明:

ML 徒手系列 拉格朗日乘子法

  对偶问题证明:

  ML 徒手系列 拉格朗日乘子法

  使用上述条件:

  1、对L取关于变量x的偏导

  2、通过偏导式子求出x关于ª ß的表达式

  3、将ª ß的表达式代入L

  4、得到max(L)关于ª ß的表达式

  5、通过其他约束条件求出最终的极值点

  举例:

  SVM

  对偶问题满足等号的条件:

  KKT条件中的约束不等式为凸函数,等式为仿射函数,且可行域存在严格满足约束条件的点。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,918
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,444
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,255
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,069
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,701
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,741