• 变分法 (Calculus of Variations)


    泛函 (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 )
      F[y(x)+ϵη(x)]=G(y+ϵη,y+ϵη,x)dx=[G(y,y,x)+ϵGyη+ϵGyη+O(ϵ2)]dx=F[y(x)]+ϵ[Gyη(x)+Gyη(x)]dx+O(ϵ2)" role="presentation" style="position: relative;">F[y(x)+ϵη(x)]=G(y+ϵη,y+ϵη,x)dx=[G(y,y,x)+ϵGyη+ϵGyη+O(ϵ2)]dx=F[y(x)]+ϵ[Gyη(x)+Gyη(x)]dx+O(ϵ2)
      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
      [Gyη(x)]dx=Gydη(x)=η(x)Gy|xη(x)dGy=ddx(Gy)η(x)dx" role="presentation" style="position: relative;">[Gyη(x)]dx=Gydη(x)=η(x)Gy|xη(x)dGy=ddx(Gy)η(x)dx
      [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

  • 相关阅读:
    前端进击笔记第二十一节 如何搭建前端监控体系为业务排忧解难?
    静态HTML CSS个人网页作业源代码 (人物介绍)
    计算机网络------TCP协议的可靠传输
    鸿蒙状态栏设置
    在CentOS7中忘记MySQL密码并进行修改
    小学数学题AI自动出题系统源码,支持在线打印及导出PDF!
    【论文笔记】Encoding cloth manipulations using a graph of states and transitions
    Ubuntu18.04安装深度学习环境(Anaconda、显卡驱动、CUDA、Tensorflow-GPU等)
    2023研究生数学建模D题思路代码 区域双碳目标与路径规划研究
    Estimation with Bootstrap
  • 原文地址:https://blog.csdn.net/weixin_42437114/article/details/125884975