[转载] 通俗理解泛函和泛函的梯度下降流

声明:本文非原创,转载自《小腹黑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)\) 的连续变化方向)。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值