转载请注明出处
目录
前言
如果只打算看和机器学习有关的变分法,只需要看到小结这一章即可,后面的内容可以不用看。
一个概率分布问题
介绍变分法之前,先抛出一个和机器学习有关的概率问题:
一个一维分布
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