变分法在机器学习中的应用

转载请注明出处

前言

如果只打算看和机器学习有关的变分法,只需要看到小结这一章即可,后面的内容可以不用看。

一个概率分布问题

介绍变分法之前,先抛出一个和机器学习有关的概率问题:
一个一维分布 p ( x ) p(x) p(x)

  1. 若已知期望为 μ \mu μ,方差为 σ 2 \sigma^2 σ2,熵最大的情况下 p p p是什么分布?
  2. 不要问题1的条件,换成若已知随机变量的取值范围在 ( a , b ) (a,b) (a,b),熵最大的情况下 p p p是什么分布?

对于问题1,可形式化
max ⁡ p ∫ − ∞ ∞ − p ( x ) ln ⁡ p ( x ) d x s . t . ∫ − ∞ ∞ p ( x ) d x = 1 ∫ − ∞ ∞ x p ( x ) d x = μ ∫ − ∞ ∞ ( x − μ ) 2 p ( x ) d x = σ 2 \begin{aligned} \max_p &\int_{-\infty}^{\infty}-p(x)\ln p(x)dx \\ s.t. \quad &\int_{-\infty}^{\infty}p(x)dx=1 \\ &\int_{-\infty}^{\infty}xp(x)dx=\mu \\ & \int_{-\infty}^{\infty}(x-\mu)^2p(x)dx=\sigma^2 \end{aligned} pmaxs.t.p(x)lnp(x)dxp(x)dx=1xp(x)dx=μ(xμ)2p(x)dx=σ2

对于问题2,可形式化
max ⁡ p ∫ a b − p ( x ) ln ⁡ p ( x ) d x s . t . ∫ a b p ( x ) d x = 1 \begin{aligned} \max_p &\int_{a}^{b}-p(x)\ln p(x)dx \\ s.t. \quad &\int_{a}^{b}p(x)dx=1 \\ \end{aligned} pmaxs.t.abp(x)lnp(x)dxabp(x)dx=1

仔细观察之后,会发现上述问题并不好做,似乎和我们以前遇到的优化问题不同,区别在于优化目标 p p p是一个函数,而不是一个或几个标量

为了解决这种优化问题,我们需要引入新的工具——变分法

变分法

  • 泛函:首先引入泛函的概念,泛函指定义域为函数集合,值域为实数的“函数”,即函数的函数。而变分法则是处理泛函的数学领域(泛函分析则是研究对象主要为函数构成的函数空间的数学领域)
  • 历史:变分法最早是为了解决最速降线问题而设计的,在理论物理当中应用非常多
预备定理

如果 ∫ a b M ( x ) η ( x ) d x = 0 \int _a^b M(x)\eta(x)dx=0 abM(x)η(x)dx=0 M M M ( a , b ) (a,b) (a,b)上连续, η \eta η为任意函数, η ( a ) = 0 , η ( b ) = 0 \eta(a)=0,\eta(b)=0 η(a)=0,η(b)=0,那么 ∀ x ∈ ( a , b ) , M ( x ) = 0 \forall x \in (a,b),M(x)=0 x(a,b),M(x)=0.
证明:
η ( x ) = − M ( x ) ( x − a ) ( x − b ) \eta(x)=-M(x)(x-a)(x-b) η(x)=M(x)(xa)(xb),则 M ( x ) η ( x ) = M ( x ) 2 [ − ( x − a ) ( x − b ) ] ≥ 0 M(x)\eta(x)=M(x)^2[-(x-a)(x-b)]\ge 0 M(x)η(x)=M(x)2[(xa)(xb)]0,所以 M ( x ) = 0 M(x)=0 M(x)=0.

类似的代数证法,可以扩展到多变量问题,若 ∫ a b [ M ( x ) η ( x ) + N ( x ) ξ ( x ) ] d x = 0 \int _a^b [M(x)\eta(x) +N(x)\xi(x)] dx=0 ab[M(x)η(x)+N(x)ξ(x)]dx=0 η , ξ \eta, \xi η,ξ为任意函数,且在 a , b a,b a,b两点为0,则 M ( x ) = 0 , N ( x ) = 0 M(x)=0, N(x)=0 M(x)=0,N(x)=0.

这个定理先放在这,在推导Euler方程最后一步时会用

优化问题与函数集合

给定一个关于函数 y ˉ ( x ) \bar{y}(x) yˉ(x)的待求优化问题
min ⁡ y ˉ ∫ x 1 x 2 F ( x , y ˉ , y ˉ ′ ) d x \min_{\bar{y}} \int_{x_1}^{x_2}F(x, \bar{y}, \bar{y}')dx yˉminx1x2F(x,yˉ,yˉ)dx
而且我们假定 y ˉ ( x 1 ) \bar{y}(x_1) yˉ(x1) y ˉ ( x 2 ) \bar{y}(x_2) yˉ(x2)已知,
如果 y ( x ) y(x) y(x)是待求最优解,则函数 y ˉ \bar{y} yˉ可以描述为
y ˉ ( x ) = y ( x ) + ϵ η ( x ) \bar {y}(x) = y(x)+\epsilon \eta(x) yˉ(x)=y(x)+ϵη(x)
其中 η \eta η是任意函数,满足 η ( x 1 ) = 0 , η ( x 2 ) = 0 \eta (x_1) = 0, \eta(x_2) =0 η(x1)=0,η(x2)=0(很重要,后面要用) η \eta η可以看作是对 F F F的一个扰动, ϵ \epsilon ϵ是一个实数,通过改变 η \eta η ϵ \epsilon ϵ,可以形成关于 y ˉ \bar{y} yˉ的函数族。
而且 y ˉ \bar{y} yˉ的一阶导数为
y ˉ ′ = y ′ + ϵ η ′ \bar{y}'=y' + \epsilon \eta' yˉ=y+ϵη
所以原问题的目标函数可以写为
∫ x 1 x 2 F ( x , y + ϵ η , y ′ + ϵ η ′ ) d x (1) \int_{x_1}^{x_2}F(x, y+\epsilon \eta, y' + \epsilon \eta')dx \tag{1} x1x2F(x,y+ϵη,y+ϵη)dx(1)

Euler方程第一形式

注意式(1)中 y y y η \eta η都是关于 x x x的函数,所以式(1)的积分结果是一个关于 ϵ \epsilon ϵ的函数,记为 I ( ϵ ) I(\epsilon) I(ϵ)
一方面,观察到当 ϵ → 0 \epsilon \rightarrow 0 ϵ0时,无论 η \eta η取什么,都有 y ˉ → y \bar{y} \rightarrow y yˉy. 也即,无论 η \eta η取什么, ϵ = 0 \epsilon=0 ϵ=0都是 I ( ϵ ) I(\epsilon) I(ϵ)极小值点,所以
d I d ϵ ∣ ϵ = 0 = 0 (2) \frac{dI}{d\epsilon} \big| _{\epsilon=0}=0 \tag{2} dϵdIϵ=0=0(2)
另一方面,
d I d ϵ = ∫ x 1 x 2 ∂ F ∂ ϵ d x (3) \frac{dI}{d\epsilon} = \int_{x_1}^{x_2} \frac {\partial F}{\partial \epsilon}dx \tag{3} dϵdI=x1x2ϵFdx(3)
对于 ∂ F ∂ ϵ \frac {\partial F}{\partial \epsilon} ϵF,记 u = y + ϵ η u= y+\epsilon \eta u=y+ϵη v = y ′ + ϵ η ′ v=y' + \epsilon \eta' v=y+ϵη,则
∂ F ∂ ϵ = ∂ F ∂ x ∂ x ∂ ϵ + ∂ F ∂ u ∂ u ∂ ϵ + ∂ F ∂ v ∂ v ∂ ϵ = ∂ F ∂ u η + ∂ F ∂ v η ′ \begin{aligned} \frac {\partial F}{\partial \epsilon} &= \frac {\partial F}{\partial x}\frac {\partial x}{\partial \epsilon} + \frac {\partial F}{\partial u}\frac {\partial u}{\partial \epsilon} + \frac {\partial F}{\partial v}\frac {\partial v}{\partial \epsilon} \\ &= \frac {\partial F}{\partial u} \eta + \frac {\partial F}{\partial v} \eta ' \end{aligned} ϵF=xFϵx+uFϵu+vFϵv=uFη+vFη
带回式(3)得
d I d ϵ = ∫ x 1 x 2 ( ∂ F ∂ u η + ∂ F ∂ v η ′ ) d x \frac{dI}{d\epsilon} = \int_{x_1}^{x_2} ( \frac {\partial F}{\partial u} \eta + \frac {\partial F}{\partial v} \eta ') dx dϵdI=x1x2(uFη+vFη)dx
ϵ = 0 \epsilon=0 ϵ=0时, u = y , v = y ′ u=y,v=y' u=y,v=y,所以
d I d ϵ ∣ ϵ = 0 = ∫ x 1 x 2 ( ∂ F ∂ y η + ∂ F ∂ y ′ η ′ ) d x (4) \frac{dI}{d\epsilon} \big|_{\epsilon=0} = \int_{x_1}^{x_2} ( \frac {\partial F}{\partial y} \eta + \frac {\partial F}{\partial y'} \eta ') dx \tag{4} dϵdIϵ=0=x1x2(yFη+yFη)dx(4)
观察第二项,由分步积分公式 ∫ u d v = u v − ∫ v d u \int u dv = uv - \int v du udv=uvvdu可得
∫ x 1 x 2 ∂ F ∂ y ′ η ′ d x = ∂ F ∂ y ′ η ∣ x 1 x 2 − ∫ η d ( ∂ F ∂ y ′ ) (5) \int_{x_1}^{x_2} \frac {\partial F}{\partial y'} \eta ' dx = \frac {\partial F}{\partial y'}\eta \big|_{x_1}^{x_2}- \int \eta d(\frac {\partial F}{\partial y'}) \tag{5} x1x2yFηdx=yFηx1x2ηd(yF)(5)
因为 η ( x 1 ) = 0 , η ( x 2 ) = 0 \eta(x_1)=0, \eta(x_2)=0 η(x1)=0,η(x2)=0,所以 ∂ F ∂ y ′ η ∣ x 1 x 2 = 0 \frac {\partial F}{\partial y'}\eta \big|_{x_1}^{x_2}=0 yFηx1x2=0,代入式(5)得
∫ x 1 x 2 ∂ F ∂ y ′ η ′ d x = − ∫ η d d x ( ∂ F ∂ y ′ ) d x (6) \int_{x_1}^{x_2} \frac {\partial F}{\partial y'} \eta ' dx = - \int \eta \frac{d}{dx}(\frac {\partial F}{\partial y'})dx \tag{6} x1x2yFηdx=ηdxd(yF)dx(6)
把式(6)代入式(4)得
d I d ϵ ∣ ϵ = 0 = ∫ x 1 x 2 [ ∂ F ∂ y η − η d d x ( ∂ F ∂ y ′ ) ] d x = ∫ x 1 x 2 [ ∂ F ∂ y − d d x ( ∂ F ∂ y ′ ) ] η d x \begin{aligned} \frac{dI}{d\epsilon} \big|_{\epsilon=0} &= \int_{x_1}^{x_2} \big[ \frac {\partial F}{\partial y} \eta -\eta \frac{d}{dx}(\frac {\partial F}{\partial y'}) \big] dx \\ &= \int_{x_1}^{x_2} \big [ \frac {\partial F}{\partial y} - \frac{d}{dx}(\frac {\partial F}{\partial y'}) \big] \eta dx \end{aligned} dϵdIϵ=0=x1x2[yFηηdxd(yF)]dx=x1x2[yFdxd(yF)]ηdx
注意 η \eta η是任意函数,且 η ( a ) = 0 , η ( b ) = 0 \eta(a)=0,\eta(b)=0 η(a)=0,η(b)=0,又式(2)可得 ∫ x 1 x 2 [ ∂ F ∂ y − d d x ( ∂ F ∂ y ′ ) ] η d x = 0 \int_{x_1}^{x_2} \big [ \frac {\partial F}{\partial y} - \frac{d}{dx}(\frac {\partial F}{\partial y'}) \big] \eta dx=0 x1x2[yFdxd(yF)]ηdx=0,所以由预备定理
∂ F ∂ y − d d x ( ∂ F ∂ y ′ ) = 0 (7) \frac {\partial F}{\partial y} - \frac{d}{dx}(\frac {\partial F}{\partial y'}) =0 \tag{7} yFdxd(yF)=0(7)
式(7)即为Euler方程第一形式,也就是说如果 ϵ = 0 \epsilon=0 ϵ=0 I I I的极值,那么就必须满足式(7).
F F F不是 y ′ y' y的函数,仅为 F ( x , y ) F(x,y) F(x,y)时,式(7)简化为 ∂ F ∂ y = 0 \frac {\partial F}{\partial y}=0 yF=0.

概率分布问题的解决

至此,我们就已经可以解决一开始提出的概率分布问题了。

问题1的解决

把形式化再抄一遍,并把目标函数由 max ⁡ \max max换成 min ⁡ \min min
min ⁡ p ∫ − ∞ ∞ p ( x ) ln ⁡ p ( x ) d x s . t . ∫ − ∞ ∞ p ( x ) d x = 1 ∫ − ∞ ∞ x p ( x ) d x = μ ∫ − ∞ ∞ ( x − μ ) 2 p ( x ) d x = σ 2 \begin{aligned} \min_p &\int_{-\infty}^{\infty}p(x)\ln p(x)dx \\ s.t. \quad &\int_{-\infty}^{\infty}p(x)dx=1 \\ &\int_{-\infty}^{\infty}xp(x)dx=\mu \\ & \int_{-\infty}^{\infty}(x-\mu)^2p(x)dx=\sigma^2 \end{aligned} pmins.t.p(x)lnp(x)dxp(x)dx=1xp(x)dx=μ(xμ)2p(x)dx=σ2
拉格朗日乘子法把该问题转化为无约束问题:
∫ − ∞ ∞ p ( x ) ln ⁡ p ( x ) d x + λ 1 ( ∫ − ∞ ∞ p ( x ) d x − 1 ) + λ 2 ( ∫ − ∞ ∞ x p ( x ) d x − μ ) + λ 3 ( ∫ − ∞ ∞ ( x − μ ) 2 p ( x ) d x − σ 2 ) = ∫ − ∞ ∞ [ p ( x ) ln ⁡ p ( x ) + λ 1 p ( x ) + λ 2 x p ( x ) + λ 3 ( x − μ ) 2 p ( x ) + C ( x , λ 1 , λ 2 , λ 3 ) ] d x \begin{aligned} &\int_{-\infty}^{\infty}p(x)\ln p(x)dx + \lambda_1 (\int_{-\infty}^{\infty}p(x)dx-1) + \lambda_2(\int_{-\infty}^{\infty}xp(x)dx-\mu) + \lambda_3 (\int_{-\infty}^{\infty}(x-\mu)^2p(x)dx-\sigma^2) \\ =&\int_{-\infty}^{\infty}[p(x)\ln p(x)+\lambda_1 p(x) + \lambda_2xp(x) + \lambda_3 (x-\mu)^2p(x) + C(x,\lambda_1,\lambda_2, \lambda_3)]dx \end{aligned} =p(x)lnp(x)dx+λ1(p(x)dx1)+λ2(xp(x)dxμ)+λ3((xμ)2p(x)dxσ2)[p(x)lnp(x)+λ1p(x)+λ2xp(x)+λ3(xμ)2p(x)+C(x,λ1,λ2,λ3)]dx
其中 C C C满足 ∫ − ∞ ∞ C ( x , λ 1 , λ 2 , λ 3 ) d x = − λ 1 − λ 2 μ − λ 3 σ 2 \int_{-\infty}^{\infty} C(x,\lambda_1,\lambda_2, \lambda_3)dx=-\lambda_1-\lambda_2 \mu -\lambda_3 \sigma^2 C(x,λ1,λ2,λ3)dx=λ1λ2μλ3σ2,并看作是一个与 p p p无关的函数。
我们假定 p ( x ) p(x) p(x)在无穷远处为0,这样就满足了上述介绍的优化问题的形式,
F ( x , p ) = p ln ⁡ p + λ 1 p + λ 2 x p + λ 3 ( x − μ ) 2 p + C F(x,p)=p\ln p+\lambda_1 p + \lambda_2xp + \lambda_3 (x-\mu)^2p + C F(x,p)=plnp+λ1p+λ2xp+λ3(xμ)2p+C,记最优解为 p ∗ p^* p,则由Euler方程第一形式,可得
0 = ∂ F ∂ p ∗ = ln ⁡ p + 1 + λ 1 + λ 2 x + λ 3 ( x − μ ) 2 0=\frac {\partial F}{\partial p^*}=\ln p + 1+\lambda_1 + \lambda_2x + \lambda_3(x-\mu)^2 0=pF=lnp+1+λ1+λ2x+λ3(xμ)2

p = e x p { − 1 − λ 1 − λ 2 x − λ 3 ( x − μ ) 2 } (8) p=exp\{-1-\lambda_1-\lambda_2 x - \lambda_3(x-\mu)^2\} \tag{8} p=exp{1λ1λ2xλ3(xμ)2}(8)
注意这已经是一个高斯函数的形式!
又由三个限制方程
∫ − ∞ ∞ p ( x ) d x = 1 ∫ − ∞ ∞ x p ( x ) d x = μ ∫ − ∞ ∞ ( x − μ ) 2 p ( x ) d x = σ 2 \begin{aligned} & \int_{-\infty}^{\infty}p(x)dx=1 \\ &\int_{-\infty}^{\infty}xp(x)dx=\mu \\ & \int_{-\infty}^{\infty}(x-\mu)^2p(x)dx=\sigma^2 \end{aligned} p(x)dx=1xp(x)dx=μ(xμ)2p(x)dx=σ2
可以从中解出 λ 1 , λ 2 , λ 3 \lambda_1,\lambda_2,\lambda_3 λ1,λ2,λ3,带回式(8)得
p ∗ ( x ) = 1 ( 2 π σ 2 ) 1 2 e x p { − ( x − μ ) 2 2 σ 2 } p^*(x)=\frac{1}{(2\pi \sigma^2)^\frac{1}{2}}exp\{-\frac{(x-\mu)^2}{2\sigma^2}\} p(x)=(2πσ2)211exp{2σ2(xμ)2}
所以在给定均值和方差的前提下,最大熵对应的分布是高斯分布。

问题2的解决

把形式化再抄一遍,并把目标函数由 max ⁡ \max max换成 min ⁡ \min min
min ⁡ p ∫ a b p ( x ) ln ⁡ p ( x ) d x s . t . ∫ a b p ( x ) d x = 1 \begin{aligned} \min_p &\int_{a}^{b}p(x)\ln p(x)dx \\ s.t. \quad &\int_{a}^{b}p(x)dx=1 \\ \end{aligned} pmins.t.abp(x)lnp(x)dxabp(x)dx=1
同问题1,先用拉格朗日乘子法转化成无约束问题:
∫ a b p ( x ) ln ⁡ p ( x ) d x + λ 1 ( ∫ a b p ( x ) d x − 1 ) = ∫ a b [ p ( x ) ln ⁡ p ( x ) + λ 1 p ( x ) − λ 1 b − a ] d x \begin{aligned} &\int_{a}^{b}p(x)\ln p(x)dx + \lambda_1 (\int_{a}^{b}p(x)dx-1) \\ =&\int_{a}^{b}[p(x)\ln p(x)+\lambda_1 p(x) - \frac{\lambda_1}{b-a}]dx \end{aligned} =abp(x)lnp(x)dx+λ1(abp(x)dx1)ab[p(x)lnp(x)+λ1p(x)baλ1]dx
我们假定 p ( x ) p(x) p(x) a , b a,b a,b两点概率为0,这样就满足了上述介绍的优化问题的形式,
F ( x , p ) = p ln ⁡ p + λ 1 p − λ 1 b − a F(x,p)=p\ln p+\lambda_1 p -\frac{\lambda_1}{b-a} F(x,p)=plnp+λ1pbaλ1,记最优解为 p ∗ p^* p,则由Euler方程第一形式,可得
0 = ∂ F ∂ p ∗ = ln ⁡ p + 1 + λ 1 0=\frac {\partial F}{\partial p^*}=\ln p + 1+\lambda_1 0=pF=lnp+1+λ1

p ∗ = e x p { − 1 − λ 1 } (9) p^*=exp\{-1-\lambda_1\} \tag{9} p=exp{1λ1}(9)
注意,这已经是一个均匀分布的形式!
又由限制方程
∫ − ∞ ∞ p ( x ) d x = 1 \begin{aligned} & \int_{-\infty}^{\infty}p(x)dx=1 \\ \end{aligned} p(x)dx=1
可以从中解出 λ 1 \lambda_1 λ1,带回式(9)得
p ∗ ( x ) = 1 b − a p^*(x)=\frac{1}{b-a} p(x)=ba1
所以在有限区间内,最大熵对应的分布是均匀分布。此时无需均值和方差的约束。

小结

  • 变分法在机器学习当中是一个很好用的技巧,其实机器学习当中输入为函数,输出为实数,这样的泛函例子并不少见,例如各种散度divergence——衡量了两个分布之间的差异性,以分布作为变量的泛函又引入了变分推断当中,例如变分自编码器
  • 机器学习当中遇到的大多数变分问题都较为简单,往往被积函数 F F F和待求函数 y y y的导数是无关的,也即只需要满足Euler方程中 ∂ F ∂ y = 0 \frac {\partial F}{\partial y}=0 yF=0就可以
  • 后文将继续介绍完整的变分法理论,后续理论在机器学习当中的使用较为罕见,(但是也有用处,比如泊松图像融合),看到这里就可以提前退场了,如果看的很爽,那么就跟我继续看下去吧,2333

变分法(后续)

Euler方程第二形式

注意到
d F d x ( x , y , y ′ ) = ∂ F ∂ x d x d x + ∂ F ∂ y d y d x + ∂ F ∂ y ′ d y ′ d x = ∂ F ∂ x + ∂ F ∂ y y ′ + ∂ F ∂ y ′ y ′ ′ (10) \begin{aligned} \frac{dF}{dx}(x,y,y') &=\frac{\partial F}{\partial x} \frac{dx}{dx}+ \frac{\partial F}{\partial y} \frac{dy}{dx} + \frac{\partial F}{\partial y'} \frac{dy'}{dx} \\ &= \frac{\partial F}{\partial x}+ \frac{\partial F}{\partial y}y'+ \frac{\partial F}{\partial y'} y'' \tag{10} \end{aligned} dxdF(x,y,y)=xFdxdx+yFdxdy+yFdxdy=xF+yFy+yFy(10)
因为
d d x ( y ′ ∂ F ∂ y ′ ) = y ′ ′ ∂ F ∂ y ′ + y ′ d d x ( ∂ F ∂ y ′ ) (11) \frac{d}{dx}(y'\frac{\partial F}{\partial y'}) = y'' \frac{\partial F}{\partial y'} + y'\frac{d}{dx}(\frac{\partial F}{\partial y'}) \tag{11} dxd(yyF)=yyF+ydxd(yF)(11)
把式(10)等号右侧第三项带入式(11)可得
d d x ( y ′ ∂ F ∂ y ′ ) = [ d F d x ( x , y , y ′ ) − ∂ F ∂ x − ∂ F ∂ y y ′ ] + y ′ d d x ( ∂ F ∂ y ′ ) = d F d x ( x , y , y ′ ) − ∂ F ∂ x − y ′ [ ∂ F ∂ y − d d x ( ∂ F ∂ y ′ ) ] \begin{aligned} \frac{d}{dx}(y'\frac{\partial F}{\partial y'}) &=\big[\frac{dF}{dx}(x,y,y') - \frac{\partial F}{\partial x}- \frac{\partial F}{\partial y}y' \big] + y'\frac{d}{dx}(\frac{\partial F}{\partial y'}) \\ &=\frac{dF}{dx}(x,y,y') - \frac{\partial F}{\partial x}- y' \big[\frac{\partial F}{\partial y}- \frac{d}{dx}(\frac{\partial F}{\partial y'})\big] \end{aligned} dxd(yyF)=[dxdF(x,y,y)xFyFy]+ydxd(yF)=dxdF(x,y,y)xFy[yFdxd(yF)]
注意到 ∂ F ∂ y − d d x ( ∂ F ∂ y ′ ) \frac{\partial F}{\partial y}- \frac{d}{dx}(\frac{\partial F}{\partial y'}) yFdxd(yF)为Euler方程的第一种形式,所以上式继续化简为
d d x ( y ′ ∂ F ∂ y ′ ) = d F d x ( x , y , y ′ ) − ∂ F ∂ x \begin{aligned} \frac{d}{dx}(y'\frac{\partial F}{\partial y'}) =\frac{dF}{dx}(x,y,y') - \frac{\partial F}{\partial x} \end{aligned} dxd(yyF)=dxdF(x,y,y)xF

∂ F ∂ x − d d x ( F − y ′ ∂ F ∂ y ′ ) = 0 (12) \begin{aligned} \frac{\partial F}{\partial x} - \frac{d}{dx}(F-y'\frac{\partial F}{\partial y'}) =0 \end{aligned} \tag{12} xFdxd(FyyF)=0(12)
式(12)即为Euler方程第二形式,注意如果 F F F不显含 x x x,那么 ∂ F ∂ x = 0 \frac{\partial F}{\partial x}=0 xF=0,则有 F − y ′ ∂ F ∂ y ′ = C F-y'\frac{\partial F}{\partial y'}=C FyyF=C. 在这种情况下,第二形式非常方便。

变分算子

y ˉ = y + ϵ η ( x ) = y + δ y \bar{y}=y + \epsilon \eta(x) = y + \delta y yˉ=y+ϵη(x)=y+δy
其中, δ y \delta y δy就称作 y y y的变分

贴参考文献[1]的一张图,说明变分和微分的区别
在这里插入图片描述

  • 微分:当 x x x变化时, y y y的变化
  • 变分: x x x不变,人为的对 y y y加扰动

一般我们认为自变量的变分为0(或者说不能变分),例如 y ( x ) y(x) y(x),认为 δ x = 0 \delta x = 0 δx=0,因为在自变量上加扰动没有意义,自变量这个时候应该看作是一个“标准”,其他量以这些“标准”为依据。

变分算子和微分算子的可交换性

d d x δ y = d d x ϵ η ( x ) = ϵ d d x η ( x ) = ϵ η ′ \frac{d}{dx}\delta y=\frac{d}{dx}\epsilon \eta(x) = \epsilon \frac{d}{dx} \eta(x)=\epsilon \eta' dxdδy=dxdϵη(x)=ϵdxdη(x)=ϵη
另一方面
δ d d x y = y ′ ˉ − y ′ = ϵ η ′ \delta \frac{d}{dx} y = \bar{y'} - y' = \epsilon \eta' δdxdy=yˉy=ϵη
所以,变分算子和微分算子的顺序可以交换

变分算子和积分算子的可交换性

δ ∫ F ( x ) d x = ∫ F ( x ) d x ‾ − ∫ F ( x ) d x = ∫ F ˉ ( x ) d x − ∫ F ( x ) d x = ∫ [ F ˉ ( x ) − F ( x ) ] d x = ∫ δ F ( x ) d x \begin{aligned} \delta \int F(x)dx &= \overline {\int F(x)dx} - \int F(x)dx = \int \bar F(x)dx - \int F(x)dx \\ & = \int [\bar F(x) - F(x)]dx = \int \delta F(x) dx \end{aligned} δF(x)dx=F(x)dxF(x)dx=Fˉ(x)dxF(x)dx=[Fˉ(x)F(x)]dx=δF(x)dx
所以,变分算子和积分算子的顺序可以交换

函数与泛函的变分算子

对于 F ( x , y , z ) F(x,y,z) F(x,y,z)
δ F = ∂ F ∂ x δ x + ∂ F ∂ y δ y + ∂ F ∂ z δ z \delta F = \frac{\partial F}{\partial x}\delta x + \frac{\partial F}{\partial y}\delta y + \frac{\partial F}{\partial z}\delta z δF=xFδx+yFδy+zFδz
上式子说明了对 x , y , z x,y,z x,y,z的扰动,是如何产生对 F F F的扰动的
除式的变分公式:
δ ( f g ) = g δ f − f δ g g 2 \delta (\frac{f}{g}) = \frac{g\delta f - f\delta g}{g^2} δ(gf)=g2gδffδg

多函数的变分

对于多函数的问题,先以两个函数为例:
min ⁡ f ˉ , g ˉ I = ∫ x 1 x 2 F ( x , f ˉ , g ˉ , f ˉ ′ , g ˉ ′ ) d x \min_{\bar{f},\bar{g}} I=\int_{x_1}^{x_2}F(x,\bar{f},\bar{g},\bar{f}',\bar g')dx fˉ,gˉminI=x1x2F(x,fˉ,gˉ,fˉ,gˉ)dx
类似单变量的方法令最优解为 f , g f,g f,g,则有
f ˉ = f + ϵ η g ˉ = g + ϵ ξ \bar f = f + \epsilon \eta \\ \bar g = g+ \epsilon \xi fˉ=f+ϵηgˉ=g+ϵξ
一方面得到
d I ( ϵ ) d ϵ ∣ ϵ = 0 = 0 \frac{dI(\epsilon)}{d\epsilon} \big|_{\epsilon=0} = 0 dϵdI(ϵ)ϵ=0=0
另一方面
d I ( ϵ ) d ϵ ∣ ϵ = 0 = ∫ x 1 x 2 ( F f η + F g ξ + F f ′ η ′ + F g ′ ξ ′ ) d x \frac{dI(\epsilon)}{d\epsilon} \big |_{\epsilon=0} =\int_{x_1}^{x_2} (F_f \eta + F_g \xi + F_{f'} \eta' + F_{g'} \xi')dx dϵdI(ϵ)ϵ=0=x1x2(Ffη+Fgξ+Ffη+Fgξ)dx
用分布及分公式可得
∫ x 1 x 2 F f ′ η ′ d x = F f ′ η ∣ x 1 x 2 − ∫ x 1 x 2 η d F f ′ = − ∫ x 1 x 2 η d d x ( F f ′ ) d x \begin{aligned} \int_{x_1}^{x_2} F_{f'} \eta' dx &= F_{f'}\eta \big|_{x_1}^{x2} - \int_{x_1}^{x_2} \eta dF_{f'} \\ &= - \int_{x_1}^{x_2} \eta \frac{d}{dx}(F_{f'} )dx \end{aligned} x1x2Ffηdx=Ffηx1x2x1x2ηdFf=x1x2ηdxd(Ff)dx
g g g做类似的处理,带回得
d I ( ϵ ) d ϵ ∣ ϵ = 0 = ∫ x 1 x 2 [ ( F f − d d x F f ′ ) ] η + [ ( F g − d d x F g ′ ) ] ξ d x \frac{dI(\epsilon)}{d\epsilon} \big |_{\epsilon=0} = \int _{x_1}^{x_2}[(F_f - \frac{d}{dx}F_{f'})]\eta+[(F_g - \frac{d}{dx}F_{g'})]\xi dx dϵdI(ϵ)ϵ=0=x1x2[(FfdxdFf)]η+[(FgdxdFg)]ξdx
由预备定理得
F f − d d x F f ′ = 0 F g − d d x F g ′ = 0 F_f - \frac{d}{dx}F_{f'} = 0 \\ F_g - \frac{d}{dx}F_{g'} = 0 FfdxdFf=0FgdxdFg=0
上式为多变量得Euler方程,可以看到它与单变量得形式是一致的。对于更多变量得情况,推导结果类似。

双变量单函数的多重积分变分


I ( ϵ ) = ∬ D F ( x 1 , x 2 , y ˉ , ∂ y ˉ ∂ x 1 , ∂ y ˉ ∂ x 2 ) d x 1 d x 2 I(\epsilon) = \iint_D F(x_1, x_2, \bar y, \frac{\partial \bar y}{\partial x_1}, \frac{\partial \bar y}{\partial x_2})dx_1dx_2 I(ϵ)=DF(x1,x2,yˉ,x1yˉ,x2yˉ)dx1dx2
则有
d I d ϵ ∣ ϵ = 0 = ∬ D [ ∂ F ∂ y ∂ y ∂ ϵ + ∂ F ∂ ( ∂ y ∂ x 1 ) ∂ ∂ ϵ ( ∂ y ∂ x 1 ) + ∂ F ∂ ( ∂ y ∂ x 2 ) ∂ ∂ ϵ ( ∂ y ∂ x 2 ) ] d x 1 d x 2 = ∬ D [ ∂ F ∂ y ∂ y ∂ ϵ + ∂ F ∂ ( ∂ y ∂ x 1 ) ∂ ∂ x 1 ( ∂ y ∂ ϵ ) + ∂ F ∂ ( ∂ y ∂ x 2 ) ∂ ∂ x 2 ( ∂ y ∂ ϵ ) ] d x 1 d x 2 \begin{aligned} \frac{dI}{d\epsilon} \big|_{\epsilon=0} &= \iint_D \big[\frac{\partial F}{\partial y} \frac{\partial y}{\partial \epsilon} + \frac{\partial F}{\partial (\frac{\partial y}{\partial x_1})} \frac{\partial }{\partial \epsilon}(\frac{\partial y}{\partial x_1}) + \frac{\partial F}{\partial (\frac{\partial y}{\partial x_2})} \frac{\partial }{\partial \epsilon}(\frac{\partial y}{\partial x_2}) \big] dx_1dx_2 \\ &= \iint_D \big[\frac{\partial F}{\partial y} \frac{\partial y}{\partial \epsilon} + \frac{\partial F}{\partial (\frac{\partial y}{\partial x_1})} \frac{\partial }{\partial x_1}(\frac{\partial y}{\partial \epsilon}) + \frac{\partial F}{\partial (\frac{\partial y}{\partial x_2})} \frac{\partial }{\partial x_2}(\frac{\partial y}{\partial \epsilon}) \big] dx_1dx_2 \end{aligned} dϵdIϵ=0=D[yFϵy+(x1y)Fϵ(x1y)+(x2y)Fϵ(x2y)]dx1dx2=D[yFϵy+(x1y)Fx1(ϵy)+(x2y)Fx2(ϵy)]dx1dx2

首先给出格林公式
∬ D [ ∂ P ∂ x 1 + ∂ Q ∂ x 2 ] d x 1 d x 2 = ∫ C P d x 2 − Q d x 1 (13) \iint_D \big[\frac{\partial P}{\partial x_1} + \frac{\partial Q}{\partial x_2} \big]dx_1dx_2 = \int_C Pdx_2 - Qdx_1 \tag{13} D[x1P+x2Q]dx1dx2=CPdx2Qdx1(13)
如果令
P ( x 1 , x 2 ) = Φ ( x 1 , x 2 ) A ( x 1 , x 2 ) Q ( x 1 , x 2 ) = Φ ( x 1 , x 2 ) B ( x 1 , x 2 ) P(x_1,x_2) = \Phi(x_1, x_2)A(x_1, x_2) \qquad Q(x_1,x_2) = \Phi(x_1, x_2)B(x_1, x_2) P(x1,x2)=Φ(x1,x2)A(x1,x2)Q(x1,x2)=Φ(x1,x2)B(x1,x2)
带回式(13)得
∬ D [ A ∂ Φ ∂ x 1 + B ∂ Φ ∂ x 2 ] d x 1 d x 2 = − ∬ D ( ∂ A ∂ x 1 + ∂ B ∂ x 2 ) Φ d x 1 d x 2 + ∫ C ( A d x 2 − B d x 1 ) Φ (14) \iint_D\big[ A\frac{\partial \Phi}{\partial x_1} +B\frac{\partial \Phi}{\partial x_2} \big]dx_1dx_2 = -\iint_D (\frac{\partial A}{\partial x_1} +\frac{\partial B}{\partial x_2})\Phi dx_1dx_2 + \int_C (Adx_2 - Bdx_1)\Phi \tag{14} D[Ax1Φ+Bx2Φ]dx1dx2=D(x1A+x2B)Φdx1dx2+C(Adx2Bdx1)Φ(14)

所以,如果令
Φ = ∂ y ∂ ϵ A = ∂ F ∂ ( ∂ y ∂ x 1 ) B = ∂ F ∂ ( ∂ y ∂ x 2 ) \Phi = \frac{\partial y}{\partial \epsilon} \qquad A = \frac{\partial F}{\partial (\frac{\partial y}{\partial x_1})} \qquad B = \frac{\partial F}{\partial (\frac{\partial y}{\partial x_2})} Φ=ϵyA=(x1y)FB=(x2y)F
y ˉ = y + ϵ Φ \bar y = y + \epsilon \Phi yˉ=y+ϵΦ,那么
d I d ϵ = ∬ D [ ∂ F ∂ y Φ + A ∂ ∂ x 1 Φ + B ∂ ∂ x 2 Φ ] d x 1 d x 2 \begin{aligned} \frac{dI}{d\epsilon} &= \iint_D \big[\frac{\partial F}{\partial y} \Phi +A \frac{\partial }{\partial x_1}\Phi + B \frac{\partial }{\partial x_2}\Phi \big] dx_1dx_2 \end{aligned} dϵdI=D[yFΦ+Ax1Φ+Bx2Φ]dx1dx2
把后两项用格林公式(14)替换,得到
d I d ϵ = ∬ D [ ∂ F ∂ y − ( ∂ A ∂ x 1 + ∂ B ∂ x 2 ) ] Φ d x 1 d x 2 \begin{aligned} \frac{dI}{d\epsilon} &= \iint_D \big[\frac{\partial F}{\partial y} - (\frac{\partial A}{\partial x_1} +\frac{\partial B}{\partial x_2}) \big] \Phi dx_1dx_2 \end{aligned} dϵdI=D[yF(x1A+x2B)]Φdx1dx2
注意式(14)中的线积分 ∫ C ( A d x 2 − B d x 1 ) Φ = 0 \int_C (Adx_2 - Bdx_1)\Phi=0 C(Adx2Bdx1)Φ=0,所以线积分直接舍去了,这里非常厉害!!!
线积分为0的原因在于 Φ \Phi Φ在边界一圈为0,类似于单变量中两个端点的 η = 0 \eta=0 η=0.
由预备定理
∂ F ∂ y − ( ∂ ∂ x 1 ∂ F ∂ ( ∂ y ∂ x 1 ) + ∂ ∂ x 2 ∂ F ∂ ( ∂ y ∂ x 2 ) ) = 0 \frac{\partial F}{\partial y} - (\frac{\partial }{\partial x_1}\frac{\partial F}{\partial (\frac{\partial y}{\partial x_1})} +\frac{\partial }{\partial x_2}\frac{\partial F}{\partial (\frac{\partial y}{\partial x_2})})=0 yF(x1(x1y)F+x2(x2y)F)=0
上式即为双变量函数下的Euler方程,该式和单变量的形式其实是类似的。

参考文献
[1] 变分法 https://www.youtube.com/playlist?list=PL090BE404EFE679E9. B站上也有相同的资源,但是不全
[2] C M. Bishop. Pattern Recognition and Machine Learning Bishop 附录D

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值