变分法在机器学习中的应用
目录一个概率分布问题变分法预备定理优化问题与函数集合Euler方程第一形式概率分布问题的解决问题1的解决问题2的解决小结一个概率分布问题介绍变分法之前,先抛出一个和机器学习有关的概率问题:一个一维分布p(x)p(x)p(x):若已知期望为μ\muμ,方差为σ2\sigma^2σ2,熵最大的情况下ppp是什么分布?不要问题1的条件,换成若已知随机变量的取值范围在(a,b)(a,b)(a,...
转载请注明出处
目录
前言
如果只打算看和机器学习有关的变分法,只需要看到小结这一章即可,后面的内容可以不用看。
一个概率分布问题
介绍变分法之前,先抛出一个和机器学习有关的概率问题:
一个一维分布 p ( x ) p(x) p(x):
- 若已知期望为 μ \mu μ,方差为 σ 2 \sigma^2 σ2,熵最大的情况下 p p p是什么分布?
- 不要问题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)dx∫−∞∞p(x)dx=1∫−∞∞xp(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.∫ab−p(x)lnp(x)dx∫abp(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)(x−a)(x−b),则 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[−(x−a)(x−b)]≥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ˉmin∫x1x2F(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=∂x∂F∂ϵ∂x+∂u∂F∂ϵ∂u+∂v∂F∂ϵ∂v=∂u∂Fη+∂v∂Fη′
带回式(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(∂u∂Fη+∂v∂Fη′)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(∂y∂Fη+∂y′∂Fη′)dx(4)
观察第二项,由分步积分公式 ∫ u d v = u v − ∫ v d u \int u dv = uv - \int v du ∫udv=uv−∫vdu可得
∫ 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} ∫x1x2∂y′∂Fη′dx=∂y′∂Fη∣∣x1x2−∫ηd(∂y′∂F)(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 ∂y′∂Fη∣∣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} ∫x1x2∂y′∂Fη′dx=−∫ηdxd(∂y′∂F)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[∂y∂Fη−ηdxd(∂y′∂F)]dx=∫x1x2[∂y∂F−dxd(∂y′∂F)]η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[∂y∂F−dxd(∂y′∂F)]η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} ∂y∂F−dxd(∂y′∂F)=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 ∂y∂F=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)dx∫−∞∞p(x)dx=1∫−∞∞xp(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)dx−1)+λ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=∂p∗∂F=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=1∫−∞∞xp(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)dx∫abp(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)dx−1)∫ab[p(x)lnp(x)+λ1p(x)−b−aλ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+λ1p−b−aλ1,记最优解为 p ∗ p^* p∗,则由Euler方程第一形式,可得
0 = ∂ F ∂ p ∗ = ln p + 1 + λ 1 0=\frac {\partial F}{\partial p^*}=\ln p + 1+\lambda_1 0=∂p∗∂F=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)=b−a1
所以在有限区间内,最大熵对应的分布是均匀分布。此时无需均值和方差的约束。
小结
- 变分法在机器学习当中是一个很好用的技巧,其实机器学习当中输入为函数,输出为实数,这样的泛函例子并不少见,例如各种散度divergence——衡量了两个分布之间的差异性,以分布作为变量的泛函又引入了变分推断当中,例如变分自编码器
- 机器学习当中遇到的大多数变分问题都较为简单,往往被积函数 F F F和待求函数 y y y的导数是无关的,也即只需要满足Euler方程中 ∂ F ∂ y = 0 \frac {\partial F}{\partial y}=0 ∂y∂F=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′)=∂x∂Fdxdx+∂y∂Fdxdy+∂y′∂Fdxdy′=∂x∂F+∂y∂Fy′+∂y′∂Fy′′(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(y′∂y′∂F)=y′′∂y′∂F+y′dxd(∂y′∂F)(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(y′∂y′∂F)=[dxdF(x,y,y′)−∂x∂F−∂y∂Fy′]+y′dxd(∂y′∂F)=dxdF(x,y,y′)−∂x∂F−y′[∂y∂F−dxd(∂y′∂F)]
注意到 ∂ F ∂ y − d d x ( ∂ F ∂ y ′ ) \frac{\partial F}{\partial y}- \frac{d}{dx}(\frac{\partial F}{\partial y'}) ∂y∂F−dxd(∂y′∂F)为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(y′∂y′∂F)=dxdF(x,y,y′)−∂x∂F
即
∂ 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} ∂x∂F−dxd(F−y′∂y′∂F)=0(12)
式(12)即为Euler方程第二形式,注意如果 F F F不显含 x x x,那么 ∂ F ∂ x = 0 \frac{\partial F}{\partial x}=0 ∂x∂F=0,则有 F − y ′ ∂ F ∂ y ′ = C F-y'\frac{\partial F}{\partial y'}=C F−y′∂y′∂F=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)dx−∫F(x)dx=∫Fˉ(x)dx−∫F(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=∂x∂Fδx+∂y∂Fδy+∂z∂Fδ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δf−fδ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′η∣∣x1x2−∫x1x2η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[(Ff−dxdFf′)]η+[(Fg−dxdFg′)]ξ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 Ff−dxdFf′=0Fg−dxdFg′=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ˉ,∂x1∂yˉ,∂x2∂yˉ)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[∂y∂F∂ϵ∂y+∂(∂x1∂y)∂F∂ϵ∂(∂x1∂y)+∂(∂x2∂y)∂F∂ϵ∂(∂x2∂y)]dx1dx2=∬D[∂y∂F∂ϵ∂y+∂(∂x1∂y)∂F∂x1∂(∂ϵ∂y)+∂(∂x2∂y)∂F∂x2∂(∂ϵ∂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[∂x1∂P+∂x2∂Q]dx1dx2=∫CPdx2−Qdx1(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[A∂x1∂Φ+B∂x2∂Φ]dx1dx2=−∬D(∂x1∂A+∂x2∂B)Φdx1dx2+∫C(Adx2−Bdx1)Φ(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=∂(∂x1∂y)∂FB=∂(∂x2∂y)∂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[∂y∂FΦ+A∂x1∂Φ+B∂x2∂Φ]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[∂y∂F−(∂x1∂A+∂x2∂B)]Φdx1dx2
注意式(14)中的线积分 ∫ C ( A d x 2 − B d x 1 ) Φ = 0 \int_C (Adx_2 - Bdx_1)\Phi=0 ∫C(Adx2−Bdx1)Φ=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 ∂y∂F−(∂x1∂∂(∂x1∂y)∂F+∂x2∂∂(∂x2∂y)∂F)=0
上式即为双变量函数下的Euler方程,该式和单变量的形式其实是类似的。
参考文献
[1] 变分法 https://www.youtube.com/playlist?list=PL090BE404EFE679E9. B站上也有相同的资源,但是不全
[2] C M. Bishop. Pattern Recognition and Machine Learning Bishop 附录D
更多推荐
所有评论(0)