前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >机器学习之拉格朗日乘数法

机器学习之拉格朗日乘数法

作者头像
大黄大黄大黄
发布于 2018-09-14 10:05:01
发布于 2018-09-14 10:05:01
2.2K0
举报

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/article/details/53232808

   在数学最优问题中,拉格朗日乘数法(以数学家约瑟夫·路易斯·拉格朗日命名)是一种寻找变量受一个或多个条件所限制的多元函数的极值的方法。这种方法将一个有n 个变量与k 个约束条件的最优化问题转换为一个有n + k个变量的方程组的极值问题,其变量不受任何约束。这种方法引入了一种新的标量未知数,即拉格朗日乘数:约束方程的梯度(gradient)的线性组合里每个向量的系数。此方法的证明牵涉到偏微分,全微分或链法,从而找到能让设出的隐函数的微分为零的未知数的值。

定义介绍 设给定二元函数z=ƒ(x,y)和附加条件φ(x,y)=0,为寻找z=ƒ(x,y)在附加条件下的极值点,先做拉格朗日函数

,其中λ为参数。 令F(x,y,λ)对x和y和λ的一阶偏导数等于零,,即 F'x=ƒ'x(x,y)+λφ'x(x,y)=0, F'y=ƒ'y(x,y)+λφ'y(x,y)=0, F'λ=φ(x,y)=0 由上述方程组解出x,y及λ,如此求得的(x,y),就是函数z=ƒ(x,y)在附加条件φ(x,y)=0下的可能极值点。 若这样的点唯一,由实际问题,可直接确定此即所求的点。 求极值 求函数f(x,y,z)在条件φ(x,y,z)=0下的极值 方法(步骤)是: 1.做拉格朗日函数L=f(x,y,z)+λφ(x,y,z),λ称拉格朗日乘数 2.求L分别对x,y,z,λ求偏导,得方程组,求出驻点P(x,y,z) 如果这个实际问题的最大或最小值存在,一般说来驻点唯一,于是最值 可求. 条件极值问题也可以化为无条件极值求解,但有些条件关系比较复杂,代换和运算很繁,而相对来说,“拉格朗日乘数法”不需代换,运算简单一点.这就是优势. 条件φ(x,y,z)一定是个等式,不妨设为φ(x,y,z)=m 则再建一个函数g(x,y,z)=φ(x,y,z)-m g(x,y,z)=0,以g(x,y,z)代替φ(x,y,z) 在许多极值问题中,函数的自变量往往要受到一些条件的限制,比如,要设计一个容积为 V的长方体形开口水箱,确定长、宽和高, 使水箱的表面积最小. 设水箱的长、宽、高分别为 x,y,z, 则水箱容积V=xyz 焊制水箱用去的钢板面积为 S=2xz+2yz+xy 这实际上是求函数 S 在 V 限制下的最小值问题。 这类附有条件限制的极值问题称为条件极值问题,其一般形式是在条件 <!--EndFragment--> 限制下,求函数F的极值 条件极值与无条件极值的区别 条件极值是限制在一个子流形上的极值,条件极值存在时无条件极值不一定存在,即使存在二者也不一定相等。 例如,求马鞍面 z=x.^2-y.^2+1 被平面XOZ 平面所截的曲线上的最低点。 从其几何图形可以看出整个马鞍面没有极值点,但限制在马鞍面被平面 平面所截的曲线上,有极小值 1,这个极小值就称为条件极值。 必要条件 设在约束条件之下求函数的极值。满足约束条件的点 是函数的条件极值点, 且在该点函数满足隐函数存在条件时, 由方程定隐函数 , 于是点就是一元函数的极限点, 有 代入 , 就有 ( 以下 均表示相应偏导数在点 的值 . ) Lagrange乘数法 : 由上述讨论可见 , 函数 在约束条件之下的条件极值点应是方程组 的解. 引进所谓Lagrange函数 ( 称其中的实数 为Lagrange乘数 ) 则上述方程组即为方程组 因此,解决条件极值通常有两种方法 1)直接的方法是从方程组(1)中解出 并将其表示为 代入 消去 成为变量为 的函数将问题化为函数无条件极值问题; 2)在一般情形下,要从方程组(1)中解出 来是困难的,甚至是不可能的,因此上面求解方法往往是行不通的。通常采用的拉格朗日乘数法,是免去解方程组(1)的困难,将求 的条件极值问题化为求下面拉格朗日函数的稳定点问题,然后根据所讨论的实际问题的特性判断出哪些稳定点是所求的极值的。 3)在给定的条件下,若是可以将未知数代换或是解出,则可以将条件极值转化为无条件极值,从而避免引入拉格朗日乘数的麻烦。 注意:▽φ(x,y,z)=0 且 φ(x,y,z)=0的点不会被该方法计算到,因此,若求最大值或最小值时,应把这些点列出来并单独计算。

例题一 抛物面被平面 截成一个椭圆. 求该椭圆到坐标 原点的最长和最短距离. 例3求函数 在条件 下的极小值. 并证明不等式 , 其中 为任意正常数 . 以上面水箱设计为例,看一看拉格朗日乘数法求解条件极值的过程 解: 这个问题的实质是求函数 在条件下的最小值问题, 应用拉格朗日乘法,令 L='2*(x*z+y*z)+x*y+v*(x*y*z-V)'; dLdx=diff(L,'x') dLdy=diff(L,'y') dLdz=diff(L,'z') dLdv=diff(L,'v') dLdx =2*z+y+v*y*z dLdy =2*z+x+v*x*z dLdz =2*x+2*y+v*x*y dLdv =x*y*z-V 令 L 的各偏导等零,解方程组求稳定点 s1='2*z+y+v*y*z'; s2='2*z+x+v*x*z'; s3='2*x+2*y+v*x*y'; s4='x*y*z-V'; [v,x0,y0,z0]=solve(s1,s2,s3,s4) v = [ -2*2^(2/3)/V^(1/3)] [ -8*(-1/4*2^(1/3)*V^(1/3)+1/4*i*3^(1/2)*2^(1/3)*V^(1/3))^2/V] [ -8*(-1/4*2^(1/3)*V^(1/3)-1/4*i*3^(1/2)*2^(1/3)*V^(1/3))^2/V] x0 =[ 2^(1/3)*V^(1/3)] y0 =[ 2^(1/3)*V^(1/3)] z0 =[ 1/2*2^(1/3)*V^(1/3)] 这里显然只有实数解才有意义,所以 L 的稳定点只有下面一个 又已知所求的问题确实存在最小值,从而解出的稳定点就是最小值点,即水箱长宽与为高的2倍时用钢板最省。

例题二 再看一个条件极值求解问题 抛物面 被平面 截成一个椭圆,求这个椭圆到坐标原点的最长最短距离。(x73) 解 这个问题的实质是求函数 在条件 与 下的最大、最小值问题,应用拉格朗日乘法,令 L='x^2+y^2+z^2+v*(x^2+y^2-z)+h*(x+y+z-1)'; dLdx=diff(L,'x') dLdy=diff(L,'y') dLdz=diff(L,'z') dLdv=diff(L,'v') dLdh=diff(L,'h') dLdx =2*x+2*v*x+h dLdy =2*y+2*v*y+h dLdz =2*z-v+h dLdv =x^2+y^2-z dLdh =x+y+z-1 s1='2*x+2*v*x+h'; s2='2*y+2*v*y+h'; s3='2*z-v+h'; s4='x^2+y^2-z'; s5='x+y+z-1'; [h,v,x0,y0,z0]=solve(s1,s2,s3,s4,s5); x0,y0,z0 x0 = [ 3/4-1/4*i*13^(1/2)] [ 3/4+1/4*i*13^(1/2)] [ -1/2+1/2*3^(1/2)] [ -1/2-1/2*3^(1/2)] y0 = [ 3/4+1/4*i*13^(1/2)] [ 3/4-1/4*i*13^(1/2)] [ -1/2+1/2*3^(1/2)] [ -1/2-1/2*3^(1/2)] z0 = -1/2, -1/2, 2-3^(1/2), 2+3^(1/2) 即 的稳定点有两个 因为函数 在有界闭集 上连续,必有最大值和最小值,而求得的稳定点又恰是两个,所以它们一个是最大点,另一个是最小,其最大 最小值为。(x73) x1=-1/2+1/2*3^(1/2); x2=-1/2-1/2*3^(1/2); y1=-1/2+1/2*3^(1/2); y2=-1/2-1/2*3^(1/2); z1=2-3^(1/2); z2=2+3^(1/2); f1=(x1^2+y1^2+z1^2)^(1/2) f2=(x2^2+y2^2+z2^2)^(1/2) f1 = 0.5829 ; f2 = 4.2024

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年11月19日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
拉格朗日乘数法_拉格朗日乘数法是求边界点吗
原文地址:https://www.cnblogs.com/maybe2030/p/4946256.html
全栈程序员站长
2022/11/01
7400
拉格朗日乘数法求得的是最值还是极值_微观经济拉格朗日方程求极值
在日常的生产生活中,当我们要要安排生产生活计划的时候,常常会在现实物理资源约束的条件下,计算得到收益最大或者损失最小的计划; 像这种对自变量有附加条件的极值称为条件极值;拉格朗日乘数法是一种直接计算解决条件极值的方法;
全栈程序员站长
2022/11/15
1.7K0
拉格朗日乘数法
在数学最优问题中,拉格朗日乘数法(以数学家约瑟夫·路易斯·拉格朗日命名)是一种寻找变量受一个或多个条件所限制的多元函数的极值的方法。这种方法将一个有n 个变量与k 个约束条件的最优化问题转换为一个有n + k个变量的方程组的极值问题,其变量不受任何约束。本文介绍拉格朗日乘数法(Lagrange multiplier)。 概述 我们擅长解决的是无约束极值求解问题,这类问题仅需对所有变量求偏导,使得所有偏导数为0,即可找到所有极值点和鞍点。我们解决带约束条件的问题时便会尝试将其转化为无约束优化问题
为为为什么
2022/08/05
1.1K0
拉格朗日乘数法
【专题】公共数学_多元函数极值专题
解决该类问题的思路也很简单,直接沿用我们在 一元函数 中的手段:通过 驻点 找 极值点
一只野生彩色铅笔
2022/09/20
1.7K0
拉格朗日乘子法和KKT条件
求解最优化问题中,拉格朗日乘子法和KKT条件是两种最常用的方法。在有等式约束时使用拉格朗日乘子法,在有不等式约束时使用KKT条件。这个最优化问题指某一函数在作用域上的全局最小值(最小值与最大值可以相互转换)。
狼啸风云
2019/11/05
1.9K0
拉格朗日对偶问题
在前文了解过拉格朗日乘数法后,进一步介绍拉格朗日对偶。 背景信息 在约束最优化问题中,常常利用拉格朗日对偶性(Lagrange duality)将原始问题转换为对偶问题,通过解对偶问题而得到原始问题的解。 拉格朗日对偶是在拉格朗日乘数法基础之上,通过变换原始问题的求解形式得到的相对于原始优化问题的另一个优化问题 原始优化问题 假设f(x), c_i(x), h_j(x) 是定义在\mathbf{R}^{n}上的连续可微函数,考虑约束最优化问题: image.png 定义此问题为原始优化问
为为为什么
2022/08/05
9320
拉格朗日对偶问题
深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件「建议收藏」
在求解最优化问题中,拉格朗日乘子法(Lagrange Multiplier)和KKT(Karush Kuhn Tucker)条件是两种最常用的方法。在有等式约束时使用拉格朗日乘子法,在有不等约束时使用KKT条件。
全栈程序员站长
2022/11/10
4K0
深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件「建议收藏」
考研(大学)数学 ​多元函数微分学(3)
步骤(1).函数的定义域 (2).函数的驻点 (3)判别法,(高阶导数)类似于韦达定理。
用户9628320
2022/11/23
4870
【运筹学】前言:基础知识
线性代数是通过一系列的手段去”折腾“方程组,提取其系统信息; 而运筹学要解决一般视角下的最优化问题,寻求最好的解决办法,也就是寻找一般函数的最大最小值问题。 关于寻求最优解我们要记住两步: 第一步我们要数学建模,第二步求解这个数学模型
大耳朵土土垚
2024/05/24
1180
机器学习_最优化
是关于Θ的一个函数,我们当前所处的位置为Θ0点,要从这个点走到J的最小值点\nabla 是梯度,\alpha是学习率或者步长
AomanHao
2022/01/13
7250
用matlab求二元函数的极限_matlab求极大值
步骤4. 对于每一个驻点,计算判别式,如果,则该驻点是极值点,当为极小值, 为极大值;如果,需进一步判断此驻点是否为极值点; 如果则该驻点不是极值点.
全栈程序员站长
2022/10/04
1.6K0
【通俗理解】凸优化
注:以下内容参考了Shu-Cherng Fang教授2009年在清华的夏季学期课程《Global Optimization with Applications》讲义。 今天介绍一点凸优化方面的知识~内容可能有点无聊,看懂了这篇文章,会对求极值和收敛有进一步理解,比如: 了解为什么向量机(SVM)等的推导中,求极值时可以把约束条件加在目标函数后面来变成一个无约束的优化问题。 理解EM算法(聚类,GMM等)为什么收敛。 之前文章有介绍过,一个算法有效至少要满足两个条件:1)极值存在,2)收敛。极值不存在说
用户1594945
2018/07/20
1.6K0
机器学习(9)——SVM数学基础
支持向量机涉及到数学公式和定力非常多,只有掌握了这些数学公式才能更好地理解支持向量机算法。 最优化问题 最优化问题一般是指对于某一个函数而言,求解在其指定作用域上的全局最小值问题,一般分为以下三种情况(备注:以下几种方式求出来的解都有可能是局部极小值,只有当函数是凸函数的时候,才可以得到全局最小值) (1)无约束问题:求解方式一般求解方式梯度下降法、牛顿法、坐标轴下降法等;其中梯度下降法是用递归来逼近最小偏差的模型。我们在前面介绍过; (2)等式约束条件:求解方式一般为拉格朗日乘子法 (3)不等式约束条件:
DC童生
2018/04/27
8990
机器学习(9)——SVM数学基础
拉格朗日乘数法的原理,我用10幅图把它讲清楚
关于最优化问题,大都令人比较头疼,首先大多教材讲解通篇都是公式,各种符号表达,各种梯度,叫人看的云里雾里。
double
2019/12/27
4.4K0
拉格朗日乘数法的原理,我用10幅图把它讲清楚
文本分类学习 (九)SVM入门之拉格朗日和KKT条件
来代替||w||,我们去求解 ||w||2 的最小值。然后在这里我们还忽略了一个条件,那就是约束条件,在上一篇的公式(8)中的不等式就是n维空间中数据点的约束条件。只有在满足这个条件下,求解||w||2的最小值才是有意义的。思考一下,若没有约束条件,那么||w||2的最小值就是0,反应在图中就是H1和H2的距离无限大那么所有点都会在二者之间,都属于同一类,而无法分开了。
ShenduCC
2018/08/01
3120
文本分类学习 (九)SVM入门之拉格朗日和KKT条件
SVM中拉格朗日乘子法和KKT条件(醍醐灌顶)
前言:在svm模型中,要用到拉格朗日乘子法,对偶条件和KKT条件,偶然看到相关的专业解释,忍不住想总结收藏起来,很透彻,醍醐灌顶。
用户5745385
2019/07/04
2.9K0
SVM中拉格朗日乘子法和KKT条件(醍醐灌顶)
机器学习中的最优化算法(全面总结)
对于几乎所有机器学习算法,无论是有监督学习、无监督学习,还是强化学习,最后一般都归结为求解最优化问题。因此,最优化方法在机器学习算法的推导与实现中占据中心地位。在这篇文章中,小编将对机器学习中所使用的优化算法做一个全面的总结,并理清它们直接的脉络关系,帮你从全局的高度来理解这一部分知识。
算法进阶
2023/08/28
7700
机器学习中的最优化算法(全面总结)
【分类战车SVM】第四话:拉格朗日对偶问题(原来这么简单,你也可以轻松学会)
分类战车SVM (第四话:拉格朗日对偶问题) 查看本《分类战车SVM》系列的内容: 第一话:开题话 第二话:线性分类 第三话:最大间隔分类器 第四话:拉格朗日对偶问题(原来这么简单!) 第五话:核函数(哦,这太神奇了!) 第六话:SMO算法(像Smoke一样简单!) 附录:用Python做SVM模型 ---- 先看下本文的大纲: 1.回顾 2.不等式的拉格朗日乘数法 3.拉格朗日对偶问题 4.总结 附录:大自然的对偶现象 本文的内容其实很简单,就在“4.总
数说君
2018/03/28
1.7K0
【分类战车SVM】第四话:拉格朗日对偶问题(原来这么简单,你也可以轻松学会)
竞赛好题暑假练习10
【分析】:根据题意,要想证明不等式,必须从被积函数的极值入手,而题目限制的条件刚好就是有条件极值和无条件极值的问题,所以利用拉格朗日函数乘数法以及极值问题方法即可以求解。
用户9628320
2022/11/23
2850
Wolfram|Alpha自然语言帮你做计算系列(04)四:函数单调性判定、极值点、拐点、驻点、鞍点、极值与最值的计算
本文将以具体实例形式,介绍线上判定一元函数的单调性,计算单调性区间的分界点、极值点与拐点,一元函数的极值与最值;判定多元函数的极值点、鞍点以及无条件极值、条件极值与最值的计算
WolframChina
2020/07/03
3.7K0
Wolfram|Alpha自然语言帮你做计算系列(04)四:函数单调性判定、极值点、拐点、驻点、鞍点、极值与最值的计算
推荐阅读
相关推荐
拉格朗日乘数法_拉格朗日乘数法是求边界点吗
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档