欢迎使用CSDN-markdown编辑器

转载(原链接已失效)
变分法简介 - 慕容熙熙
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 ,只要
maxaxb|y1(x)y(x)|<ϵba
则有
|Q[y1(x)]Q[y(x)]|=ba(y1(x)y(x))dxba|y1(x)y(x)|dx<baϵbadx=ϵ
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))2dxbay2(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(maxaxb|δy(x)|)2(ba)
故对于第二项有
limmaxaxb|δy(x)|0ba(δy(x))2dxmaxaxb|δy(x)|limmaxaxb|δy(x)|0(maxaxb|δy(x)|)2(ba)maxaxb|δy(x)|=limmaxaxb|δy(x)|0maxaxb|δy(x)|(ba)=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) 的连续性知存在正数 δ 使得当 |xx0|<δ 时有 f(x)>0 。 现作函数

ψ(x)=0e1(xx0)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+δ)+00x(x0+δ)=0
再考虑左导数,易知
limx(x0+δ)ψ(x)ψ(x0+δ)x(x0+δ)=limx(x0+δ)e1(xx0)2δ20x(x0+δ)=limtet(1t+δ2)12δ (t=1(xx0)2δ2)=limtet12(1t+δ2)12(1t2)=limt(2)ett2(1t+δ2)12
其中倒数第二个等号由L’Hospital法则推出。注意
limt(1t+δ2)12=δ
limtett2=limtt2et=limt2tet=limt2et=0
故左导数也为 0 ,由于左右导数相等,因此ψ(x) x0+δ 导数为 0

下面再证导数的连续性,先考虑右极限,由于当x>x0+δ ψ(x)0 ,所以当 x>x0+δ ψ(x)0 ,于是 limx(x0+δ)+ψ(x)=0

再考虑左极限,当 x<x0+δ 时有

ψ(x)=e1(xx0)2δ22(xx0)((xx0)2δ2)2
于是
limx(x0+δ)ψ(x)=limx(x0+δ)e1(xx0)2δ22(xx0)((xx0)2δ2)2=limt(2)ett2(1t+δ2)12 (t=1(xx0)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(FydFydx)η(x)dx=0
由预备定理知
Fy=dFydx
这就是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))dxba|Fα(x,y(x)+(α+θΔα)η(x),y(x)+(α+θΔα)η(x))Fα(x,y(x)+αη(x),y(x)+αη(x))|dx<ϵ(ba)
ϵ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+y2dx
的极值,记 F(x,y(x),y(x))=1+y2 ,于是
FyFy=0=y1+y2
由Euler-Lagrange方程知
ddx(y1+y2)=0
y1+y2=C
其中 C 为某一常数,整理得
y=±c1c2
故最优曲线的斜率为常数,也即直线,由边界条件可知是 y=x
回归问题的目标函数可以写成
miny E[L]=xtL(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)dx1)λ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=limyexp(λ2y+λ3y2)limyexp(λ2y+λ3y2)
注意 λ2 λ3 都是有限常数,因此随着 y 趋向无穷,λ2y+λ3y2要么趋向 ,要么趋向 ,又
limxexp(x)=, limxexp(x)=0
因此只可能是 λ2=0
limyλ2y+λ3y2=, limyλ2y+λ3y2=
λ3<0 。此时,由( ??? )可知
1=exp(1+λ1+λ3y2)dy=exp(1+λ1)exp((2λ3y)22)dy=exp(1+λ1)12λ3exp(z22)dz (z=2λ3y)=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λ30y(2λ3yexp(λ3y2))dy=λ3πyexp(λ3y2)λ30λ3π1λ30exp(λ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πσ2exp((xμ)22σ2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值