其他分享
首页 > 其他分享> > 通俗理解泛函和泛函的梯度下降流

通俗理解泛函和泛函的梯度下降流

作者:互联网

声明:本文非原创,转载自《小腹黑zju的博客

泛函的概念

函数 \(y=f(x)\) 是一个变量 \(x∈R\) 到 \(y∈R\) 的一个映射,而泛函是表示一个空间集合\(u∈R^N\)到\(R\)的映射。

说起来比较抽象,以一个例子说明:可以想象一个三维空间内有无数条不同的曲线,这些曲线组成了空间集合 \(u\),每一条曲线表示该集合 \(u\) 的一个元素(\(u\) 类似于函数中的 \(x\) 变量,具体一条曲线对应 \(x\) 变量的某个具体值),这些曲线在实数 \(R\) 上都有一个值与之对应,当曲线变化时,对应的值也相应发生变化。

值得一提的是,由于 \(u\) 集合中的每条曲线对应一个值,该值实际上是表征了具体某条直线的特性(比如曲线的总长),这是一条曲线的整体对应了某个值,所以当具体一条曲线上的某个变量在变动时,该曲线对应的值是不变的,也就是说曲线上的变量变动对泛函无意义,而是整条曲线作为变量(比如一条曲线变成了集合 \(u\) 中的另一条曲线)对泛函值的改变才有贡献。这也就是为什么称泛函是 “函数的函数” 的原因(第一个函数表示 \(u\) 集合中的各条曲线,第二个函数表示曲线集合到实数 \(R\) 的映射)。

泛函的梯度下降流

为了更好地理解泛函的梯度下降流,首先来看函数的导数。什么是函数的导数?

函数的导数其实就是函数的增加方向。比如 \(u=x^2+y^2-9\) 的函数,用三维图表达该函数如下图。 \(u\) 的导数 \(u'=2x+2y\) ,指示的是 \(u\) 值的增加方向,这里的 \(x, y\) 表示向量,亦可写成 \(u'=(2x, 2y)\)。

类似于函数导数的概念,泛函的一阶变分(即类似于一阶导数)指示的是泛函的增加方向。因此一阶变分的负值就是该泛函的梯度下降流

比如一个能量 \(E(u)=\int{f(x, u(x), \nabla u(x))}dx\) 关于 \(u\) 的一阶变分 \(E'(u)\) 的负值,即 \(-E'(u)\) 就是该能量泛函的梯度下降流,也就是说函数集 \(u\) 随着该方向行走,其对应的能量会逐步减少。例如 \(u\) 有其中一个函数 \(u(i)\) 对应能量 \(E(i)\) , \(u(i+1)=u(i)+(-E'(u))\triangle t\) 表示 \(-E'(u)\) 的方向走了一个步长 \(\triangle t\) 后沿着所对应的能量 \(\frac{E(i+1)du}{dt}=\frac{u(i+1)-u(i)}{\triangle t}=-E'(u)=-\frac{dE(u)}{du}\) ,这个就是我们常见图像处理中的能量泛函下降流(流的意思就是从一个 \(u(i)→u(i+1)\) 的连续变化方向)。

标签:函数,导数,泛函和泛,梯度,曲线,泛函,集合,通俗,对应
来源: https://www.cnblogs.com/zhyantao/p/11096038.html