转载(原链接已失效)
变分法简介 - 慕容熙熙
http://www.cnblogs.com/murongxixi/p/3995788.html
本篇文章可以作为变分法的简单入门,包含下面四个部分
泛函的基本概念
预备定理
Euler-Lagrange方程
三个应用
一、泛函的基本概念
变分法的诞生要追溯到Johann Bernoulli(1667-1748)于1696年提出的最速降线问题,这个问题是一个求极值问题,但和普通的函数求极值又有不同,它的目标函数的自变量不是一个数,而是一个函数。由于问题很新颖,很快就引起了一些大家的兴趣,其中Johann的哥哥Jacob Bernoulli(1654-1705)给出了较为一般化的解法,后来Euler(1707~1783)和Lagrange(1736-1813)在此基础上得到了Euler-Lagrange方程,从而给出了这一类问题的通用解法。
变分法要处理的是函数到实数的映射,这样的映射被称作泛函,由于我们不是要写教科书,所以这里也就不给出精确定义了,就通过下面这个例子来简单说明下。
设函数
y=f(x)≥0
在
[0,1]
上连续,则
Q[f(x)]=∫10f(x)dx
就是一个泛函,它的输入是
[0,1]
上的非负连续函数,输出是
[0,1]
区间上该函数与
x
轴之间围成的面积。
显然泛函是函数这一概念的推广,唯一的区别就是自变量不同,那么为了求泛函极值,最直接的想法就是套用函数求极值的方法。不过在深入之前,我们需要先简单介绍些泛函的基本概念,包括连续泛函、线性泛函、泛函极值和泛函变分,它们分别对应于连续函数、线性函数、函数极值和函数微分。
连续泛函:对于泛函Q[y(x)],如果当
y(x)
的变化
δy(x)
充分小时,
Q
的改变量也可以任意的小,那么就称泛函Q[y(x)]是连续的。例如对于泛函
Q[y(x)]=∫bay(x)dx
而言,当
y(x)∈C[a,b]
时,
Q[y(x)]
有定义。则对于任意
ϵ>0
,只要
maxa≤x≤b|y1(x)−y(x)|<ϵb−a
则有
|Q[y1(x)]−Q[y(x)]|=∣∣∣∫ba(y1(x)−y(x))dx∣∣∣≤∫ba|y1(x)−y(x)|dx<∫baϵb−adx=ϵ
即
Q[y(x)]
是连续泛函。
泛函极值:对于曲线
y(x)
,满足
maxx |y1(x)−y(x)|≤ε
的一切连续曲线
y1(x)
构成的集合就是
y(x)
的
ε
-邻域,若对于邻域中的任意曲线
y1(x)
都有
Q[y1(x)]≤Q[y(x)]
则称泛函
Q[y(x)]
在
y(x)
的某个
ε
-邻域内取极值。
线性泛函:若对于任意常数
c1
和
c2
,
Q[f(x)]
满足
Q[c1y1(x)+c2y2(x)]=c1Q[y1(x)]+c2Q[y2(x)]
则称
Q[f(x)]
是连续泛函。
泛函变分:先来看一个例子,设泛函
Q[y(x)]=∫bay2(x)dx
,函数
y1(x)=y(x)+δy(x)
是对
y(x)
的一个扰动,则
Q[y(x)]
的增量为
ΔQ=Q[y1(x)]−Q[y(x)]=Q[y(x)+δy(x)]−Q[y(x)]=∫ba(y(x)+δy(x))2dx−∫bay2(x)dx=∫ba2y(x)δy(x)dx+∫ba(δy(x))2dx
可见
ΔQ
由两部分构成,将第一项记为
∫ba2y(x)δy(x)dx=T[y(x),δy(x)]
显然当
y(x)
固定时,
T[y(x),δy(x)]
是关于
δy(x)
的线性泛函。又
∣∣∣∫ba(δy(x))2dx∣∣∣≤(maxa≤x≤b|δy(x)|)2(b−a)
故对于第二项有
limmaxa≤x≤b|δy(x)|→0∫ba(δy(x))2dxmaxa≤x≤b|δy(x)|≤limmaxa≤x≤b|δy(x)|→0(maxa≤x≤b|δy(x)|)2(b−a)maxa≤x≤b|δy(x)|=limmaxa≤x≤b|δy(x)|→0maxa≤x≤b|δy(x)|(b−a)=0
即
∫ba(δy(x))2dx
是关于
δy(x)
的高阶无穷小,记为
o(δy(x))
,于是
ΔQ=T[y(x),δy(x)]+o(δy(x))
对比函数微分的概念,可以发现它们是何其地相似。故类似地,我们可以说,若对自变量
y(x)
作微小增量
δy(x)
,其相应的泛函值增量
ΔQ
可以分为两部分,其中第一部分
T[y(x),δy(x)]
是关于
δy(x)
的线性泛函,第二部分是关于
δy(x)
的高阶无穷小,那么就将
T[y(x),δy(x)]
称作泛函
Q[y(x)]
的变分。
二、预备定理
在推导Euler-Lagrange方程前,我们需要如下的预备定理。
若函数
y=f(x)
在
[a,b]
上连续且
∫baf(x)η(x)dx=0
其中
η(x)
在
[a,b]
上有连续导数,
η(a)=η(b)=0
且
|η(x)|<ϵ
(
ϵ
为任意正数),那么函数
f(x)
在
[a,b]
上恒等于
0
。
证明:用反证法,假设存在x0∈(a,b)使得
f(x0)>0
,由
f(x)
的连续性知存在正数
δ
使得当
|x−x0|<δ
时有
f(x)>0
。 现作函数
ψ(x)=⎧⎩⎨⎪⎪⎪⎪0e1(x−x0)2−δ20x∈[a,x0−δ]x∈(x0−δ,x0+δ)x∈[x0+δ,b]
显然
ψ(a)=ψ(b)=0
,此外
ψ(x)
在
[a,b]
上有连续导数(这里先做假设,稍后给出证明),又选取合适的
A
可使得
η(x)=Aψ(x)满足
|η(x)|<ϵ
,故这样的
η(x)
满足所有条件,于是
∫baf(x)η(x)dx=∫x0+δx0−δf(x)η(x)dx>0
得出矛盾,故不存在这样的
x0
,也即
f(x)
在
(a,b)
上不大于
0
,同理可证
f(x)在
(a,b)
上也不小于
0
,故只可能是
f(x)在
(a,b)
上恒等于
0
,又由
f(x)的连续性知
f(a)=f(b)=0
,故
f(x)
在
[a,b]
上恒为
0
。
最后证明ψ(x)在
[a,b]
上有连续导数,只需考虑
x0+δ
和
x0−δ
这两点即可,具体来说分两步,先证明左右导数相等也即导数存在,再证明导数的左右极限也相等即连续性成立。
先考虑右导数,易知
limx→(x0+δ)+ψ(x)−ψ(x0+δ)x−(x0+δ)=limx→(x0+δ)+0−0x−(x0+δ)=0
再考虑左导数,易知
limx→(x0+δ)−ψ(x)−ψ(x0+δ)x−(x0+δ)=limx→(x0+δ)−e1(x−x0)2−δ2−0x−(x0+δ)=limt→−∞et(1t+δ2)12−δ (t=1(x−x0)2−δ2)=limt→−∞et12(1t+δ2)−12(−1t2)=limt→−∞(−2)ett2(1t+δ2)12
其中倒数第二个等号由L’Hospital法则推出。注意
limt→−∞(1t+δ2)12=δ
且
limt→−∞ett2=limt→∞t2et=limt→∞2tet=limt→∞2et=0
故左导数也为
0
,由于左右导数相等,因此
ψ(x)在
x0+δ
导数为
0
。
下面再证导数的连续性,先考虑右极限,由于当x>x0+δ时
ψ(x)≡0
,所以当
x>x0+δ
时
ψ′(x)≡0
,于是
limx→(x0+δ)+ψ′(x)=0
。
再考虑左极限,当
x<x0+δ
时有
ψ′(x)=e1(x−x0)2−δ2−2(x−x0)((x−x0)2−δ2)2
于是
limx→(x0+δ)−ψ′(x)=limx→(x0+δ)−e1(x−x0)2−δ2−2(x−x0)((x−x0)2−δ2)2=limt→−∞(−2)ett2(1t+δ2)12 (t=1(x−x0)2−δ2)=0
故左右极限也相等,因此
ψ′(x)
在
x0+δ
处连续,综上
ψ(x)
在
x0+δ
处有连续导数,同理也可证
ψ(x)
在
x0−δ
处有连续导数。
三、Euler-Lagrange方程
现在我们转入正题,考虑如下形式的泛函
Q[y(x)]=∫baF(x,y(x),y′(x))dx
其中
F(x,y(x),y′(x))
是三个变量的连续函数且当点
x,y
在平面上某个有界域内,
F(x,y(x),y′(x))
及其直到二阶的偏导数均连续。
求泛函极值的基本思想还是套用微积分里的Fermat定理,现假设
Q[f(x)]
在
y(x)
处取得极值,任取一个函数
η(x)
满足
η(a)=η(b)=0
且有连续导数,考虑
y(x)
某个领域内的函数
y1(x)=y(x)+αη(x)
,那么当
α
充分小,应该有
Q[y1(x)]≤Q[y(x)]
。由于泛函
Q[y(x)+αη(x)]=ψ(α)
也是
α
的函数,于是由Fermat定理知应该有
ψ′(0)=0
。
又
\begin{align} \psi'(0) = \psi'(\alpha) |_{\alpha = 0} & = \left. \frac{\mbox{d}}{\mbox{d} \alpha} \left( \int_a^b F(x, y(x) + \alpha \eta(x), y'(x) + \alpha \eta'(x)) \mbox{d}x \right) \right|_{\alpha = 0} \nonumber \\ \label{Euler-Lagrange} & = \left. \left( \int_a^b \frac{\mbox{d} F(x, y(x) + \alpha \eta(x), y'(x) + \alpha \eta'(x))}{\mbox{d} \alpha} \mbox{d}x \right) \right|_{\alpha = 0} \\ & = \left. \left( \int_a^b F_y \frac{\mbox{d} (y(x) + \alpha \eta(x))}{\mbox{d} \alpha} + F_{y'} \frac{\mbox{d} (y'(x) + \alpha \eta'(x))}{\mbox{d} \alpha} \mbox{d}x \right) \right|_{\alpha = 0} \nonumber \\ & = \left. \left( \int_a^b F_y \eta(x) + F_{y'} \eta'(x) \mbox{d}x \right) \right|_{\alpha = 0} \nonumber \\ & = \int_a^b F_y \eta(x) \mbox{d}x + \int_a^b F_{y'} \eta'(x) \mbox{d}x \nonumber \\ & = \int_a^b F_y \eta(x) \mbox{d}x + \left. F_{y'} \eta(x) \right|_a^b - \int_a^b \eta(x) \mbox{d} F_{y'} \ (\eta(a) = \eta(b) = 0) \nonumber \\ & = \int_a^b \left( F_y - \frac{\mbox{d} F_{y'}}{\mbox{d} x} \right) \eta(x) \mbox{d}x \nonumber \end{align}
其中(
???
)式交换了积分和求导的顺序(正确性稍后给出证明)。于是
∫ba(Fy−dFy′dx)η(x)dx=0
由预备定理知
Fy=dFy′dx
这就是Euler-Lagrange方程。
(
???
)式中第三个等号可以交换积分和求导的顺序是因为
ψ(α+Δα)−ψ(α)Δα=Q[y(x)+(α+Δα)η(x)]−Q[y(x)+αη(x)]Δα=∫baF(x,y(x)+(α+Δα)η(x),y′(x)+(α+Δα)η′(x))−F(x,y(x)+αη(x),y′(x)+αη′(x))Δαdx=∫baFα(x,y(x)+(α+θΔα)η(x),y′(x)+(α+θΔα)η′(x))dx (θ∈(0,1))
其中最后一个等号是因为Lagrange中值定理(所以
F
的连续性和可导性是必须的,否则无法使用中值定理)。于是由
F各个偏导数的连续性可知对于
∀ϵ>0
,总可以找到充分小的
Δα
使得
|Fα(x,y(x)+(α+θΔα)η(x),y′(x)+(α+θΔα)η′(x))−Fα(x,y(x)+αη(x),y′(x)+αη′(x))|<ϵ
因此
∣∣∣ψ(α+Δα)−ψ(α)Δα−∫baFα(x,y(x)+αη(x),y′(x)+αη′(x))dx∣∣∣≤∫ba|Fα(x,y(x)+(α+θΔα)η(x),y′(x)+(α+θΔα)η′(x))−Fα(x,y(x)+αη(x),y′(x)+αη′(x))|dx<ϵ(b−a)
当
ϵ→0
有
Δα→0
,于是
ddα(∫baF(x,y(x)+αη(x),y′(x)+αη′(x))dx)=∫badF(x,y(x)+αη(x),y′(x)+αη′(x))dαdx
四、三个应用
下面我们看三个具体的应用。
求连接
(0,0)
和
(1,1)
的所有曲线中长度最短的曲线,借助几何知识可知应该是直线的长度最短,下面我们用变分法来求解,也即求泛函
∫101+y′2−−−−−−√dx
的极值,记
F(x,y(x),y′(x))=1+y′2−−−−−−√
,于是
FyFy′=0=y′1+y′2−−−−−−√
由Euler-Lagrange方程知
ddx(y′1+y′2−−−−−−√)=0
故
y′1+y′2−−−−−−√=C
其中
C
为某一常数,整理得
y′=±c1−c2−−−−−√
故最优曲线的斜率为常数,也即直线,由边界条件可知是
y=x
。
回归问题的目标函数可以写成
miny E[L]=∫x∫tL(t,y(x))p(x,t)dtdx
其中
y
是待求的对观测数据的拟合函数,
t是样本
x
的观测值,
L
是损失函数,目标则是找到最优的
y使得期望损失最小。特别地,若取损失函数为平方损失,即
L=(y(x)−t)2
,则记
F(x,y(x),y′(x))=∫t(y(x)−t)2p(x,t)dt
于是
FyFy′=∫t2(y(x)−t)p(x,t)dt=0
由Euler-Lagrange方程知
∫ttp(x,t)dt=∫ty(x)p(x,t)dt=y(x)p(x)
故
y(x)=∫ttp(x,t)dtp(x)=∫ttp(t|x)dt=E[t|x]
也即对于最小二乘回归,其最优拟合函数是给定输入的条件期望。
对于任意满足如下限制条件
\begin{align} \label{Gauss 1} \int_{-\infty}^\infty p(x) \mbox{d}x & = 1 \\ \label{Gauss 2} \int_{-\infty}^\infty x p(x) \mbox{d}x & = \mu \\ \label{Gauss 3} \int_{-\infty}^\infty (x - \mu)^2 p(x) \mbox{d}x & = \sigma^2 \end{align}
的概率分布,其中使得熵最大的是正态分布。
由于是约束优化问题,引入Lagrange乘子
λ1
,
λ2
和
λ3
,目标函数可写为
minp(x) ∫∞−∞p(x)lnp(x)dx−λ1(∫∞−∞p(x)dx−1)−λ2(∫∞−∞xp(x)dx−μ)−λ3(∫∞−∞(x−μ)2p(x)dx−σ2)
将关于
p(x)
的项单独提出来记为
F(x,p(x),p′(x))
,则
F(x,p(x),p′(x))=p(x)lnp(x)−λ1p(x)−λ2xp(x)−λ3(x−μ)2p(x)
于是
FpFp′=lnp(x)+1−λ1−λ2x−λ3(x−μ)2=0
由Euler-Lagrange方程知
\begin{align} \label{Gauss 4} p(x) = \mbox{exp} (- 1 + \lambda_1 + \lambda_2 x + \lambda_3 (x - \mu)^2) \end{align}
将(
???
)回代入(
???
)、(
???
)、(
???
)并令
y=x−μ
可得
\begin{align} \label{Gauss 5} \int_{-\infty}^\infty \mbox{exp} (- 1 + \lambda_1 + \lambda_2 (y + \mu) + \lambda_3 y^2) \mbox{d}y & = 1 \\ \label{Gauss 6} \int_{-\infty}^\infty (y + \mu) \mbox{exp} (- 1 + \lambda_1 + \lambda_2 (y + \mu) + \lambda_3 y^2) \mbox{d}y & = \mu \\ \label{Gauss 7} \int_{-\infty}^\infty y^2 \mbox{exp} (- 1 + \lambda_1 + \lambda_2 (y + \mu) + \lambda_3 y^2) \mbox{d}y & = \sigma^2 \end{align}
(
???
)
−μ
(
???
)可得
\begin{align}\label{Gauss 7}\int_{-\infty}^\infty y \mbox{exp} ( -1 + \lambda_1 + \lambda_2 \mu + \lambda_2 y + \lambda_3 y^2) \mbox{d}y = 0 \end{align}
将其中的非零常数项
exp(−1+λ1+λ2μ)
丢掉,然后
2λ3
(
???
)
+λ2
(
???
)可得
λ2=∫∞−∞(λ2+2λ3y)exp(λ2y+λ3y2)dy=limy→∞exp(λ2y+λ3y2)−limy→−∞exp(λ2y+λ3y2)
注意
λ2
和
λ3
都是有限常数,因此随着
y
趋向无穷,
λ2y+λ3y2要么趋向
∞
,要么趋向
−∞
,又
limx→∞exp(x)=∞, limx→−∞exp(x)=0
因此只可能是
λ2=0
且
limy→∞λ2y+λ3y2=−∞, limy→−∞λ2y+λ3y2=−∞
故
λ3<0
。此时,由(
???
)可知
1=∫∞−∞exp(−1+λ1+λ3y2)dy=exp(−1+λ1)∫∞−∞exp(−(−2λ3−−−−√y)22)dy=exp(−1+λ1)1−2λ3−−−−√∫∞−∞exp(−z22)dz (z=−2λ3−−−−√y)=exp(−1+λ1)2π−−√−2λ3−−−−√
于是
\begin{align} \label{Gauss 8} \mbox{exp} (- 1 + \lambda_1) = \sqrt{-\frac{\lambda_3}{\pi}} \end{align}
由(
???
)可知
σ2=−λ3π−−−−−√∫∞−∞y2exp(λ3y2)dy=2−λ3π−−−−−√∫∞0y2exp(λ3y2)dy=−λ3π−−−−−√1λ3∫∞0y(2λ3yexp(λ3y2))dy=−λ3π−−−−−√yexp(λ3y2)λ3∣∣∣∞0−−λ3π−−−−−√1λ3∫∞0exp(λ3y2)dy=−−λ3π−−−−−√1λ312−πλ3−−−−−√=−12λ3
于是
\begin{align} \label{Gauss 9} \lambda_3 = - \frac{1}{2 \sigma^2} \end{align}
将(
???
)和(
???
)代入(
???
)可得
p(x)=exp(−1+λ1+λ3(x−μ)2)=−λ3π−−−−−√exp(λ3(x−μ)2)=12πσ2−−−−√exp(−(x−μ)22σ2)