变分法 (Calculus of Variations)

article/2025/10/7 21:37:05

Contents

  • 泛函 (functional)
  • Calculus of Variations
  • References

泛函 (functional)

  • 泛函 F [ y ] F[y] F[y] 是函数的函数,即它的输入是函数 y ( x ) y(x) y(x),输出是实数 F F F。这个输出值取决于一个或多个函数 (输入) 在一整个路径上的积分而非像一般函数一样取决于离散的变量。比如计算两点间的距离,输入是连接两点的曲线,输出是曲线长度。在 ML 的场景下,一个最常见的泛函就是 H [ x ] H[x] H[x],熵的输入为随机变量 x x x 的概率分布 p ( x ) p(x) p(x),输出为实数,因此也可被写作 H [ p ] H[p] H[p]

Calculus of Variations

  • 变分法就是找到一个函数 y ( x ) y(x) y(x) 使得 F [ y ] F[y] F[y] 最大/最小。例如找到两点间的最短路径为直线,使得微分熵最大的概率分布是正态分布

欧拉-拉格朗日方程

  • (1) 对于函数 y ( x ) y(x) y(x),添加一个微小扰动 ϵ → 0 \epsilon\rightarrow0 ϵ0 后用泰勒展开可得下式 (多项式的一阶导与原函数相同)
    在这里插入图片描述对于多变量函数 y ( x 1 , . . . , x D ) y(x_1,...,x_D) y(x1,...,xD),泰勒展开式如下 (多项式的一阶偏导与原函数相同)
    在这里插入图片描述类似地,我们可以给泛函添加一个微小扰动 ϵ η ( x ) \epsilon\eta(x) ϵη(x)。通常在变分法中,泛函是一个积分,即
    F [ y ] = ∫ G d x F[y]=\int Gdx F[y]=Gdx因此给泛函添加一个微小扰动就相当于给积分路径上的无数个变量都添加了扰动,将多变量函数的泰勒展开进行推广可以得到泛函的泰勒展开式
    在这里插入图片描述其中, δ F / δ y ( x ) \delta F/\delta y(x) δF/δy(x) 为泛函 F [ y ] F[y] F[y] y ( x ) y(x) y(x) 的导数
  • (2) G G G 可以是函数 y ( x ) y(x) y(x) y ( x ) y(x) y(x) 各阶导数的函数 (由于 y ( x ) y(x) y(x) x x x 的函数,因此 G G G 也是 x x x 的函数)。为了说明方便,我们先姑且设 G G G y ( x ) y(x) y(x) y ′ ( x ) y'(x) y(x) 的函数,所以我们可以将泛函写成:
    在这里插入图片描述 F [ y ] F[y] F[y] 一个扰动并用泰勒公式展开可以得到
    F [ y ( x ) + ϵ η ( x ) ] = ∫ G ( y + ϵ η , y ′ + ϵ η ′ , x ) d x = ∫ [ G ( y , y ′ , x ) + ϵ ∂ G ∂ y η + ϵ ∂ G ∂ y ′ η ′ + O ( ϵ 2 ) ] d x = F [ y ( x ) ] + ϵ ∫ [ ∂ G ∂ y η ( x ) + ∂ G ∂ y ′ η ′ ( x ) ] d x + O ( ϵ 2 ) \begin{aligned} F[y(x)+\epsilon\eta(x)] &=\int G(y+\epsilon\eta,y'+\epsilon\eta',x)dx \\&=\int \left[G(y,y',x)+\epsilon\frac{\partial G}{\partial y}\eta+\epsilon\frac{\partial G}{\partial y'}\eta'+O(\epsilon^2)\right]dx \\&=F[y(x)]+\epsilon\int \left[\frac{\partial G}{\partial y}\eta(x)+\frac{\partial G}{\partial y'}\eta'(x)\right]dx+O(\epsilon^2) \end{aligned} F[y(x)+ϵη(x)]=G(y+ϵη,y+ϵη,x)dx=[G(y,y,x)+ϵyGη+ϵyGη+O(ϵ2)]dx=F[y(x)]+ϵ[yGη(x)+yGη(x)]dx+O(ϵ2)将第 2 项分部积分可以得到
    ∫ [ ∂ G ∂ y ′ η ′ ( x ) ] d x = ∫ ∂ G ∂ y ′ d η ( x ) = η ( x ) ∂ G ∂ y ′ ∣ x − ∫ η ( x ) d ∂ G ∂ y ′ = − ∫ d d x ( ∂ G ∂ y ′ ) η ( x ) d x \begin{aligned} \int \left[\frac{\partial G}{\partial y'}\eta'(x)\right]dx &=\int \frac{\partial G}{\partial y'}d\eta(x) \\&=\left.\eta(x)\frac{\partial G}{\partial y'}\right|_x-\int\eta(x)d \frac{\partial G}{\partial y'} \\&=-\int\frac{d}{dx}\left(\frac{\partial G}{\partial y'}\right)\eta(x)d x \end{aligned} [yGη(x)]dx=yGdη(x)=η(x)yG xη(x)dyG=dxd(yG)η(x)dx其中最后一个等式是因为 y ( x ) y(x) y(x) 的值在积分边界上是固定的,例如求两点间距离时,曲线在两个端点处的取值必须相同,因此扰动 η ( x ) \eta(x) η(x) 在积分边界上值为 0, F [ y ( x ) + ϵ η ( x ) ] F[y(x)+\epsilon\eta(x)] F[y(x)+ϵη(x)] 可写作下式:
    在这里插入图片描述
  • (3) 对比 (1) (2) 中推得的式子可知
    δ F δ y ( x ) = ∂ G ∂ y − d d x ( ∂ G ∂ y ′ ) \frac{\delta F}{\delta y(x)}=\frac{\partial G}{\partial y}-\frac{d}{dx}\left(\frac{\partial G}{\partial y'}\right) δy(x)δF=yGdxd(yG) y ( x ) y(x) y(x) 使得泛函 F [ y ] F[y] F[y] 取极值时,对所有 x x x 必有 δ F δ y ( x ) = 0 \frac{\delta F}{\delta y(x)}=0 δy(x)δF=0,这是因为假如存在 x ^ \hat x x^ 使得 δ F δ y ( x ^ ) ≠ 0 \frac{\delta F}{\delta y(\hat x)}\neq0 δy(x^)δF=0,那么就可以取一函数 η ( x ) \eta(x) η(x) 使得 ϵ η ( x ^ ) δ F δ y ( x ^ ) > 0 \epsilon\eta(\hat x)\frac{\delta F}{\delta y(\hat x)}>0 ϵη(x^)δy(x^)δF>0 且当 x ≠ x ^ x\neq\hat x x=x^ 时有 η ( x ) = 0 \eta(x)=0 η(x)=0。因此,可以推得下式,即欧拉-拉格朗日方程
    ∂ G ∂ y − d d x ( ∂ G ∂ y ′ ) = 0 \frac{\partial G}{\partial y}-\frac{d}{dx}\left(\frac{\partial G}{\partial y'}\right)=0 yGdxd(yG)=0例如,对于
    在这里插入图片描述欧拉-拉格朗日方程为
    在这里插入图片描述另外,如果 G G G 只与 y y y 有关,则欧拉-拉格朗日方程为 ∂ G ∂ y ( x ) = 0 \frac{\partial G}{\partial y(x)}=0 y(x)G=0 (对任意 x x x 成立)

变分法示例:求两个固定点之间的最短路径

在这里插入图片描述

  • 如上图所示路径是一任意路径,我们取区中一小段微元 d s ds ds,可以容易计算微元段的长度为:
    d s ≈ ( d x ) 2 + ( d y ) 2 = 1 + y ′ 2 d x ds\approx\sqrt{(dx)^2+(dy)^2}=\sqrt{1+y'^2}dx ds(dx)2+(dy)2 =1+y′2 dx积分得到总的路径长度为:
    F [ y ] = ∫ x 1 x 2 d s = ∫ x 1 x 2 1 + y ′ 2 d x F[y]=\int_{x_1}^{x_2}ds=\int_{x_1}^{x_2}\sqrt{1+y'^2}dx F[y]=x1x2ds=x1x21+y′2 dx上述路径长度即为 y y y泛函,其中 G = 1 + y ′ 2 G=\sqrt{1+y'^2} G=1+y′2 ,因此有
    ∂ G ∂ y = 0 d d x ( ∂ G ∂ y ′ ) = d d x ( y ′ 1 + y ′ 2 ) = 1 + y ′ 2 y ′ ′ − y ′ y ′ 1 + y ′ 2 y ′ ′ 1 + y ′ 2 = y ′ ′ ( 1 + y ′ 2 ) 3 2 \frac{\partial G}{\partial y}=0\\ \frac{d}{dx}\left(\frac{\partial G}{\partial y'}\right)=\frac{d}{dx}\left(\frac{y'}{\sqrt{1+y'^2}}\right)=\frac{\sqrt{1+y'^2}y''-y'\frac{y'}{\sqrt{1+y'^2}}y''}{{1+y'^2}}=\frac{y''}{{(1+y'^2)^{\frac{3}{2}}}} yG=0dxd(yG)=dxd(1+y′2 y)=1+y′21+y′2 y′′y1+y′2 yy′′=(1+y′2)23y′′代入欧拉-拉格朗日方程可得
    y ′ ′ = 0 y''=0 y′′=0这个常微分方程很容易得到 y y y 的通解为 y = c 1 x + c 2 y=c_1x+c_2 y=c1x+c2. 这也确实说明了使得同一平面上两点之间距离最小的途径是一条线段

References

  • Bishop, Christopher M., and Nasser M. Nasrabadi. Pattern recognition and machine learning. Vol. 4. No. 4. New York: springer, 2006.
  • 【PRML】【模式识别和机器学习】【从零开始的公式推导】变分法
  • 变分法简介 Part 1.(Calculus of Variations)
  • 【变分计算1】欧拉-拉格朗日方程

http://chatgpt.dhexx.cn/article/uOUatKTo.shtml

相关文章

变分法原理

原文链接: 浅谈变分法原理 首发于 烤羚羊的理科教室 写文章 浅谈变分原理 烤羚羊 吃老本的物理教师、民科老咸鱼 784 人 赞同了该文章 对付数学物理中极值问题,变分大法(variational principle)可谓是杀人放火居家旅行的必备工具。…

Linux运维工程师岗位前景及学习路线

Linux运维工程师岗位前景及学习路线 1.1 什么是Linux? 大家日常使用电脑听歌、打游戏娱乐或处理日常工作时,接触到最多的就是Windows操作系统,电脑如果不安装Windows系统是无法进行娱乐和工作的,所有的软件程序都必须运行在操作…

猿创征文 | Linux运维工程师的10个日常使用工具分享

猿创征文 | Linux运维工程师的10个日常使用工具分享 一、本次分享工具导航二、Adminer数据库管理工具1.Adminer介绍2.Adminer的特点3.Adminer的使用4.Adminer的使用感受 三、Memos碎片化知识管理工具1.Memos简介2.Memos的使用3.Memos的使用感受 四、Linux服务器集群管理工具——…

Linux运维

目录 第一章、Linux概述 一、Linux的概念 二、Linux的特点 三、Linux VS Windows ​四、Linux的发展优势与存在问题-------不足 五、Linux常用发行版 六、CentOS简介 七、VMWare虚拟机简介 第二章、Linux初示 一、虚拟控制台 二 、Linux启动 (1&#xf…

linux运维工程师到底是做什么的?

linux运维工程师到底是做什么的? 如果你想要进入运维管理领域这一行,首先你应该了解linux运维工程师是干什么的。他主要是对Linux下各种网络服务、应用系统、监控系统等进行自动化脚本开发的工作,并根据项目对系统进行性能优化。 linux运维工程师可以做…

Linux运维工程师必看:如何成为一个合格的运维工程师

如果想成为一名合格的运维工程师,首先我们需要了解运维主要是做什么的?如何成为一个合格的运维工程师? 1、 运维工程师主要是做什么? 运维,很容易从字面理解为运营、维护。 大部分人认为,在互联网公司中运维…

我是一名Linux系统运维工程师

我是一个IT从业者,接触Linux也有几个年头了,慢慢的成为了一名Linux运维工程师,经过这几年的努力,我觉得我应该写点东西记录一下这几年的心血,从一个小白到一名Linux运维工程师,我所经历的不是你所能想象出来…

Linux运维工程师是做什么的?运维发展前景到底怎么样?

Linux运维工程师到底是做什么的? 如果你想要进入运维管理领域这一行,首先你应该了解linux运维工程师是干什么的。他主要是对Linux下各种网络服务、应用系统、监控系统等进行自动化脚本开发的工作,并根据项目对系统进行性能优化。 Linux运维工程师可以做…

linux 运维工程师的前景怎么样?

linux运维工程师的前景怎么样? 一、我无意在这里对比其它方向哪个更有前景一点,就说说Linux运维,可以做些什么,有哪些方向。 1,运维,基本要掌握的有,操作系统,计算机原理&#xff…

MES工程师新手,该怎么学习?学习哪些技术?

一、明确两个学习大方向 1.学习生产流程,MES各功能模块的业务逻辑。 2.学习开发技术。 二、无从下手学习MES的主要原因 2.1、相对封闭的工业软件 就像前面提到了,关于MES,对于一般人而言,互联网已经不能给你提供各家MES的比较体…

电子类专业技术个人学习路线总结(大一到大三)

文章目录 说明一、硬件和pcb部分1. Altium Designer2.嘉立创EDA3.Cadence Allegro4.电路设计 二、单片机和FPGA部分1. arduino 系列单片机2. 51系列单片机3. stm32系列单片机4. msp系列单片机5.ESP系列单片机6.FPGA 三、嵌入式系统和软件部分1.freertos实时操作系统2.linux系统…

学习红客技术必备

互联网时代已悄悄来临,作为新时代的人们,我们日常生活、工作、学习方面都需要借助互联网来完成,这样,又产生一种新的问题,那就是网络安全的问题,有时我们拼命加班好不容易完成的东西,在一夜之间…

UWB分析学习

UWB技术简介 UWB技术是一种使用1GHz以上频率带宽的无线载波通信技术。它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很大,尽管使用无线通信,但其数据传输速率可以达到几百兆比特每秒以上。使用…

【零基础】计算机三级网络技术备考指南

首先我们先要了解,三级获证条件自2018年3月起,考生只需通过三级考试即可获得三级科目的合格证书,不再要求二级证书,2013年3月及以前获得的三级各科目证书,不区分科目,可以作为四级任一科目的获证条件&#…

【计算机网络学习笔记16】网络新技术

【计算机网络学习笔记16】网络新技术 移动互联网技术 特点 终端私密性 业务使用的私密性 终端与网络的局限性 业务与终端、网络的强关联性 关键技术 终端技术 网络服务平台技术 应用服务平台技术 网络安全控制技术 参考模型 物联网技术 定义 物联网是通过各种信息传感设…

区块链技术入门学习指引

为了帮助小伙伴们系统学习区块链技术,我们建了这个索引贴,方便大家找到自己感兴趣的文章,从入门到精通一步步学习区块链开发。你也可以使用左侧的分类、标签及搜索功能。 为了帮助小伙伴们系统学习区块链技术,我们建了这个索引贴…

计算机网络技术人员素质要求,做网络技术员需要学习哪些技能

做网络技术员需要学习哪些技能 引导语:网络技术,是最先进的技术之一,下面是百分网小编为大家推荐的做网络技术员需要学习哪些技能,供大家参考。 做网络技术员需要学习哪些技能 1具备规划、构建局域网,维护管理网络系统…

如何高效学习一门新技术

如何高效学习一门新技术 最近着手学习WCF。举步维艰,故阅读了大量关于学习新技术方法的网页,最终整理如下,一共大家参考。 对于这个较大的话题,我们分两个部分介绍:学习新技术的10个建议 和 学习新技术的具体行动 学习…

Mysql数据备份与恢复——Docker版

Mysql数据备份与恢复——Docker版 ​ 工作上由于需要将旧服务器停用换用新服务器,而旧服务器上存放的mysql数据库,查看磁盘得知大概50G以上,如果采用工具将数据导出成json再到新服务上执行,其过程花费时间太长了,至少…

MySQL数据备份、恢复

文章目录 一.MySQL日志管理1.1日志分类1.2日志配置1.3日志查询 二.MySQL数据备份2.1物理备份2.2逻辑备份 三.常用的备份方法3.1物理冷备3.2工具备份(温备)3.3增量备份与恢复3.3.1开启二进制日志功能3.3.2二进制日志读取3.3.3一般恢复3.3.4节点恢复3.3.5基于时间点恢复 四.总结 …