【小白数学】为什么可以用拉格朗日乘子法求函数的极值【二】

我们在上一篇【小白数学】- 为什么可以用拉格朗日乘子法求函数的极值【一】已经介绍了一种较为“严谨“的方法来说明为什么拉格朗日乘子法可以帮助我们求具有等式约束条件下的函数的极值。虽然在我们的例子中”等式约束“中只有一个等式。但其实很容易推广到多个等式约束的情况。所以这里也就不再赘述。本文主要兑现上一篇博客中提到第二种方法去理解:为什么可以用拉格朗日乘子法求函数的极值。

正式介绍之前,我们先回顾一些基础概念:一元函数和多元的函数的导数;

首先来看一个一元函数 y = x 2 y=x^2 y=x2,该函数上任意一点 x x x的导数的导数 y ′ = d y d x = 2 x y'= \frac{dy}{dx} = 2x y=dxdy=2x 。下图中红色的箭头表示图中A点(1,1)位置导数的方向。

在这里插入图片描述
也可以直观的理解曲线 y = x 2 y=x^2 y=x2在A点的切线的方向就是这个点的导数方向。并且随着 x x x的增大 d y d x = 2 x \frac{dy}{dx}=2x dxdy=2x也不断增大,即对于函数 y = x 2 y=x^2 y=x2 x x x的值越大,其所在点 ( x , y ) (x,y) (x,y)的导数就越大,或者说经过 ( x , y ) (x,y) (x,y)的切线的斜率就越大。

看完了一元函数的导数,我们来看一下二元函数的导数,假设我们有一个二元函数 y = − ( x 1 − a ) 2 − ( x 2 − b ) 2 + c y= -(x_1-a)^2 - (x_2-b)^2 + c y=(x1a)2(x2b)2+c,其中 x 1 , x 2 x_1,x_2 x1,x2为变量,而 a , b , c a,b,c a,b,c为常量,为 y y y取得最大值时候的 x 1 , x 2 x_1, x_2 x1,x2以及 y y y本身的值。

在这里插入图片描述
如果使用更数学的语言来表达就是:
y max ⁡ = max ⁡ ( − ( x 1 − a ) 2 − ( x 2 − b ) 2 + c ) = c a , b = arg ⁡ max ⁡ x 1 , x 2 [ − ( x 1 − a ) 2 − ( x 2 − b ) 2 + c ] \begin{align*} y_{\max} &= \max(-(x_1-a)^2 - (x_2 -b)^2 + c) = c \\ a,b &= \arg \underset{x_1,x_2}{\max} \left [ -(x_1-a)^2 - (x_2-b)^2 + c \right] \end{align*} ymaxa,b=max((x1a)2(x2b)2+c)=c=argx1,x2max[(x1a)2(x2b)2+c]
在看多元函数的导数之前,我们先看一下图中紫色的那一圈圈的线是什么?没错,那是”等高线“。我们专门构造的这个二元函数,实际上是一座”小山“, 山顶的坐标是 ( a , b , c ) (a,b,c) (a,b,c)。在同样的高度( y y y值相同)的山腰上的点,如果练成线,其实就变成了函数 y y y的等高线。

接下来我们再来看多元函数的导数(也称为梯度),是怎么样的:单个变量的导数叫”导数“,一组变量的导数叫”梯度“ (这组变量本身是函数 y y y上的一个点)。在上图中的二元函数中,我们有两个变量 x 1 , x 2 x_1,x_2 x1,x2,那么他们的各自的导数可以表示为 d y d x 1 , d y d x 2 \frac{dy}{dx_1}, \frac{dy}{dx_2} dx1dy,dx2dy,由于 y y y是由 x 1 , x 2 x_1,x_2 x1,x2共同作用生成的,所以我们又用偏导数的形式也表示他们各自的导数 ∂ y ∂ x i \frac{\partial y}{ \partial x_i} xiy ( i = 1 , 2 i=1,2 i=1,2),两者是等价的。所我们定义的这个二元函数的梯度可以表示为: ∇ y = [ ∂ y ∂ x 1 ∂ y ∂ x 2 ] \nabla y = \begin{bmatrix*} \frac{\partial y}{\partial x_1} \\ \frac{\partial y}{\partial x_2} \end{bmatrix*} y=[x1yx2y],显然 ∇ y \nabla y y是一个向量。这个向量指向 y y y变化最剧烈的方向。

那么问题来了:我们先定义了”等高线“,然后又定义了”梯度“,这两者是什么关系?

答:”梯度“垂直于”等高线“,直观理解也很容易:连续等高线上的点具有相同的 y y y值;我们站在这个山坡的等高线上,肯定是朝着与等高线垂直的方向前进, y y y值的变化率最大。

在这里插入图片描述

如上图所示,所有的绿色小箭头都垂直于等高线,其实就是等高线上该点的梯度值。注意到图中有一个点A,经过该点的除了有绿色的箭头还有灰色的箭头,很显然可以看得出来,只有绿色的箭头方向是 y y y值变化最快的方向(也是上山最快的方向),而其他的灰色箭头的方向要么是”下山“,要么是”在周围随意闲逛“的方向。

理解梯度与等高线的关系对于我们接下来介绍的内容非常重要,所以没有看懂的同学建议再仔细看一下图。

说了一大圈,还没有说到拉格朗日乘子问题,下面我们来定义一个可以用拉格朗日乘子法求解的约束条件下的最值问题如下:

假设有函数 f ( x 1 , x 2 ) = − ( x 1 − a ) 2 − ( x 2 − b ) 2 + 4 f(x_1,x_2) = -(x_1-a)^2 - (x_2 - b)^2 + 4 f(x1,x2)=(x1a)2(x2b)2+4,我们要求如下的最优化问题:
max ⁡ f ( x 1 , x 2 ) s . t . a x 2 − d x 1 − d = 0 a , b , c , d 均为大于 0 的常数 ( 1 ) \begin{align*} & \max f(x_1,x_2) \\ &s.t. \: a x_2 - d x_1 - d = 0 \\ &a,b,c,d\:均为大于0的常数 \end{align*} \qquad (1) maxf(x1,x2)s.t.ax2dx1d=0a,b,c,d均为大于0的常数(1)
在这个最优化问题中,我们发现其本质是求 f ( x 1 , x 2 ) f(x_1, x_2) f(x1,x2)与平面 a x 2 − d x 1 − d = 0 ax_2 - dx_1 -d = 0 ax2dx1d=0的交线(如下图中棕红色的虚线所示)上的最大值。
在这里插入图片描述

我们按照之前找梯度的方法,分别为 f ( x 1 , x 2 ) f(x_1, x_2) f(x1,x2), 约束平面以及两者的交线 L ( x 1 , x 2 ) L(x_1,x_2) L(x1,x2)画出梯度:具体方法为先找等高线,在沿着等高线垂直的方向画梯度的方向。(不过大套路有时候也不好使,比如说垂直平面(与 y y y轴平行)上的点的梯度是什么?建议大家可以阅读这篇介绍梯度定义的文章:梯度的含义)。对于垂直平面上的梯度,其实在我们的场景下,还是只涉及 x 1 , x 2 x_1, x_2 x1,x2两个维度,假设约束条件重新表示为 g ( x 1 , x 2 ) = a x 2 − d x 1 − d g(x_1,x_2)= ax_2 - dx_1 - d g(x1,x2)=ax2dx1d,则平面上每一点的梯度为 [ ∂ g ∂ x 1 , ∂ g ∂ x 2 ] ⊤ [\frac{\partial g}{\partial x_1}, \frac{\partial g}{\partial x_2}]^\top [x1g,x2g],即 [ − d , a ] ⊤ [-d, a]^\top [d,a] (图中黄色箭头所指方向)。

我们注意观察棕色的交线上每一个点,图中我们分别为其标识了 f ( ⋅ ) , g ( ⋅ ) , L ( ⋅ ) f(\cdot), g(\cdot), L(\cdot) f(),g(),L() 三者的梯度(分别使用紫色、黄色以及绿色),我们注意到由于 g ( ⋅ ) g(\cdot) g()是垂直平面,而 f ( ⋅ ) f(\cdot) f()是一个对称的圆形”山坡“,所以直观理解上,我们要找的极值应该在交线的最高位置。如图中的 M M M点,由于在这个点上 L ( ⋅ ) L(\cdot) L()取得了极大值,所以必然有 ∇ L = 0 \nabla L = 0 L=0, 而且在图中,可以看出来 ∇ f \nabla f f ∇ g \nabla g g存在明显的线性关系(方向相反),即 ∇ f + λ ∇ g = 0 \nabla f + \lambda \nabla g = 0 f+λg=0. 所以从这个角度上理解,也确实是证明了拉格朗日乘子法为什么能够运用帮助我们找到约束条件下的函数极值。

欢迎大家点赞、关注、收藏,你的鼓励是我最大的创作动力!

参考文献:https://medium.com/@andrew.chamberlain/a-simple-explanation-of-why-lagrange-multipliers-works-253e2cdcbf74

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/72021.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA面试_进阶部分_netty面试题

1.BIO、NIO 和 AIO 的区别? BIO:一个连接一个线程,客户端有连接请求时服务器端就需要启动一个线程进行处理。线程开销大。 伪异步 IO:将请求连接放入线程池,一对多,但线程还是很宝贵的资源。 NIO&#x…

考研出分24小时,人类精神状态图鉴

2月24日,上午10点起,各省考研初试成绩陆续公布,考生们或紧张的输入准考证号,或抱团等待“审判”。然而更魔幻的还在后头——下午4点,教育部竟在同一天直接发布了《2025年研考国家分数线》。 不少网友表示:…

川翔云电脑优势总结

在数字化时代,川翔云电脑依托云计算技术,为用户解决硬件性能瓶颈问题。川翔云电脑使用云渲码:【2355】 卓越硬件配置:配备 RTX 3090、48G 显存的 RTX 4090plus,支持 1 - 8 卡机配置,多卡并行计算能力强&am…

DeepSeek开源周Day4:三连发!突破 AI 训练瓶颈的立体解决方案,并行计算三剑客DualPipe、EPLB与Profile-data

项目地址: https://github.com/deepseek-ai/DualPipehttps://github.com/deepseek-ai/eplbhttps://github.com/deepseek-ai/profile-data 开源日历:2025-02-24起 每日9AM(北京时间)更新,持续五天 (4/5)! ​ ​ 一、背景概述 …

基于W2605C语音识别合成芯片的智能语音交互闹钟方案-AI对话享受智能生活

随着科技的飞速发展,智能家居产品正逐步渗透到我们的日常生活中,其中智能闹钟作为时间管理的得力助手,也在不断进化。基于W2605C语音识别与语音合成芯片的智能语音交互闹钟,凭借其强大的联网能力、自动校时功能、实时天气获取、以…

Vite与Turbopack现代构建工具架构解析:秒级构建的性能奥秘

引言:传统构建工具的效能瓶颈 Shopify将前端仓库迁移至Vite后,HMR更新时间从Webpack的4.2秒缩短至48毫秒。Turbopack在Vercel生产环境测试中,增量构建速度较Webpack快700%。ChromeOS团队采用Vite后,生产构建从Webpack的17分钟优化…

网络基础知识-2

N个节点完全互联的网型网即N个节点的无向完全图,无向完全图的边数计算如下:每个节点都要指向其他N-1个节点,但是因为无向两个节点之间的边会重复,因此有N(N-1)/2条边HDLC(高级数据链路控制协议)是一种面向比…

视频级虚拟试衣技术在淘宝的产品化实践

作为一种新的商品表现形态,内容几乎存在于手淘用户动线全流程,例如信息流种草内容、搜索消费决策内容、详情页种草内容等。通过低成本、高时效的AIGC内容生成能力,能够从供给端缓解内容生产成本高的问题,通过源源不断的低成本供给…

蓝桥备赛(三)- 条件判断与循环(下)

一、for循环 1.1 for 循环语法形式 for 循环是三种循环中使用最多的 , for 循环的语法形式如下: 1.2 执行流程 for 循环中 , 表达式1(初始化)只执行一次 ! 1.3 实践 练习:使用 for 循环在屏幕…

VMware Fusion 虚拟机Mac版 安装CentOS 7 系统

介绍 CentOS是Community Enterprise Operating System的缩写,也叫做社区企业操作系统。是企业Linux发行版领头羊Red Hat Enterprise Linux的再编译版本(是一个再发行版本),而且在RHEL的基础上修正了不少已知的 Bug ,相…

如果更换ip地址会怎么样?网络ip地址怎么更换

IP地址,作为网络设备的数字身份证,其稳定性和安全性对于网络通讯至关重要。然而,在某些特定情况下,我们可能需要更换设备的IP地址,以满足安全、隐私或网络管理的需求。那么,如果更换IP地址会怎么样&#xf…

网络通信/IP网络划分/子网掩码的概念和使用

文章目录 概述子网的考题子网掩码的历史有/无类地址子网划分!子网掩码超网技术/CIDR子网掩码和路由IP子网掩码定义 网络规划网络规划-拆子网网络规划-组超网子网划分案例 区分于其他特殊IP地址IP地址和网络地址子网掩码和网络地址子网掩码和广播地址 子网间的通信其他 概述 本…

评估自动驾驶(AD)策略性能的关键指标

以下是针对自动驾驶(AD)策略性能评测指标的详细解读,结合其物理意义与工程价值: 核心评测指标分类与含义 1. 安全性指标(Safety) 动态碰撞率(Dynamic Collision Ratio, DCR) 定义&a…

C++11相较于C++98的新特性介绍:列表初始化,右值引用与移动语义

一,列表初始化 1.1C98中传统的{} C98中一般数组和结构体可以使用{}进行初始化: struct Date {int _year;int _month;int _day; };int main() {int a[] { 1,2,3,4,5 };Date _date { 2025,2,27 };return 0; } 1.2C11中的{} C11以后想统一初始化方式&…

序列化是什么?常见的序列化方式有哪些?什么时候我们会用到序列化?

序列化(Serialization)是指将对象的状态信息转换为可以存储或传输的形式(如字节序列、XML 文档、JSON 字符串等)的过程。反序列化则是序列化的逆过程,它将存储或接收到的字节序列、XML 文档、JSON 字符串等转换回对象的…

Python解决“比赛配对”问题

Python解决“比赛配对”问题 问题描述测试样例解决思路代码 问题描述 小R正在组织一个比赛,比赛中有 n 支队伍参赛。比赛遵循以下独特的赛制: 如果当前队伍数为 偶数,那么每支队伍都会与另一支队伍配对。总共进行 n / 2 场比赛,…

uniapp中使用leaferui使用Canvas绘制复杂异形表格的实现方法

需求: 如下图,要实现左图的样式,先实现框架,文字到时候 往里填就行了,原来的解决方案是想用css,html来实现,发现实现起来蛮麻烦的。我也没找到合适的实现方法,最后换使用canvas来实现&#xff…

大模型与呼叫中心融合:未来发展的潜力何在?

大模型与呼叫中心的结合,为企业带来了前所未有的发展机遇。通过提升服务效率、优化营销效果、降低运营成本、增强数据管理与分析能力、提升客户体验以及推动行业创新与变革,大模型呼叫中心正在重塑客户服务与营销的未来。 大模型与呼叫中心的结合具有巨…

vue3+ts+uniapp+unibest 微信小程序(第二篇)—— 图文详解自定义背景图页面布局、普通页面布局、分页表单页面布局

文章目录 简介一、自定义背景图布局1.1 效果预览1.2 实现思路1.3 custom-page 组件全量代码1.4 页面使用 二、普通页面布局2.1 效果预览2.2 实现思路2.3 公共样式部分2.4 页面使用 三、分页表单页面布局3.1 效果预览3.2 实现思路3.3 页面代码 简介 开发工具:VsCode…

华为交换机堆叠方法

堆叠配置: 先把接口shutdown 第一台: int stack-port 0/1 port interface XGigabitEthernet0/0/3 enable y qu int stack-port 0/2 port interface XGigabitEthernet0/0/4 enable y qu stack slot 0 priority 200 y 第二台: int stack…