关于变分法

article/2025/10/7 21:46:32

在介绍变分贝叶斯之前,首先以这篇博客介绍下大名鼎鼎的变分法。 参考资料主要是知乎的文章与维基百科。

变分就是函数的微分

回顾一下传统的函数优化问题。 对于 min ⁡ x f ( x ) \min_x f(x) minxf(x)这样的优化问题,求取最优的 x x x的做法常用一阶条件,即:
∂ f ∂ x ⋆ = 0 \frac{\partial f}{\partial x^\star} =0 xf=0
对应的物理意义是从该点出发的任何变化方向都无法让函数值进一步下降,也即:
f ( x ⋆ ) ≤ f ( x ⋆ + ϵ d x ) f(x^\star) \le f(x^\star + \epsilon dx) f(x)f(x+ϵdx)
因此,这也是最优的 x ⋆ x^\star x的必要条件, 容易通过反证法求证。如果将这个方法称为变量求最优解的微分法, 那变函数求最优解的类似方法就是变分法。 具体而言, 此时变量 x x x成了给定的东西,我们要通过优化函数来最小化函数值, 也即 min ⁡ f g ( f ( x ) ) \min_f g(f(x)) minfg(f(x)) g g g就是以函数为变量的目标函数, 而函数的变化量就是变分。 我们通过一个经典的例子来进行阐释。

在这里插入图片描述

如上图所示, 存在函数 y = f ( x ) y=f(x) y=f(x)。 对应上图 y 1 = f ( x 1 ) y1 = f(x_1) y1=f(x1), y 2 = f ( x 2 ) y_2 = f(x_2) y2=f(x2)。我们的问题是寻找给定的 ( x 1 , y 1 ) (x1, y1) (x1,y1) ( x 2 , y 2 ) (x2, y2) (x2,y2)间的最短距离所对应的 f f f函数。 通过小学知识我们知道,结论是两点之间线段最短。现在我们通过变分法论证这一点, 也即 f f f函数是一个一次线性函数。

首先,我们可以将 ( x 1 , y 1 ) (x1, y1) (x1,y1) ( x 2 , y 2 ) (x2, y2) (x2,y2)间的距离显示地写出,作为我们的目标函数。 具体地, 我们取线上的一小段微元 d s ds ds (参考上图), 根据勾股定理显然有 (注意是 d y 2 dy^2 dy2不是 d 2 y d^2y d2y):
d s 2 = d x 2 + d y 2 = [ 1 + ( y ′ ) 2 ] d x 2 d s^{2}=d x^{2}+d y^{2}=\left[1+\left(y^{\prime}\right)^{2}\right] d x^{2} ds2=dx2+dy2=[1+(y)2]dx2
因此 d s = 1 + ( y ′ ) 2 d x d s=\sqrt{1+\left(y^{\prime}\right)^{2}} d x ds=1+(y)2 dx,总路径长度可写为:

A [ f ] = ∫ x 1 x 2 1 + [ f ′ ( x ) ] 2 d x A[f]=\int_{x_{1}}^{x_{2}} \sqrt{1+\left[f^{\prime}(x)\right]^{2}} d x A[f]=x1x21+[f(x)]2 dx

此时路径长度为函数 f f f的函数。 类似于一阶条件, 假设 f 0 f_0 f0是能达到局部最小的函数,那么有:
A [ f 0 ] ≤ A [ f 0 + ϵ f 1 ] A\left[f_{0}\right] \leq A\left[f_{0}+\epsilon f_{1}\right] A[f0]A[f0+ϵf1]
其中 f 1 f_1 f1是以 x 1 x1 x1 x 2 x2 x2为端点的任意函数, ϵ \epsilon ϵ代表一个极小值。类似地,这就要求对于任意 f 1 f_1 f1,当 ϵ → 0 \epsilon\rightarrow 0 ϵ0时, A [ f 0 + ϵ f 1 ] A\left[f_{0}+\epsilon f_{1}\right] A[f0+ϵf1] ϵ \epsilon ϵ的导数为 0 0 0:(对于给定的 f 1 f_1 f1 A [ f 0 + ϵ f 1 ] A\left[f_{0}+\epsilon f_{1}\right] A[f0+ϵf1] ϵ \epsilon ϵ的函数)

d d ϵ ∫ x 1 x 2 1 + [ f 0 ′ ( x ) + ϵ f 1 ′ ( x ) ] 2 d x ∣ ϵ = 0 = ∫ x 1 x 2 ( f 0 ′ ( x ) + ϵ f 1 ′ ( x ) ) f 1 ′ ( x ) 1 + [ f 0 ′ ( x ) + ϵ f 1 ′ ( x ) ] 2 ∣ ϵ = 0 d x = ∫ x 1 x 2 f 0 ′ ( x ) f 1 ′ ( x ) 1 + [ f 0 ′ ( x ) ] 2 d x = 0 \left.\frac{d}{d \epsilon} \int_{x_{1}}^{x_{2}} \sqrt{1+\left[f_{0}^{\prime}(x)+\epsilon f_{1}^{\prime}(x)\right]^{2}} d x\right|_{\epsilon=0}=\left.\int_{x_{1}}^{x_{2}} \frac{\left(f_{0}^{\prime}(x)+\epsilon f_{1}^{\prime}(x)\right) f_{1}^{\prime}(x)}{\sqrt{1+\left[f_{0}^{\prime}(x)+\epsilon f_{1}^{\prime}(x)\right]^{2}}}\right|_{\epsilon=0} d x=\int_{x_{1}}^{x_{2}} \frac{f_{0}^{\prime}(x) f_{1}^{\prime}(x)}{\sqrt{1+\left[f_{0}^{\prime}(x)\right]^{2}}} d x=0 dϵdx1x21+[f0(x)+ϵf1(x)]2 dxϵ=0=x1x21+[f0(x)+ϵf1(x)]2 (f0(x)+ϵf1(x))f1(x)ϵ=0dx=x1x21+[f0(x)]2 f0(x)f1(x)dx=0

此处可以使用分部积分法: ∫ u d v = u v − ∫ v d u \int udv = uv -\int vdu udv=uvvdu。令 v = f 1 ( x ) v=f_1(x) v=f1(x), u = f 0 ′ ( x ) 1 + [ f 0 ′ ( x ) ] 2 u=\frac{f_{0}^{\prime}(x)}{\sqrt{1+\left[f_{0}^{\prime}(x)\right]^{2}}} u=1+[f0(x)]2 f0(x),得到:
∫ x 1 x 2 f 1 ( x ) d d x [ f 0 ′ ( x ) 1 + [ f 0 ′ ( x ) ] 2 ] d x = 0 \int_{x_{1}}^{x_{2}} f_{1}(x) \frac{d}{d x}\left[\frac{f_{0}^{\prime}(x)}{\sqrt{1+\left[f_{0}^{\prime}(x)\right]^{2}}}\right] d x=0 x1x2f1(x)dxd1+[f0(x)]2 f0(x)dx=0
这里使用了条件 f 1 ( x 1 ) = f 1 ( x 2 ) = 0 f_1(x1)=f_1(x2)=0 f1(x1)=f1(x2)=0。 由于对于任意 f 1 f_1 f1都要有此结论,因此:
d d x [ f 0 ′ ( x ) 1 + [ f 0 ′ ( x ) ] 2 ] = 0 \frac{d}{d x}\left[\frac{f_{0}^{\prime}(x)}{\sqrt{1+\left[f_{0}^{\prime}(x)\right]^{2}}}\right]=0 dxd1+[f0(x)]2 f0(x)=0
化简终可得到:
d 2 f 0 d x 2 = 0 \frac{d^{2} f_{0}}{d x^{2}}=0 dx2d2f0=0
也即, f ( x ) f(x) f(x)为直线。

而对于更普遍的情况, 一般函数的函数都可以写为如下形式:

A [ f ] = ∫ x 1 x 2 L ( x , f , f ′ ) d x A[f]=\int_{x_{1}}^{x_{2}} L\left(x, f, f^{\prime}\right) d x A[f]=x1x2L(x,f,f)dx
即变量为 x x x,函数和函数的一阶导。此时,根据类似的推导,可以得到最优解需要满足条件:

− d d x ∂ L ∂ f ′ + ∂ L ∂ f = 0 -\frac{d}{d x} \frac{\partial L}{\partial f^{\prime}}+\frac{\partial L}{\partial f}=0 dxdfL+fL=0
这也被称为欧拉-拉格朗日方程, 为极值的必要条件。而由此求取极值的方法也即变分法。


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

相关文章

变分法

变分法 弦平衡方程的导出,建立起横向位移u,张力T,外力f之间的关系: 方一、根据受力平衡导出 推导时用的技巧或假设: 1.泰勒展开近似 同理 2. 3.小变形假设,张力均匀,即 4.方程推导中忽略二…

变分法入门介绍

文章目录 变分法入门介绍泛函和变分法变分法求泛函极值变分的定义拉格朗日函数欧拉方程 案例分析--两点之间直线最短在Mathematica中使用变分法参考文献 变分法入门介绍 读完这篇博文你可以了解变分的基本概念,以及使用变分法求解最简泛函的极值。本文没有严密的数…

能量原理和变分法笔记1:变分法简介

上个学期在学校学了多体系统动力学的课,其中老师讲了变分原理,觉得很有启发,决定再学学相关的知识,在B站找到了一个这样的视频能量原理与变分法,做点笔记,加深一下理解。 第0章序言-微元、功和能(P2) 第1章…

机器学习——变分法、拉格朗日乘子

文章目录 一、变分法二、Lagrange 乘子2.1 一般约束的拉格朗日乘子2.2 带不等式约束的拉格朗日乘子2.3 多约束问题 一、变分法 引入 函数 y ( x ) y(x) y(x) 可以看成一种操作符,即对于任意 x x x,返回一个输出 y y y。在这种情况下,我们…

动态优化模型/ 变分法:泛函、极值、变分

目录 1 变分法的基本概念 1.1 泛函 1.2 泛函的极值 1.3 泛函的变分 1.4 极值与变分 1.5. 变分法的基本引理 2 无约束条件的泛函极值 2.1 端点固定的情况 2.2 …

变分法 (Calculus of Variations)

Contents 泛函 (functional)Calculus of VariationsReferences 泛函 (functional) 泛函 F [ y ] F[y] F[y] 是函数的函数,即它的输入是函数 y ( x ) y(x) y(x),输出是实数 F F F。这个输出值取决于一个或多个函数 (输入) 在一整个路径上的积分而非像…

变分法原理

原文链接: 浅谈变分法原理 首发于 烤羚羊的理科教室 写文章 浅谈变分原理 烤羚羊 吃老本的物理教师、民科老咸鱼 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月及以前获得的三级各科目证书,不区分科目,可以作为四级任一科目的获证条件&#…