泛函 (functional)

  • 泛函F[y] 是函数的函数,即它的输入是函数 y(x),输出是实数 F。这个输出值取决于一个或多个函数 (输入) 在一整个路径上的积分而非像一般函数一样取决于离散的变量。比如计算两点间的距离,输入是连接两点的曲线,输出是曲线长度。在 ML 的场景下,一个最常见的泛函就是 H[x],熵的输入为随机变量 x 的概率分布 p(x),输出为实数,因此也可被写作 H[p]

Calculus of Variations

  • 变分法就是找到一个函数 y(x) 使得 F[y] 最大/最小。例如找到两点间的最短路径为直线,使得微分熵最大的概率分布是正态分布


欧拉-拉格朗日方程

(1) 对于函数 y(x),添加一个微小扰动 ϵ0 后用泰勒展开可得下式 (多项式的一阶导与原函数相同)

               

对于多变量函数 y(x1,,xD),泰勒展开式如下 (多项式的一阶偏导与原函数相同)

类似地,我们可以给泛函添加一个微小扰动 ϵη(x)。通常在变分法中,泛函是一个积分,即

因此给泛函添加一个微小扰动就相当于给积分路径上的无数个变量都添加了扰动,将多变量函数的泰勒展开进行推广可以得到泛函的泰勒展开式

其中,δF/δy(x) 为泛函 F[y]  y(x) 的导数

(2) G 可以是函数 y(x)  y(x) 各阶导数的函数 (由于 y(x)  x 的函数,因此 G 也是 x 的函数)。为了说明方便,我们先姑且设 G  y(x)  y(x) 的函数,所以我们可以将泛函写成:

F[y] 一个扰动并用泰勒公式展开可以得到



将第 2 项分部积分可以得到

其中最后一个等式是因为 y(x) 的值在积分边界上是固定的,例如求两点间距离时,曲线在两个端点处的取值必须相同,因此扰动 η(x) 在积分边界上值为 0,
F[y(x)+ϵη(x)]
 可写作下式:

(3) 对比 (1) (2) 中推得的式子可知

例如,对于

欧拉-拉格朗日方程为

  •    
  •  另外,如果 G 只与 y 有关,则欧拉-拉格朗日方程为


变分法示例:求两个固定点之间的最短路径

References