关于变分法

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

变分就是函数的微分

回顾一下传统的函数优化问题。 对于 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
这也被称为欧拉-拉格朗日方程, 为极值的必要条件。而由此求取极值的方法也即变分法。

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

B417科研笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值