Administrator
发布于 2026-09-09 / 0 阅读
0
0

反问题(整合版):优化方法、图像复原、贝叶斯推断与 MCMC

逆问题导论

本课程整体分成两部分,第一部分主要是优化方法、图像复原和源分离,第二部分涉及估计理论、贝叶斯推断以及马尔可夫链蒙特卡洛方法。两个方向代表了求解逆问题的两大主流框架:一个是基于概率统计的贝叶斯方法,另一个是基于数学优化的确定性方法。

课程结构

第一部分课程分为四个章节。第一节介绍不适定逆问题的基本概念以及估计理论的理论基础。第二节和第三节聚焦于求解方法,包括优化算法和贝叶斯推断与MCMC方法。第四节是案例研究,结合课程讲授和实践练习,涵盖图像复原中的反卷积问题、断层成像中的图像重建问题、高光谱解混问题以及稀疏重建问题。

图像的数学定义

灰度图像本质上是对场景的一种函数表示。对于二维图像,可以定义映射

f: \mathbb{R}^2 \longrightarrow [0,A], \quad (x,y) \longmapsto f(x,y)

这里 f 将平面上的每一个坐标点 (x,y) 映射到一个介于 0A 之间的实数值。对于三维图像,类似地定义

f: \mathbb{R}^3 \longrightarrow [0,A], \quad (x,y,z) \longmapsto f(x,y,z)

函数值 f 表示该位置的强度或灰度级。灰度值为 0 对应黑色,灰度值为 A 对应白色。参数 A 是灰度的最大取值,决定了图像的动态范围。在实际应用中,A 的取值取决于图像的量化位数,例如8位图像中 A=255。这种函数化的表示方式使得图像处理问题可以纳入数学分析的框架,便于后续的逆问题建模

图像的一维信号视角

一幅二维图像可以被理解为一维信号的集合。以经典的Lena图像为例,如果在图像上选取一条水平线,沿着这条线读取每个像素的灰度值,就得到一条一维信号曲线。图中红色和蓝色两条曲线分别对应图像上两条不同水平位置的切片。曲线的横轴是像素的水平坐标,纵轴是对应位置的灰度值。这种视角将二维图像处理问题与一维信号处理建立了联系,使得信号处理中的滤波、频谱分析等工具可以自然地推广到图像领域。

image-20251204143648993

观察一维切片曲线可以发现,曲线在某些区域变化平缓,在另一些区域则剧烈振荡。这种变化的快慢程度用空间频率来刻画。低频分量对应图像中灰度值变化缓慢的均匀区域,例如人脸的皮肤部分或背景区域。高频分量则对应灰度值急剧变化的位置,包括物体的轮廓边缘和纹理细节。

数值图像的矩阵表示

连续图像经过空间采样后成为数值图像,定义在离散的网格上。采样将连续的二维平面划分为规则排列的小方块,每个小方块称为一个像素。整幅图像可以用一个 M \times N 的矩阵 A(I,J) 来表示,其中 M 是水平方向的像素数,N 是垂直方向的像素数。位置 (I,J) 处的像素就是网格中第 I 列、第 J 行的那个基本方块,矩阵元素 A(I,J) 存储该像素的灰度值。

image-20251204144034002

频域滤波与高通滤波

在频域对图像进行滤波可以选择性地保留或去除特定频率的成分。高通滤波器允许高频分量通过而抑制低频分量,其效果是突出图像中的边缘和细节,同时去除均匀区域的信息。滤波后的图像主要显示轮廓线条,整体变暗,因为大面积的均匀灰度被滤除了。

实现高通滤波的一种方法是计算图像的梯度。对于图像 A(x,y),其梯度定义为

\nabla A(x,y) = \begin{bmatrix} \frac{\partial A}{\partial x}(x,y) \\[6pt] \frac{\partial A}{\partial y}(x,y) \end{bmatrix}

第一个分量 \frac{\partial A}{\partial x}(x,y) 表示灰度值沿水平方向的变化率,第二个分量 \frac{\partial A}{\partial y}(x,y) 表示沿垂直方向的变化率。在均匀区域,灰度值几乎不变,两个偏导数都接近零,在边缘处,灰度值沿某个方向快速变化,对应的偏导数绝对值较大。

为了得到一个标量值来表征每个位置的边缘强度,通常计算梯度的模

\|\nabla A(x,y)\| = \sqrt{\left(\frac{\partial A}{\partial x}(x,y)\right)^2 + \left(\frac{\partial A}{\partial y}(x,y)\right)^2}

梯度模综合了水平和垂直两个方向的变化信息,其值越大表示该位置的灰度变化越剧烈,越可能是边缘点。将梯度模作为新图像显示出来,就得到了边缘检测的结果,原图中的轮廓被清晰地提取出来。

离散梯度的计算

在连续情况下,图像的偏导数定义为灰度函数的极限形式。但对于数值图像,像素排列在离散网格上,无法直接计算极限,需要用差分来近似微分。设图像矩阵为 A,像素间距在水平方向为 \Delta x,在垂直方向为 \Delta y。位置 (I,J) 处沿 x 方向的偏导数可以用前向差分近似为

\frac{\partial A}{\partial x}(I,J) = \frac{A(I+1,J) - A(I,J)}{\Delta x}

用相邻两个像素的灰度值之差除以它们之间的距离,得到该位置灰度变化率的近似值。当 \Delta x = 1(以像素为单位)时,偏导数就简化为相邻像素的灰度差 A(I+1,J) - A(I,J)

图像的拉普拉斯算子

除了梯度之外,拉普拉斯算子是另一种提取图像高频信息的微分算子。图像 A(x,y) 的拉普拉斯定义为

\Delta A(x,y) = \frac{\partial^2 A}{\partial x^2}(x,y) + \frac{\partial^2 A}{\partial y^2}(x,y)

拉普拉斯算子是二阶微分算子,由水平方向的二阶偏导数与垂直方向的二阶偏导数相加构成。从物理意义上理解,一阶导数衡量灰度值的变化率,而二阶导数衡量变化率本身的变化率。在边缘位置,灰度值快速跳变,一阶导数出现极值,而二阶导数则在边缘处过零。拉普拉斯算子对边缘的响应比梯度更加尖锐,能够更精细地定位边缘的确切位置。

image-20251204144606548

对Lena图像应用拉普拉斯算子后取绝对值 |\Delta A|,得到的滤波结果同样突出了图像的轮廓和纹理细节。与梯度模的结果相比,拉普拉斯滤波对细节的响应更加敏感,但也更容易受到噪声的影响,因为高阶微分会放大信号中的高频噪声成分。

离散拉普拉斯算子

连续拉普拉斯算子是二阶偏导数之和。在离散情况下,二阶偏导数用二阶差分近似,我们假设一个4-邻域卷积核

\begin{bmatrix} 0 & 1 & 0 \\ 1 & -4 & 1 \\ 0 & 1 & 0 \end{bmatrix}

最终得到的离散拉普拉斯算子作用于位置 (I,J) 的结果为

B(I,J) = 4A(I,J) - A(I-1,J) - A(I+1,J) - A(I,J-1) - A(I,J+1)

中心像素的灰度值乘以4,减去其上下左右四个相邻像素的灰度值之和。如果中心像素与邻域的平均灰度相近,B(I,J) 接近零,如果中心像素明显亮于或暗于周围像素,B(I,J) 的绝对值就会较大。这正好对应了边缘和纹理位置的响应特性。

计算成像的基本思想

在许多现代成像系统中,仪器本身并不直接输出最终图像。无论是CT扫描仪、核磁共振成像设备还是显微镜,它们采集到的原始数据都需要经过复杂的算法处理才能重建出可供观察的图像。这种将数据采集与图像重建分离的工作就是计算成像的思路,仪器负责获取某种形式的测量数据,而图像的生成则依赖于后端的重建算法。

磁共振成像中的图像重建

数据采集过程

磁共振成像是计算成像的典型例子。MRI设备采集的原始数据不是空间域的图像,而是图像傅里叶变换在特定位置的采样值。数据采集过程可以表示为

\boldsymbol{y}_\Omega = (\mathcal{F}\boldsymbol{x})(\Omega)

这里 \boldsymbol{x} 是待重建的图像,\mathcal{F} 表示傅里叶变换算子,\Omega 是k空间中的采样轨迹。采集到的数据 \boldsymbol{y}_\Omega 是图像频谱在采样点集合 \Omega 上的取值。

image-20251204144824534

图中左侧显示的点状图案就是k空间的采样模式,点的分布并非均匀覆盖整个频率平面,而是沿着特定的轨迹分布。这种非均匀采样可以显著缩短扫描时间,但不利于重建。

逆问题的数学表述

从部分傅里叶采样数据恢复完整图像是一个逆问题。直接对采样数据做逆傅里叶变换会因为采样不完整而产生严重的伪影。为了获得高质量的重建结果,需要将问题表述为一个优化问题

\hat{\boldsymbol{x}} = \arg\min_{\boldsymbol{x} \in \mathbb{C}^N} \|\boldsymbol{y}_\Omega - (\mathcal{F}\boldsymbol{x})(\Omega)\|_2^2 + \lambda\|\boldsymbol{\Psi}\boldsymbol{x}\|_1

第一项 \|\boldsymbol{y}_\Omega - (\mathcal{F}\boldsymbol{x})(\Omega)\|_2^2 是数据保真项,要求重建图像的傅里叶变换在采样位置上与观测数据尽可能接近,这确保了重建结果与测量数据的一致性。

第二项 \|\boldsymbol{\Psi}\boldsymbol{x}\|_1 是正则化项,其中 \boldsymbol{\Psi} 是某种稀疏变换算子,\ell_1 范数促使变换系数具有稀疏性。参数 \lambda > 0 控制数据保真与正则化之间的权衡。通过引入图像在变换域稀疏的先验知识,即使采样数据不完整,也能够重建出清晰的图像。

图像重建的基本框架

图像重建问题可以抽象为一个逆问题:从观测数据 \boldsymbol{y} 中恢复原始信号 \boldsymbol{x},其中观测模型为

\boldsymbol{y} = A\boldsymbol{x} + \boldsymbol{b}

这里 A 是描述成像系统的前向算子,\boldsymbol{b} 表示噪声或其他干扰。矩阵 A 将未知的图像 \boldsymbol{x} 映射到观测空间,具体形式取决于成像系统的物理特性。

最小二乘估计

最直接的重建方法是最小二乘估计,即寻找使残差平方和最小的解

\hat{\boldsymbol{x}}_{\text{LS}} = \arg\min_{\boldsymbol{x}} \|\boldsymbol{y} - A\boldsymbol{x}\|^2

这个优化问题的解是正规方程

A^t A \boldsymbol{x} = A^t \boldsymbol{y}

A^t A 可逆时,解可以显式写为

\hat{\boldsymbol{x}}_{\text{LS}} = (A^t A)^{-1} A^t \boldsymbol{y}
条件数与数值稳定性

矩阵 A^T A 的条件数定义为其最大特征值与最小特征值之比

\text{Cond}(A^T A) = \frac{\lambda_{\max}(A^T A)}{\lambda_{\min}(A^T A)} \geq 1

条件数衡量矩阵的病态程度。当条件数接近1时,矩阵是良态的,数值求解稳定,当条件数很大时,矩阵是病态的,求逆过程会放大误差。

如果 A^T A 不可逆,则其最小特征值 \lambda_{\min} = 0,此时条件数为

\text{Cond}(A^T A) = +\infty

条件数无穷大意味着问题严重病态。在这种情况下,正规方程有无穷多解,且解对数据中的微小扰动极其敏感。这正是为什么逆问题中需要引入正则化:通过添加约束来改善问题的条件数,使求解更稳定。

线性最小二乘的凸性

考虑如下形式的优化问题

\min_{\boldsymbol{x}} F_1(\boldsymbol{x})^2 + \cdots + F_p(\boldsymbol{x})^2

将目标函数记为 f(\boldsymbol{x}) = F_1(\boldsymbol{x})^2 + \cdots + F_p(\boldsymbol{x})^2,它是 p 个函数平方的和,正是最小二乘问题的结构。

如果每一个 F_i(\boldsymbol{x}) 对于所有 i 都是关于 \boldsymbol{x} 的线性函数,那么目标函数 f 是凸函数。这是因为线性函数的平方是凸函数,而凸函数的非负线性组合仍然是凸函数。

目标函数的微分

对于线性最小二乘目标函数

g(\boldsymbol{x}) = \|\boldsymbol{y} - A\boldsymbol{x}\|^2

其梯度为

\nabla g(\boldsymbol{x}) = 2A^T(A\boldsymbol{x} - \boldsymbol{y})

Hessian矩阵是梯度对 \boldsymbol{x} 再次求导

H(\boldsymbol{x}) = 2A^T A

Hessian矩阵是常数矩阵,与 \boldsymbol{x} 无关

Hessian矩阵的半正定性

\lambdaH = 2A^T A 的一个特征值,对应的特征向量为 \boldsymbol{x} \neq \boldsymbol{0},则满足

2A^T A \boldsymbol{x} = \lambda \boldsymbol{x}

两边左乘 \boldsymbol{x}^T 得到

2\boldsymbol{x}^T A^T A \boldsymbol{x} = \lambda \boldsymbol{x}^T \boldsymbol{x}

左边可以改写为 2(A\boldsymbol{x})^T(A\boldsymbol{x}) = 2\|A\boldsymbol{x}\|^2,右边为 \lambda\|\boldsymbol{x}\|^2,因此

2\|A\boldsymbol{x}\|^2 = \lambda\|\boldsymbol{x}\|^2

由于 \|A\boldsymbol{x}\|^2 \geq 0\|\boldsymbol{x}\|^2 > 0(因为 \boldsymbol{x} \neq \boldsymbol{0}),可得 \lambda \geq 0。这说明 A^T A 的所有特征值都非负,即 A^T A 是半正定矩阵。Hessian矩阵半正定保证了目标函数 g(\boldsymbol{x}) 是凸函数。

正规方程的三种情况

正规方程 A^T A \boldsymbol{x} = A^T \boldsymbol{y} 的求解性质取决于矩阵 A^T A 的可逆性和条件数。当观测数据存在扰动时,正规方程变为 A^T A \boldsymbol{x} = A^T(\boldsymbol{y} + \delta \boldsymbol{y}),扰动对解的影响程度由 A^T A 的性质决定。

(1) A^T A 不可逆

A^T A 是奇异矩阵时,正规方程有无穷多解。这意味着从给定的观测数据无法唯一确定未知信号,问题本身是欠定的。

(2) A^T A 可逆且良态

A^T A 可逆且条件数 \text{Cond}(A^T A) 适中时,问题是稳定的。观测数据中的小扰动 \delta \boldsymbol{y} 只会导致解的小变化,数值求解过程可靠。

(3) A^T A 可逆但病态

A^T A 可逆但条件数 \text{Cond}(A^T A) 很大时,问题是不稳定的。虽然解在数学上是唯一的,但观测数据中的微小扰动会被放大,导致解产生巨大偏差。这种情况下直接求解正规方程是不可靠的,需要通过正则化来改善问题的条件数。

矩阵维度与病态性

线性观测模型的维度分析

线性观测模型及其中各量的维度如下

\mathbf{y} = A\mathbf{x} \qquad \mathbf{y}\in \mathbb{R}^{m\times 1} \ \ \ \; A\in \mathbb{R}^{m\times n} \ \ \ \; \mathbf{x}\in \mathbb{R}^{n\times 1}

观测向量 \boldsymbol{y}m \times 1 的列向量,包含 m 个观测值,前向矩阵 Am \times n 的矩阵,未知向量 \boldsymbol{x}n \times 1 的列向量,包含 n 个待估计的参数。

\underbrace{ \begin{bmatrix} y_1 \\ y_2 \\ \vdots \\ y_m \end{bmatrix} }_{m\times 1} = \underbrace{ \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{bmatrix} }_{m\times n} \; \underbrace{ \begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{bmatrix} }_{n\times 1}

正规方程涉及的矩阵 A^T AA^T(尺寸 n \times m)与 A(尺寸 m \times n)相乘得到,结果是一个 n \times n 的方阵

\underbrace{A^{\mathsf{T}}}_{n\times m} \; \underbrace{A}_{m\times n} = \underbrace{A^{\mathsf{T}}A}_{n\times n}
欠定问题的秩亏缺

m < n 时,即观测数少于未知数,矩阵 A 是"胖"矩阵。此时 A^T A 虽然是 n \times n 的方阵,但其秩最多为 m,小于 n。这意味着 A^T A 存在零特征值。

A^T A 的特征值按降序排列为 \lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_m > 0,而剩余的 n - m 个特征值全为零

\lambda_{m+1} = \lambda_{m+2} = \cdots = \lambda_n = 0

由于 \lambda_{\min} = 0,条件数 \text{Cond}(A^T A) = \lambda_{\max}/\lambda_{\min} = +\infty。这表明问题严重病态,A^T A 不可逆,正规方程有无穷多解。

病态性的物理含义

病态意味着 A^T A 的特征值跨越很大的数量级。在求解过程中,小特征值对应的分量会被严重放大。具体地,如果将解表示为特征向量的线性组合,那么对应小特征值的系数在求逆时会除以接近零的数,导致该分量被放大到不合理的程度。观测数据中的微小噪声经过这种放大后,会使解产生巨大偏差。

正则化的必要性

解决病态问题的方法是正则化,即对解 \boldsymbol{x} 施加额外的约束。常见的约束包括像素值的非负性约束(因为图像灰度值不能为负)以及图像的平滑性约束(相邻像素之间的灰度值应该相近)。正则化通过引入先验信息来限制解的搜索空间,等效于修改 A^T A 的特征值结构,将零特征值或极小特征值抬升到合理范围,从而改善条件数,使求解过程稳定化。

基于主动轮廓的图像分割

图像分割的目标是从图像中提取感兴趣区域的边界。主动轮廓方法将轮廓定义为一条参数化曲线

M = f(s)

其中 s 是曲线参数,f(s) 给出曲线上每一点的坐标。算法从一个初始轮廓出发,通过迭代优化逐步演化,最终收敛到目标物体的真实边界。

image-20251204145626009

图中展示了分割脑部医学图像的过程:初始轮廓是一个粗略的闭合曲线,经过若干次迭代后,轮廓逐渐贴合脑组织的实际边缘。

优化目标的构建

主动轮廓应该停留在图像中对比度高的区域,即边缘位置。边缘处图像梯度的模较大,因此可以通过最大化轮廓上梯度模的积分来驱动轮廓向边缘移动

\max_f \int_s \|\nabla A(f(s))\|_2^2 \, ds

这里 \nabla A(f(s)) 是图像在轮廓点 f(s) 处的梯度,积分沿整条轮廓进行。梯度模越大,说明该点越可能位于边缘上。

同时,为了避免轮廓过于曲折或出现不合理的形状,需要对轮廓的光滑性加以约束。设 R(f) 是衡量轮廓光滑程度的泛函,约束 R(f) \leq A 限制了轮廓的总曲率或长度。完整的优化问题表述为

\max_f \int_s \|\nabla A(f(s))\|_2^2 \, ds \quad \text{subject to} \quad R(f) \leq A

这是一个带约束的变分问题,目标是在保持轮廓光滑的前提下,使轮廓尽可能贴合图像的边缘。

图像配准

图像配准的任务是找到两幅图像之间的空间对应关系。设 I_s 是源图像,I_t 是目标图像,配准问题可以表述为

\max_T S(I_t, T(I_s))

其中 T 是作用于源图像的几何变换,包括平移、旋转、缩放等操作,S 是衡量两幅图像相似程度的度量函数。优化的目标是找到一个变换 T,使得变换后的源图像 T(I_s) 与目标图像 I_t 之间的相似度最大。相似性度量 S 的选择取决于具体应用,常用的包括互相关、互信息等。

优化理论基础

逆问题的求解通常归结为优化问题,因此需要回顾优化理论的基本概念和方法。

无约束优化的一般形式

无约束优化问题的标准形式是

\text{Minimize } f(\boldsymbol{x})

其中 \boldsymbol{x} \in \mathbb{R}^n 是优化变量,是一个 n 维向量;f: \mathbb{R}^n \mapsto \mathbb{R} 是目标函数,也称为准则函数,它将 n 维空间中的每一点映射到一个实数值。优化的目标是找到使 f 取得最小值的点 \boldsymbol{x}^*

面对一个优化问题,需要回答三个层面的问题。首先是解的存在性与唯一性:目标函数是否存在最小值点?如果存在,是否唯一?其次是算法选择:应该采用什么数值算法来求解?不同的问题结构适合不同的算法。最后是算法复杂度:算法的计算时间和内存占用如何随问题规模增长?这决定了算法在实际应用中的可行性。

有约束优化的一般形式

当优化变量需要满足某些限制条件时,问题变为有约束优化

\text{Minimize } f(\boldsymbol{x}) \quad \text{subject to} \quad \begin{cases} g_i(\boldsymbol{x}) \leq 0, & i = 1, \ldots, p \\ h_i(\boldsymbol{x}) = 0, & i = 1, \ldots, q \end{cases}

约束分为两类:g_i(\boldsymbol{x}) \leq 0 是不等式约束,共有 p 个;h_i(\boldsymbol{x}) = 0 是等式约束,共有 q 个。所有满足约束条件的点构成可行域,优化只在可行域内进行。有约束问题比无约束问题更复杂,因为最优点可能位于可行域的边界上,此时普通的梯度为零条件不再适用,需要引入拉格朗日乘子等工具来处理。

目标函数的模态性

函数 f 是单峰的,如果它只有唯一的一个局部极小点。如果存在多个局部极小点,则称 f 是多峰的。单峰性与多峰性决定了优化问题的求解难度。

严格凸函数必然是单峰的,因为严格凸性保证了任何局部极小点都是全局唯一的极小点。对于一般的凸函数(不一定严格凸),虽然可能存在多个局部极小点(例如函数在某个区间上取常数值),但所有局部极小点都是全局极小点,这意味着任何局部搜索算法找到的解都是全局最优的。

image-20251204160711644

图示展示了三种情况:第一种是凸但多峰的函数,底部是一段平坦区域,该区域内的每一点都是全局极小点。第二种是非凸但单峰的函数,虽然曲线不满足凸性定义,但有一个极小点 x^*。第三种是非凸且多峰的函数,存在一个局部极小点 x^\dagger 和一个全局极小点 x^*,局部搜索算法可能陷入 x^\dagger 而无法到达真正的最优解。

凸性的定义与判别

凸函数的几何定义是,对于定义域内任意两点 x_1x_2,函数图像上连接 (x_1, f(x_1))(x_2, f(x_2)) 的线段始终位于函数曲线的上方或与之重合。严格凸函数要求线段严格位于曲线上方(端点除外),这意味着对于任意 \lambda \in (0,1),有 f(\lambda x_1 + (1-\lambda)x_2) < \lambda f(x_1) + (1-\lambda)f(x_2)。普通凸函数允许等号成立。非凸函数则存在某些点对,使得连线段穿过曲线下方。

常见的凸优化问题

线性规划的目标函数形式为

f(\boldsymbol{x}) = \boldsymbol{c}^T \boldsymbol{x} = \sum_i c_i x_i

这是关于 \boldsymbol{x} 的线性函数,线性函数既是凸函数也是凹函数。

二次规划中常见的目标函数包括最小二乘形式

f(\boldsymbol{x}) = \|\boldsymbol{y} - A\boldsymbol{x}\|_2^2

这个函数是凸的,因为它可以展开为 \boldsymbol{x}^T A^T A \boldsymbol{x} - 2\boldsymbol{y}^T A \boldsymbol{x} + \|\boldsymbol{y}\|^2,而 A^T A 是半正定矩阵。更一般的二次函数形式为

f(\boldsymbol{x}) = \frac{1}{2}\boldsymbol{x}^T H \boldsymbol{x} - \boldsymbol{b}^T \boldsymbol{x}

当矩阵 H 是对称半正定矩阵时,该函数是凸的。半正定性保证了二次项 \boldsymbol{x}^T H \boldsymbol{x} \geq 0 对所有 \boldsymbol{x} 成立,从而使整个函数呈现碗状的凸形态。如果 H 是正定的,则函数严格凸,存在唯一的全局极小点。

线性最小二乘问题

给定观测向量 \boldsymbol{y} \in \mathbb{R}^m 和矩阵 A \in \mathbb{R}^{m \times n},线性最小二乘问题的目标是找到

\boldsymbol{x}^* \in \arg\min_{\boldsymbol{x}} \|\boldsymbol{y} - A\boldsymbol{x}\|_2^2

最优解 \boldsymbol{x}^* 满足目标函数梯度为零的条件

\nabla_{\boldsymbol{x}} \|\boldsymbol{y} - A\boldsymbol{x}\|_2^2 = \boldsymbol{0}

对目标函数求梯度,利用链式法则可得

2A^T(A\boldsymbol{x}^* - \boldsymbol{y}) = \boldsymbol{0}

整理后得到正规方程

A^T A \boldsymbol{x}^* = A^T \boldsymbol{y}

m \geq n(方程数不少于未知数个数)且 A 是列满秩时,A^T An \times n 的可逆矩阵,解可以显式表示为

\boldsymbol{x}^* = (A^T A)^{-1} A^T \boldsymbol{y}

如果 A 不是列满秩的,则 A^T A 奇异,正规方程有无穷多解。此时可以引入广义逆的概念,在所有满足正规方程的解中选取 \ell_2 范数最小的那个作为解,这称为最小范数解。

非线性最小二乘问题

当前向模型不再是线性的,问题变为非线性最小二乘。给定 \boldsymbol{y} \in \mathbb{R}^m 和非线性映射 \varphi: \mathbb{R}^n \mapsto \mathbb{R}^m,目标是

\text{Minimize } \|\boldsymbol{y} - \varphi(\boldsymbol{x})\|_2^2

由于 \varphi 的非线性,目标函数通常是非凸的,可能存在多个局部极小点。与线性情况不同,这里没有闭式解,必须依赖迭代算法来数值求解。

无约束局部优化

基本假设与定义

在分析无约束优化问题时,通常假设目标函数 f: \mathbb{R}^n \to \mathbb{R}\mathcal{C}^1 类(一阶连续可微)或 \mathcal{C}^2 类(二阶连续可微)的。

目标函数 f(\boldsymbol{x}) 的梯度是一个 n 维向量,由各个分量的偏导数组成

\nabla f(\boldsymbol{x}) = \begin{bmatrix} \frac{\partial f}{\partial x_1} \\ \vdots \\ \frac{\partial f}{\partial x_n} \end{bmatrix} \in \mathbb{R}^n

梯度向量指向函数值增长最快的方向,其负方向则是函数值下降最快的方向。

目标函数的Hessian矩阵是二阶偏导数构成的 n \times n 矩阵

\boldsymbol{H}(\boldsymbol{x}) = \nabla^2 f(\boldsymbol{x}) = \begin{bmatrix} \cdots & \cdots & \cdots \\ \cdots & \frac{\partial^2 f}{\partial x_i \partial x_j} & \cdots \\ \cdots & \cdots & \cdots \end{bmatrix} \in \mathbb{R}^{n \times n}

Hessian矩阵描述了函数的局部曲率信息。当 f\mathcal{C}^2 类时,Hessian矩阵是对称的。

局部极小点的存在性

\mathcal{U}\mathbb{R}^n 的一个闭子集,f: \mathcal{U} \subset \mathbb{R}^n \to \mathbb{R} 是连续函数。如果满足以下两个条件之一:\mathcal{U} 是有界集,或者 f 具有强制性,即

\lim_{\substack{\|\boldsymbol{x}\| \to \infty \\ \boldsymbol{x} \in \mathcal{U}}} f(\boldsymbol{x}) = +\infty

f\mathcal{U} 上存在局部极小点。

强制性条件的直观含义是:当 \boldsymbol{x} 远离原点时,函数值趋向无穷大。这保证了函数不会在无穷远处取得最小值,极小点必然存在于某个有界区域内。有界闭集上的连续函数必然取得最大值和最小值,这是Weierstrass定理的结论。强制性条件将无界定义域的情况归结为有界情况,从而保证极小点的存在。

迭代算法

由于大多数优化问题没有闭式解,需要通过迭代算法数值求解。迭代算法从一个初始点 \boldsymbol{x}_0 出发,按照某种更新规则生成一系列迭代点 \boldsymbol{x}_0, \boldsymbol{x}_1, \ldots, \boldsymbol{x}_n。算法设计的核心目标是使迭代序列 \boldsymbol{x}_n 收敛到优化问题的解 \boldsymbol{x}^*。不同的算法通过不同的策略来构造每一步的更新方向和步长,以实现快速且稳定的收敛。

下降算法的基本框架

下降算法是一类迭代优化方法的统称,其核心思想是从初始点出发,每一步都沿着使目标函数值下降的方向移动,逐步逼近极小点。

算法从选定初始点 \boldsymbol{x}_0 开始,对于每一步迭代 k \geq 0,执行以下操作:首先确定一个下降方向 \boldsymbol{d}_k,然后选择一个正的步长 t_k > 0,最后按照更新公式计算下一个迭代点

\boldsymbol{x}_{k+1} = \boldsymbol{x}_k + t_k \boldsymbol{d}_k
步长选择策略

步长的选择有两种常见方式。第一种是固定步长策略,即对所有迭代步都使用相同的步长 t_k = t,这种方法实现简单,但步长选择不当可能导致收敛缓慢或发散。第二种是一维极小化策略,在每一步沿当前方向进行线搜索,找到使目标函数在该方向上取得最小值的步长

t_k = \arg\min_{t>0} f(\boldsymbol{x}_k + t\boldsymbol{d}_k)
下降性质与停止条件

下降算法的基本要求是保证每一步迭代后目标函数值严格下降,即对所有 k 满足 f(\boldsymbol{x}_{k+1}) < f(\boldsymbol{x}_k)

算法需要设定停止条件来判断何时终止迭代。常用的停止条件包括:

  • 目标函数值的改变量足够小 f(\boldsymbol{x}_k) - f(\boldsymbol{x}_{k+1}) < \varepsilon_1
  • 迭代点的移动距离足够小 \|\boldsymbol{x}_{k+1} - \boldsymbol{x}_k\|_2 < \varepsilon_2
  • 梯度的模足够小 \|\nabla f(\boldsymbol{x}_k)\|_2 < \varepsilon_3
  • 或者达到最大迭代次数 k = K_{\max}

初始点的选择对算法的表现有影响。对于单峰(凸)目标函数,理论上任意初始点 \boldsymbol{x}_0 都能收敛到全局最优解,但实际中好的初始点可以加速收敛。

基于梯度的算法

梯度下降法

梯度下降法选择负梯度方向作为下降方向,因为负梯度是函数值下降最快的方向。算法从 \boldsymbol{x}_0 出发,按如下规则迭代

\boldsymbol{x}_{k+1} \leftarrow \boldsymbol{x}_k - t_k \nabla f(\boldsymbol{x}_k)

步长 t_k 可以取固定值 t_k = t,也可以通过一维极小化确定

t_k \approx \arg\min_{t>0} f(\boldsymbol{x}_k - t\nabla f(\boldsymbol{x}_k))

梯度下降法实现简单,每步只需计算一阶导数,但收敛速度通常较慢,尤其当目标函数的等高线呈现细长椭圆形状时,迭代轨迹会出现锯齿形振荡。

共轭梯度法

共轭梯度法在梯度下降的基础上引入动量项,利用前一步的位移信息来修正当前的搜索方向

\boldsymbol{x}_{k+1} \leftarrow \boldsymbol{x}_k - t_k \nabla f(\boldsymbol{x}_k) + \beta_k (\boldsymbol{x}_k - \boldsymbol{x}_{k-1})

参数 \beta_k 控制动量项的权重。动量项的作用是让搜索方向保持一定的惯性,避免在狭长山谷中来回振荡,从而显著加快收敛速度。

牛顿法

牛顿法利用目标函数的二阶导数信息来构造更好的搜索方向。其迭代公式为

\boldsymbol{x}_{k+1} \leftarrow \boldsymbol{x}_k - t_k [\boldsymbol{H}(\boldsymbol{x}_k)]^{-1} \nabla f(\boldsymbol{x}_k)

这里 \boldsymbol{H}(\boldsymbol{x}_k) 是目标函数在 \boldsymbol{x}_k 处的Hessian矩阵。牛顿方向 [\boldsymbol{H}(\boldsymbol{x}_k)]^{-1} \nabla f(\boldsymbol{x}_k) 代表在 \boldsymbol{x}_k 处用二次函数近似原函数,然后直接跳到这个二次近似的极小点。

牛顿法的优点是收敛速度快,具有超线性收敛性,在极小点附近甚至是二次收敛的。缺点是计算代价高:每步需要计算 n \times n 的Hessian矩阵并求其逆,对于大规模问题不适用。

拟牛顿方法

拟牛顿方法的核心思想是:不显式计算Hessian矩阵 \boldsymbol{H}(\boldsymbol{x}_k),而是通过迭代过程中积累的梯度信息来构造其近似。

\boldsymbol{g}_k := \nabla f(\boldsymbol{x}_k) 表示第 k 步的梯度,\boldsymbol{H}_k 表示Hessian矩阵 \boldsymbol{H}(\boldsymbol{x}_k) 的近似,\boldsymbol{B}_k 表示Hessian逆矩阵 [\boldsymbol{H}(\boldsymbol{x}_k)]^{-1} 的近似。

推导基于梯度的一阶Taylor展开

\nabla f(\boldsymbol{x}_{k+1} + \boldsymbol{h}) = \nabla f(\boldsymbol{x}_{k+1}) + \boldsymbol{H}_{k+1}\boldsymbol{h} + o(\|\boldsymbol{h}\|)

\boldsymbol{h} = \boldsymbol{x}_k - \boldsymbol{x}_{k+1} 并忽略高阶项,得到 \boldsymbol{g}_k \approx \boldsymbol{g}_{k+1} + \boldsymbol{H}_{k+1}(\boldsymbol{x}_k - \boldsymbol{x}_{k+1}),整理后有

\boldsymbol{g}_{k+1} - \boldsymbol{g}_k = \boldsymbol{H}_{k+1}(\boldsymbol{x}_{k+1} - \boldsymbol{x}_k)

这称为割线条件,要求 \boldsymbol{H}_{k+1} 的近似满足这一关系。等价地,对于Hessian逆的近似 \boldsymbol{B}_{k+1},应满足

\boldsymbol{B}_{k+1}(\boldsymbol{g}_{k+1} - \boldsymbol{g}_k) = \boldsymbol{x}_{k+1} - \boldsymbol{x}_k
拟牛顿算法流程

选择初始点 \boldsymbol{x}_0,并设 \boldsymbol{B}_0 = \boldsymbol{I}_n(单位矩阵)作为初始的Hessian逆近似。对于 k = 0, 1, 2, \ldots,执行:

计算搜索方向

\boldsymbol{d}_k = -\boldsymbol{B}_k \boldsymbol{g}_k

通过线搜索确定步长

t_k = \arg\min_{t>0} f(\boldsymbol{x}_k + t\boldsymbol{d}_k)

更新迭代点

\boldsymbol{x}_{k+1} = \boldsymbol{x}_k + t_k \boldsymbol{d}_k

最后按照BFGS公式更新Hessian逆的近似 \boldsymbol{B}_{k+1} = \boldsymbol{B}_k + \ldots。BFGS更新公式保证 \boldsymbol{B}_{k+1} 满足割线条件且保持正定性。

拟牛顿方法在不计算二阶导数的情况下获得了接近牛顿法的收敛速度,是大规模优化问题中的主流方法。

全局优化

前面介绍的下降算法都是局部算法,它们的数值解 \hat{\boldsymbol{x}} 依赖于初始点 \boldsymbol{x}_0 的选择。如果目标函数存在多个局部极小点,局部算法只能找到其中一个,具体找到哪一个取决于初始点落在哪个吸引盆地内。

全局优化的目标是找到全局最优解,或至少找到一个较好的局部极小点。与局部算法相比,全局优化方法对初始化不那么敏感,并且能够跳出较差的局部极小点所在的山谷。实现这一目标通常需要借助随机变量的模拟,因此全局优化算法往往是随机算法。

实践中的策略选择

面对一个优化问题,首先应该尝试用局部求解器从多个不同的初始点出发进行求解。只有当局部优化的结果强烈依赖于初始点选择时,才考虑使用全局优化算法。对于单峰问题,尤其是凸问题和二次规划问题,绝对不应该使用全局优化算法,因为局部算法已经能保证找到全局最优解,而全局算法的额外开销是不必要的。

对全局优化的期望应该保持合理:目标是找到一个不太差的局部极小点,而非一定是全局最优。一般而言,全局算法无法保证在有限次迭代内找到全局极小点。

确定性算法与随机算法

如果算法的更新规则不涉及随机抽样,则称该算法是确定性的。对于给定的输入 \boldsymbol{x}_0,确定性算法每次运行都会产生完全相同的迭代序列 \boldsymbol{x}_k 和相同的输出 \hat{\boldsymbol{x}}。前面介绍的梯度下降、牛顿法、拟牛顿法都属于确定性算法。

如果算法在迭代过程中生成随机变量,则称该算法是随机的。用相同的初始点 \boldsymbol{x}_0 运行两次随机算法,会得到不同的迭代序列 \boldsymbol{x}_k 和不同的输出 \hat{\boldsymbol{x}}。随机算法的核心思想是尽可能有效地探索目标函数值较低的不同山谷区域。迭代点是某个随机过程的实现,算法通过定义一个概率密度函数来引导搜索方向。

全局优化求解器的选择

选择合适的全局优化方法取决于三个因素:问题的规模(变量个数)、局部极小点的数量、以及可用于数值计算的时间。

按照复杂度和计算时间递增的顺序,常见的全局优化方法包括:独立随机抽样探索、区间优化(确定性方法)、粒子群优化和遗传算法、以及模拟退火。

独立随机抽样

最简单的全局搜索策略是在可行域内独立地随机抽取若干个点,计算每个点的目标函数值,然后选取函数值最小的那个点作为解。

image-20251204161944732

图中展示了在一个多峰函数上随机抽取的点 x^1, x^2, \ldots, x^7,这些点独立地分布在定义域内,其中 x^3 恰好落在全局最小点附近。这种方法实现简单,但效率较低,尤其在高维空间中需要大量的采样点才能以较高概率覆盖到全局最优区域。

多起点方法

多起点方法结合了随机采样与局部优化的优点。首先在可行域内随机选取若干个初始点 x^1, x^2, x^3, x^4,然后从每个初始点出发运行局部优化算法,各自收敛到对应的局部极小点 y^1, y^2, y^3, y^4。最后比较所有局部极小点的函数值,选取最小的那个作为全局搜索的结果。

image-20251204162016563

图中 y^3 对应全局最小点,正是从初始点 x^3 出发的局部搜索所找到的。这种方法利用局部算法的快速收敛性来精确定位极小点,同时通过多个起点来增加覆盖全局最优区域的概率。

图像恢复与逆问题

本部分介绍逆问题的基本概念,以图像恢复为切入点,讨论局部滤波方法的原理及其局限性。

逆问题的基本场景

在图像处理中,原始的清晰图像在采集或传输过程中受到了某种退化,我们观测到的是退化后的图像,而目标是从退化图像中恢复出原始图像。这就是典型的逆问题。

以经典的Lena测试图像为例,退化主要有两种形式。第一种是噪声污染,图像中叠加了随机扰动,表现为画面上出现颗粒状的杂点,这种情况对应的恢复任务称为去噪。第二种是模糊退化,图像的细节变得不清晰,边缘变得柔和,这通常是由于光学系统的点扩散函数或者运动造成的,对应的恢复任务称为去卷积或反卷积。去噪针对的是加性噪声的去除,而去卷积针对的是卷积算子的逆运算。

局部滤波方法

均值滤波器的定义

处理噪声图像最直观的方法是局部滤波。均值滤波器是最简单的线性滤波器,其数学表达为:

B = h * A

这里 A 表示输入图像,B 表示输出图像,* 表示卷积运算,h 是滤波核。对于 3 \times 3 的均值滤波器,滤波核定义为:

h = \frac{1}{9}\begin{bmatrix} 1 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \end{bmatrix}

对于输出图像中的每一个像素,取输入图像中以该位置为中心的 3 \times 3 邻域内所有9个像素的平均值。系数 \frac{1}{9} 保证了滤波核的归一化,使得在均匀区域滤波后的像素值保持不变。

均值滤波的效果与代价

当使用更大的滤波核时,例如 7 \times 7 的均值滤波器,平均的邻域范围扩大,噪声抑制效果更加明显。

image-20251204163640149

从像素值的剖面图可以观察到这一点:原始带噪图像沿某一行的像素值曲线呈现剧烈的随机波动,而经过 7 \times 7 均值滤波后,曲线变得平滑,高频噪声被显著抑制。

然而,均值滤波在抑制噪声的同时也带来了负面效果。图像中的边缘本质上也是高频信息,均值滤波无法区分噪声和边缘,因此在平滑噪声的同时也模糊了边缘。从滤波后的剖面图可以看到,原本陡峭的边缘跳变被拉宽变缓。滤波核越大,噪声抑制越强,但边缘模糊也越严重,这是均值滤波固有的矛盾。

这一现象揭示了局部滤波方法的根本局限:简单的线性滤波器将图像视为平稳信号处理,无法自适应地区分图像中的不同结构。后续的逆问题求解方法将引入更精细的数学模型来克服这一局限。

线性滤波的本质局限

前面介绍的均值滤波器属于低通滤波器。从频域角度理解,图像中的噪声主要分布在高频部分,而低通滤波器通过衰减高频成分来抑制噪声。然而,图像中的边缘和轮廓同样是高频信息,低通滤波器无法区分这两者,因此在去除噪声的同时不可避免地平滑了边缘,导致图像变得模糊。这是所有线性低通滤波方法的固有缺陷,无法通过简单调整滤波器参数来克服。

正问题与逆问题的数学框架

正问题的建模

在图像退化的数学建模中,正问题描述的是从清晰图像到模糊图像的过程。设 A 为原始清晰图像,B 为观测到的模糊图像,二者之间的关系由卷积模型描述:

B = h * A

这里 h 称为点扩散函数或脉冲响应,它是一个低通滤波器。常见的低通滤波核有以下几种形式。第一种是均值滤波核:

h = \frac{1}{9}\begin{bmatrix} 1 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \end{bmatrix}

第二种是加权均值滤波核,中心像素权重更高:

h = \frac{1}{16}\begin{bmatrix} 1 & 2 & 1 \\ 2 & 4 & 2 \\ 1 & 2 & 1 \end{bmatrix}

第三种是连续形式的高斯核 h = \mathcal{N}_\sigma,其中 \sigma 控制模糊程度。

脉冲响应的物理意义

脉冲响应 h 的物理含义可以通过点光源成像来理解。当输入图像是一个理想的点对象,即冲激函数 \delta 时,根据卷积的性质,输出图像就是脉冲响应本身:

h = h * \delta

这意味着通过观察一个点光源经过成像系统后的像,可以直接获得该系统的脉冲响应。在实际中,这个像不再是理想的点,而是扩展成一个光斑,光斑的形状就是点扩散函数。

image-20251204164125831
典型的脉冲响应类型

不同的物理退化机制对应不同形状的脉冲响应。高斯型脉冲响应呈现圆对称的钟形分布,常用于描述离焦模糊或大气湍流造成的退化。运动模糊的脉冲响应呈现沿运动方向的条状分布,当相机或目标在曝光期间发生相对运动时产生这种退化。衍射型脉冲响应由光学系统的衍射极限决定,在显微成像中,受限于物镜的数值孔径,点光源会成像为艾里斑模式。

image-20251204164200848
完整的退化模型

实际成像过程中,除了模糊之外还存在噪声。完整的正问题模型写为:

B = h * A + N

其中 N 表示加性噪声。以荧光显微镜成像为例,在不同激发波长下拍摄的图像都会受到模糊和噪声的共同影响,波长越短衍射极限越小,但噪声特性也会变化。

逆问题的分类

逆问题的目标是从观测图像 B 中恢复原始图像 A,这个过程称为去卷积。根据对脉冲响应 h 的了解程度,去卷积问题分为三类。

监督型去卷积假设 h 完全已知,这是最简单的情况,例如在实验室条件下可以通过标定获得精确的点扩散函数。

近视型去卷积假设 h 的参数形式已知但具体参数未知,例如已知 h 服从高斯分布 h = \mathcal{N}(0, \sigma^2),但标准差 \sigma 需要估计。

盲去卷积假设 h 完全未知,需要同时估计图像 A 和脉冲响应 h,这是最困难的情况。

三种情况的难度依次递增,所需的先验信息和约束条件也依次增多。

最小二乘方法

图像恢复的优化框架

在监督型去卷积问题中,脉冲响应 h 已知,观测模型为 B = h * A + N。恢复原始图像 A 的思路是:找到一个图像 A,使得它经过卷积后与观测图像 B 尽可能接近。这个"接近"的程度用残差的范数来衡量,于是得到最小二乘准则:

A_{\text{MC}} = \arg\min_A \|B - h * A\|_F^2

这里 \|\cdot\|_F 表示Frobenius范数,对于矩阵 Z 定义为:

\|Z\|_F := \sqrt{\sum_{i,j} z_{ij}^2}

Frobenius范数实际上就是把矩阵拉成向量后计算其欧几里得范数,它度量了矩阵中所有元素的平方和。选择平方范数作为目标函数是因为它可微且便于求解。

凸性保证全局最优

在求解优化问题时,一个核心问题是:找到的极小值点是局部最优还是全局最优?一般的目标函数可能存在多个局部极小值,优化算法可能收敛到其中任意一个,无法保证得到全局最优解。

对于最小二乘目标函数

f(A) = \|B - h * A\|_F^2

映射 A \mapsto (B - h * A) 是仿射变换,即线性变换加上常数偏移。仿射变换的复合保持凸性,而范数的平方是凸函数,因此整个目标函数 f 是凸的。凸函数的性质保证了任何局部极小值都是全局极小值,这意味着使用梯度下降等优化算法一定能找到全局最优解,不会陷入局部极小值。

image-20251211142025050
向量化表示与正规方程

为了推导解析解,将二维图像恢复问题转化为线性代数形式。设 x 为原始图像按列堆叠成的向量,y 为观测图像对应的向量,n 为噪声向量,H 为卷积算子对应的矩阵。原来的卷积模型

B = h * A + N

可以写成:

y = Hx + n

最小二乘问题变为:

\hat{x}_{\text{MC}} = \arg\min_x \|y - Hx\|_2^2

为求极值,对目标函数关于 x 求梯度并令其为零:

\nabla_x \|y - Hx\|_2^2 = 0

展开计算:

\|y - Hx\|_2^2 = (y - Hx)^T(y - Hx) = y^Ty - 2x^TH^Ty + x^TH^THx

x 求导得

-2H^Ty + 2H^THx = 0

整理后得到正规方程:

H^T H x = H^T y

这是一个线性方程组,解即为最小二乘估计。

朴素求逆的失败

当矩阵 H^TH 可逆时,可以直接求得解析解:

\hat{x}_{\text{MC}} = (H^T H)^{-1} H^T y

y = Hx + n 代入上式:

\hat{x}_{\text{MC}} = (H^T H)^{-1}(H^T H x + H^T n) = x + H^\dagger n

其中 H^\dagger = (H^TH)^{-1}H^T 称为Moore-Penrose伪逆。这个结果表明,最小二乘估计等于真实信号 x 加上一个噪声放大项 H^\dagger n

问题在于卷积矩阵 H 通常是病态的,即其条件数很大。病态矩阵的伪逆会极大地放大噪声:即使原始噪声 n 很小,经过 H^\dagger 的作用后也会变得很大。这导致朴素的最小二乘求逆在实际中完全失败,恢复出的图像被噪声淹没。

适定性与病态性

Hadamard适定性条件

对于逆问题 y = Hx + n,其解 \hat{x}(y) 需要满足三个条件才称为适定的。

  • 存在性,即对于任意观测 y,解必须存在。
  • 唯一性,即解必须是唯一的。
  • 稳定性,即解必须连续依赖于数据:
\|y - z\| \to 0 \quad \Rightarrow \quad \|\hat{x}(y) - \hat{x}(z)\| \to 0

稳定性意味着观测数据的微小扰动只会导致解的微小变化。如果不满足稳定性,观测中微小的噪声就会导致解的剧烈变化,使得求解毫无意义。当矩阵 H 的条件数趋近于无穷大时,问题就会变得不稳定。

奇异值分解与条件数

理解矩阵病态性的工具是奇异值分解。任意矩阵 H 都可以分解为:

H = U\Lambda V^T

其中 UV 是正交矩阵,满足 UU^T = IVV^T = I\Lambda 是对角矩阵(不一定是方阵),对角元素 \lambda_i \geq 0 称为奇异值。矩阵的条件数定义为最大奇异值与最小奇异值之比:

C(H) = \frac{\lambda_{\max}}{\lambda_{\min}}

条件数衡量了矩阵对输入扰动的敏感程度。当条件数很大时,矩阵是病态的,求逆运算会放大误差,当最小奇异值为零时,条件数为无穷大,矩阵不可逆。

频域视角下的病态性

卷积的频域表示

从频域角度可以更直观地理解反卷积的困难。在空间域,观测模型为:

y \approx h * x + n

根据卷积定理,卷积在频域变为逐点相乘。设 \hat{y}(f)\hat{h}(f)\hat{x}(f) 分别为 yhx 的傅里叶变换,则频域关系为:

\hat{y}(f) \approx \hat{h}(f) \, \hat{x}(f)

反卷积在频域就变成逐点相除:

\hat{x}(f) \approx \frac{\hat{y}(f)}{\hat{h}(f)}
零点处的发散
image-20251211142601490

以均值滤波器为例,其时域表示是一个矩形窗函数,对应的频域响应是sinc函数形式,呈现振荡衰减的特征。关键问题是这个频率响应在某些频率处会过零,即存在频率 f 使得 \hat{h}(f) = 0。在这些零点处,反卷积公式变为:

\hat{h}(f) = 0 \quad \Rightarrow \quad |\hat{x}(f)| = \left|\frac{\hat{y}(f)}{\hat{h}(f)}\right| \approx +\infty

即使 \hat{h}(f) 不严格为零而只是很小,除法也会产生极大的值。由于观测中总是存在噪声,噪声在这些频率分量上的贡献会被无限放大,完全淹没真实信号。这就是反卷积病态性的频域本质:低通滤波器衰减了高频成分,反卷积试图恢复这些成分时必然放大噪声。

正则化的基本思想

朴素最小二乘失败的原因是解空间太大,存在太多与观测数据吻合但物理上不合理的解。正则化的核心思想是引入先验信息来限制可接受解的范围。对于原始的最小二乘问题:

\hat{x}_{\text{MC}} = \arg\min_x \|y - Hx\|^2

可以通过两种方式加入先验:

一是添加约束条件,例如非负性约束 x \geq 0(图像像素值不能为负)、区域均匀性约束等

二是添加正则化项,惩罚不符合先验的解。这些先验信息能够排除那些数据拟合好但物理上不合理的解,从而稳定化求解过程。

正则化准则的优化

正则化可以通过两种等价的数学形式来实现:约束优化和惩罚优化。

约束最小二乘

第一种形式是在最小二乘问题上添加显式约束:

\hat{x}_{\text{MC}} = \arg\min_x \|y - Hx\|^2 \quad \text{s.c.} \quad x \geq 0

这里 s.c. 表示约束条件,x \geq 0 要求解向量的每个分量都非负。这个约束在图像恢复中很常见,因为像素值代表光强,不可能为负。约束将搜索空间从整个 \mathbb{R}^N 限制到非负象限 \mathbb{R}_+^N,排除了那些数学上可行但物理上无意义的解。

惩罚最小二乘

第二种形式是在目标函数中添加惩罚项:

\mathcal{F}_\alpha(x) = \|y - Hx\|^2 + \alpha \sum_{n=0}^{N-1}(x_{n+1} - x_n)^2

目标函数由两部分组成:

第一项 \|y - Hx\|^2 是数据保真项,衡量重建结果与观测数据的吻合程度。

第二项 \sum_{n=0}^{N-1}(x_{n+1} - x_n)^2 是正则化项,计算相邻像素差分的平方和,本质上是离散形式的一阶导数的 L^2 范数。这个正则化项惩罚信号的剧烈变化,鼓励解具有平滑性。

参数 \alpha > 0 称为正则化参数,控制数据保真与先验约束之间的权衡。\alpha 较小时,优化更侧重于拟合数据,解可能过于振荡,\alpha 较大时,优化更侧重于满足平滑性先验,解可能过于光滑而丢失细节。选择合适的 \alpha 是正则化方法的核心问题之一。

正则化恢复的效果
image-20251211142943383

将惩罚最小二乘应用于模糊图像 B 的恢复,得到估计结果 \hat{A}_{\text{MCR}}。与朴素最小二乘相比,正则化有效抑制了噪声放大,恢复出的图像整体结构清晰。然而,恢复结果中仍可观察到振铃效应,表现为边缘附近的波纹状伪影。这是因为平方正则化项倾向于产生光滑解,而图像边缘本质上是不连续的,平滑性先验与边缘保持之间存在矛盾。后续将介绍能够更好保持边缘的正则化方法。

\ell_2 正则化最小二乘

正则化项的矩阵表示

前面引入的惩罚最小二乘目标函数为:

\mathcal{F}_\alpha(x) = \|y - Hx\|^2 + \alpha \sum_{n=0}^{N-1}(x_{n+1} - x_n)^2

正则化项中的求和可以写成矩阵形式。定义差分算子 D 对应于与滤波器 d = [1, -1] 的卷积,即 Dx = d * x。差分算子作用在信号上的第 n 个分量为:

(Dx)_n = x_{n+1} - x_n

因此正则化项可以表示为差分向量的 \ell_2 范数平方:

\|Dx\|^2 = \sum_{n=0}^{N-1}(x_{n+1} - x_n)^2

\|Dx\|^2 较小时,意味着相邻样本之间的差异小,即 x_{n+1} \approx x_n,信号随索引 n 缓慢变化。这就是平滑性先验的数学表达。整个目标函数可以紧凑地写为:

\mathcal{F}_\alpha(x) = \|y - Hx\|^2 + \alpha\|Dx\|^2
正规方程的推导

由于目标函数是关于 x 的二次函数,其最小值点满足梯度为零的条件:

\nabla_x \mathcal{F}_\alpha(x) = 0

分别对两项求梯度,数据保真项的梯度为 2H^T(Hx - y),正则化项的梯度为 2\alpha D^T D x。令总梯度为零:

2H^T(Hx - y) + 2\alpha D^T Dx = 0

整理得到正则化正规方程:

(H^TH + \alpha D^TD)x = H^Ty

与朴素最小二乘的正规方程 H^THx = H^Ty 相比,正则化在系数矩阵中添加了 \alpha D^TD 项。当 \alpha > 0 时,矩阵 (H^TH + \alpha D^TD) 的条件数比 H^TH 更好,因为正则化项增加了矩阵的特征值下界,使原本接近零的小特征值被提升。

二维图像的正则化

对于二维图像 A,正则化目标函数需要考虑两个方向的平滑性:

A_{\text{MCR}} = \arg\min_A \left\{ \mathcal{F}_\alpha(A) = \|B - h * A\|_F^2 + \alpha \|\ell * A\|_F^2 \right\}

这里 \ell 是二维Laplacian滤波器,定义为:

\ell = \begin{bmatrix} 0 & -1 & 0 \\ -1 & 4 & -1 \\ 0 & -1 & 0 \end{bmatrix}

Laplacian算子计算图像的二阶导数,其输出反映了每个像素与其四邻域均值的偏差。这个问题仍然是线性最小二乘形式,可以通过求解线性方程组得到解析解。由于卷积运算在频域变为逐点乘法,利用FFT可以实现快速计算。

梯度幅值正则化

另一种常用的二维正则化方式基于图像梯度。定义图像 A 在位置 (i,j) 处的梯度幅值为:

G_A(i,j) = \|\nabla A(i,j)\| = \sqrt{(A(i+1,j) - A(i,j))^2 + (A(i,j+1) - A(i,j))^2}

这个量衡量了该点处图像在水平和垂直两个方向上变化的综合强度。对应的优化问题为:

A_{\text{MCR}} = \arg\min_A \left\{ \|B - h * A\|_F^2 + \alpha \|G_A\|_F^2 \right\}

等价地,可以将梯度幅值的平方和分解为两个方向差分的贡献:

A_{\text{MCR}} = \arg\min_A \left\{ \|B - h * A\|_F^2 + \alpha \|d * A\|_F^2 + \alpha \|d^T * A\|_F^2 \right\}

其中 d = [-1, 1] 是一维差分滤波器,d * A 计算水平方向差分,d^T * A 计算垂直方向差分。这种分离形式便于利用可分离卷积进行高效计算。

频域快速求解

二维正则化最小二乘问题的目标函数为:

\mathcal{F}_\alpha(A) = \|B - h * A\|_F^2 + \alpha \|d * A\|_F^2

其中 d 是高通滤波器,可以是一阶差分算子、Laplacian算子等。高通滤波器的作用是提取图像的高频成分,而正则化项惩罚高频能量,从而促使恢复结果 A(x,y) 具有连续平滑的变化特性。

由于卷积在频域变为逐点乘法,这个优化问题可以在频域中高效求解。设 \hat{B}(\nu_x, \nu_y)\hat{h}(\nu_x, \nu_y)\hat{d}(\nu_x, \nu_y)\hat{A}_{\text{MCR}}(\nu_x, \nu_y) 分别为相应信号的二维傅里叶变换,其中 (\nu_x, \nu_y) 是空间频率坐标。正则化最小二乘解在频域的表达式为:

\hat{A}_{\text{MCR}}(\nu_x, \nu_y) \approx \frac{\hat{B}(\nu_x, \nu_y) \left[\hat{h}(\nu_x, \nu_y)\right]^*}{|\hat{h}(\nu_x, \nu_y)|^2 + \alpha |\hat{d}(\nu_x, \nu_y)|^2}
  • 这里上标 * 表示复共轭。

与朴素反卷积 \hat{A} = \hat{B}/\hat{h} 相比,分母中增加了 \alpha|\hat{d}|^2 项。在 \hat{h} 接近零的频率处,这一项防止了除零发散。同时 \hat{d} 作为高通滤波器在高频处幅值较大,因此高频分量被抑制更多,实现了噪声控制。整个计算只需要若干次FFT和逐点运算,复杂度为 O(N \log N)

正则化参数的影响

正则化参数 \alpha 直接影响恢复结果的质量。从模糊观测图像 B 出发,使用不同的 \alpha 值得到不同的恢复结果 A_{\text{MCR}}(\alpha)

image-20251211143348143

\alpha 取较小值 \alpha_1 时,数据保真项占主导,恢复结果更侧重于拟合观测数据。从恢复图像的行剖面可以观察到,重建曲线(红色)虽然大致跟随原始趋势,但存在明显的高频振荡,这是噪声放大的表现。图像整体呈现颗粒状噪点。

\alpha 取较大值 \alpha_2 时,正则化项占主导,恢复结果更平滑。从剖面图可以看到,重建曲线变得平滑,高频振荡被显著抑制。然而,过强的平滑会导致边缘变得模糊,细节丢失。

这体现了正则化中的基本权衡:\alpha 过小则欠正则化,噪声放大严重,\alpha 过大则过正则化,细节被过度平滑。选择最优的 \alpha 需要在噪声抑制和细节保持之间取得平衡

边缘保持正则化

\ell_2 正则化的根本问题在于它对所有差分施加相同的二次惩罚,无论差分大小。在边缘处,相邻像素的差分很大,二次惩罚会产生极大的代价,迫使优化器将边缘平滑掉。为了在去噪的同时保持图像边缘,需要设计对大差分惩罚较轻的正则化函数。

统一的正则化框架

正则化项可以用一个通用函数 \varphi 来表示。对于一维信号,目标函数写为:

\mathcal{F}(x) = \|y - h * x\|_2^2 + \alpha \sum_n \varphi(x_{n+1} - x_n)

对于二维图像,有两种等价的表示方式。第一种基于梯度幅值:

\mathcal{F}(A) = \|B - h * A\|_F^2 + \alpha \sum_i \sum_j \varphi(\|\nabla A(i,j)\|)

第二种基于相邻像素对,记 p \sim q 表示像素 pq 相邻:

\mathcal{F}(A) = \|B - h * A\|_F^2 + \alpha \sum_{p \sim q} \varphi(A_p - A_q)

函数 \varphi 的选择决定了正则化的性质:

若取 \varphi(t) = t^2,正则化项变为 \|Dx\|_2^2,这就是前面讨论的 \ell_2 正则化。

若取 \varphi(t) = |t|,正则化项变为 \|Dx\|_1,这称为 \ell_1 正则化,具有边缘保持特性。

惩罚函数的几何比较
image-20251211143619611

当差分较小时(对应平坦区域的噪声),两种范数的惩罚相近。当差分较大时(对应边缘),\ell_2 的惩罚远大于 \ell_1。因此在优化过程中,\ell_2 正则化会强烈抑制大差分,导致边缘模糊,而 \ell_1 正则化对大差分的惩罚相对温和,允许边缘存在。还有一种混合方案 \ell_2-\ell_1,在小差分处表现为二次,大差分处表现为线性,兼具两者优点。

全变分正则化

一维与二维形式

全变分(Total Variation,简称TV)正则化选择 \varphi(t) = |t|。对于一维信号,目标函数为:

\mathcal{F}(x) = \|y - h * x\|^2 + \alpha \sum_n |x_{n+1} - x_n|

对于二维图像,目标函数为:

\mathcal{F}(A) = \|B - h * A\|_F^2 + \alpha \sum_i \sum_j \|\nabla A(i,j)\|

正则化项 \sum_i \sum_j \|\nabla A(i,j)\| 计算图像在所有位置梯度幅值的总和,这正是全变分的定义。TV正则化惩罚图像的总变化量,但由于使用 \ell_1 范数,它允许在少数位置存在大的变化(即边缘),只要总变化量受控即可。

一维去噪效果

考虑一维信号的去噪问题(无卷积退化,h = \delta):

\mathcal{F}(x) = \|y - x\|^2 + \alpha \sum_n |x_{n+1} - x_n|

对于包含阶跃跳变的分段常数信号,叠加噪声后得到观测信号。使用TV正则化恢复时,结果呈现分段常数特性:平坦区域被很好地平滑,噪声被有效抑制,同时阶跃边缘被保持,没有被模糊。这与 \ell_2 正则化形成鲜明对比,后者会将阶跃边缘变成斜坡过渡。

image-20251211143931490
二维图像去噪

对于图像去噪,目标函数为:

\mathcal{F}(A) = \|B - A\|_F^2 + \alpha \sum_i \sum_j \|\nabla A(i,j)\|

将TV正则化应用于噪声图像,恢复结果在平坦区域噪声被抑制,同时边缘和轮廓保持锐利。与 \ell_2 正则化相比,TV去噪不会产生边缘模糊,但可能产生阶梯效应,即原本平滑过渡的区域变成分段常数。

全变分去卷积

将TV正则化应用于完整的去卷积问题:

\mathcal{F}(A) = \|B - h * A\|_F^2 + \alpha \sum_i \sum_j \|\nabla A(i,j)\|

从模糊图像恢复时,TV正则化能够在抑制噪声放大的同时保持图像边缘的锐利。恢复结果中,船体、桅杆等结构的边缘清晰,没有出现 \ell_2 正则化常见的振铃伪影。TV正则化的代价是目标函数不再是二次的,无法直接求解线性方程组,需要使用迭代优化算法。

image-20251211144021037

数值优化方法

当正则化项不再是二次形式时,目标函数无法通过求解线性方程组得到解析解,必须使用迭代优化算法。

凸性与可微性

考虑一般形式的正则化目标函数:

\mathcal{F}(x) = \|y - h * x\|^2 + \alpha \sum_n \varphi(x_{n+1} - x_n)

目标函数的性质取决于惩罚函数 \varphi 的选择。当 \varphi 是凸函数时,整个目标函数 \mathcal{F} 也是凸的,因为凸函数的非负加权和仍然是凸函数。对于 \ell_1 范数 \varphi(t) = |t|,它是凸函数,因此TV正则化问题是凸优化问题。然而,绝对值函数在原点处不可微,导致 \mathcal{F} 也不可微,无法直接使用基于梯度的优化方法。

一种解决方案是使用光滑近似。\ell_2-\ell_1 混合函数定义为:

\varphi(t) = \sqrt{t^2 + T^2} - T

其中 T > 0 是一个小的阈值参数。当 |t| \gg T 时,\varphi(t) \approx |t|,表现为 \ell_1 范数,当 |t| \ll T 时,\varphi(t) \approx t^2/(2T),表现为 \ell_2 范数。这个函数处处可微,同时保持了边缘保持特性。

下降算法

共轭梯度法

共轭梯度法是求解凸优化问题的经典方法。算法从初始点 x_0 出发,按如下规则迭代更新:

x_{k+1} \leftarrow x_k - t_k \nabla f(x_k) + \beta_k(x_k - x_{k-1})

更新方向由两部分组成:第一部分 -t_k \nabla f(x_k) 是沿负梯度方向的移动,t_k 是步长,第二部分 \beta_k(x_k - x_{k-1}) 是动量项,利用前一步的移动方向加速收敛。

image-20251211144405749

从几何上看,下降算法生成一条从初始点逐步逼近极小值点的轨迹。在等高线图上,每一步都朝着降低目标函数值的方向移动,最终收敛到碗底。

停止准则

迭代算法需要判断何时终止。下降算法应保证每一步目标函数值下降,即 f(x_{k+1}) < f(x_k)。常用的停止准则有四种。

  • 基于目标函数值的变化:f(x_k) - f(x_{k+1}) < \varepsilon_1,当目标函数值几乎不再下降时停止。
  • 基于解的变化:\|x_{k+1} - x_k\|_2 < \varepsilon_2,当解几乎不再移动时停止。
  • 基于梯度范数:\|\nabla f(x_k)\|_2 < \varepsilon_3,当梯度接近零(即接近驻点)时停止。
  • 达到最大迭代次数:k = K_{\max}

对于严格凸问题,算法对初始点 x_0 的选择不敏感,无论从哪里出发都会收敛到同一个全局极小值点。

牛顿法与拟牛顿法

Hessian矩阵

梯度下降法只使用一阶导数信息,收敛速度可能较慢。牛顿法引入二阶导数信息来加速收敛。目标函数的Hessian矩阵定义为二阶偏导数组成的矩阵:

H(x) = \nabla^2 f(x) = \begin{bmatrix} \cdots & \cdots & \cdots \\ \cdots & \frac{\partial^2 f}{\partial x_i \partial x_j} & \cdots \\ \cdots & \cdots & \cdots \end{bmatrix} \in \mathbb{R}^{N_x \times N_x}

Hessian矩阵描述了目标函数的局部曲率,利用它可以更准确地估计极小值点的位置。

牛顿法

牛顿法的迭代格式为:

x_{k+1} \leftarrow x_k - t_k [H(x_k)]^{-1} \nabla f(x_k)

与梯度下降法相比,更新方向不再是负梯度,而是负梯度经Hessian逆矩阵变换后的向量。这相当于在当前点用二次函数近似目标函数,然后直接跳到二次近似的极小值点。对于凸问题,牛顿法具有二次收敛速度,即误差每步平方衰减,收敛非常快。

然而,牛顿法的计算代价很高。对于 N 维问题,Hessian矩阵有 N^2 个元素,求其逆矩阵的复杂度为 O(N^3)。对于图像恢复问题,N 可达数百万,直接使用牛顿法不可行。

拟牛顿法

拟牛顿法在不显式计算Hessian矩阵及其逆的情况下近似牛顿法的效果。

BFGS和DFP是两种经典的拟牛顿算法,它们通过迭代过程中积累的梯度信息来近似 H(x_k)H(x_k)^{-1} 或直接近似 H(x_k)^{-1}\nabla f(x_k),而无需计算二阶导数。

L-BFGS是BFGS的有限内存版本。标准BFGS需要存储 N \times N 的Hessian近似矩阵,包含 N(N+1)/2 个独立元素,对于大规模问题内存消耗过大。L-BFGS只存储最近若干步的梯度差和位移向量,通过递推公式隐式地计算搜索方向,大幅降低了内存需求,是大规模优化问题的常用选择。

非凸优化

前面讨论的 \ell_2\ell_1 正则化都对应凸优化问题,保证了全局最优解的可达性。然而,某些应用场景需要更强的边缘保持能力,这就引出了非凸惩罚函数的使用。

非凸惩罚函数

考虑一般形式的正则化目标函数:

\mathcal{F}(x) = \|y - h * x\|_2^2 + \alpha \sum_n \varphi(x_{n+1} - x_n)

除了凸的 \ell_2-\ell_1 混合函数:

\varphi(t) = \sqrt{t^2 + T^2} - T

还可以使用非凸的 \ell_2-\ell_0 截断函数:

\varphi(t) = \min(t^2, T^2)
image-20251211144718135

从函数图像可以看出两者的本质差异。\ell_2-\ell_1 函数是凸的,在原点处平滑过渡,对大差分的惩罚线性增长。\ell_2-\ell_0 函数是非凸的,当 |t| < T 时表现为二次惩罚 t^2,当 |t| \geq T 时惩罚被截断为常数 T^2。这意味着超过阈值 T 的差分不再被额外惩罚,算法对大跳变(边缘)完全不施加抑制。

不同惩罚函数的恢复效果

以一个包含圆形和方形目标的测试图像 x^* 为例,比较不同惩罚函数的恢复效果。

image-20251211144826821

使用 \varphi(t) = t^2\ell_2 正则化)时,恢复结果中目标边界模糊,圆形和方形的边缘都被平滑化,呈现渐变过渡。

使用 \varphi(t) = |t|\ell_1/TV正则化)时,边缘保持效果改善,目标轮廓更清晰,但仍存在一定程度的模糊。

使用 \varphi(t) = \min(t^2, T^2)\ell_2-\ell_0 截断函数)时,边缘保持效果最好,目标边界锐利,几乎完美恢复了原始图像的分段常数特性。

非凸惩罚函数能够更好地恢复边缘,代价是优化问题变得更加困难。

局部算法与全局算法

局部算法的局限

对于非凸优化问题,目标函数存在多个局部极小值。前面介绍的梯度下降、共轭梯度、牛顿法等都属于局部算法,它们从初始点出发沿下降方向搜索,最终收敛到某个局部极小值。关键问题在于,所得到的解 \hat{x} 依赖于初始点 x_0 的选择,不同的初始化可能导致不同的局部最优解。

全局算法

全局优化算法旨在克服局部极小值的困扰,寻找全局最优解。这类算法具有以下特点:对初始化不敏感,即使从较差的初始点出发也能找到好的解,具有探索机制,能够跳出局部极小值的吸引域,通常基于随机变量的模拟,属于随机算法。

源分离与解混合

本部分介绍另一类逆问题:从混合信号中分离出原始的独立源信号。这类问题在音频处理、光谱分析、通信等领域有广泛应用。

鸡尾酒会问题

源分离问题的经典例子是鸡尾酒会问题。想象在一个嘈杂的聚会场景中,多个人同时说话,房间里放置了若干麦克风。每个麦克风录制到的是所有说话者声音的混合,混合比例取决于说话者与麦克风的距离和方位。问题是:能否从这些混合录音中分离出每个说话者的原始语音?

根据观测数量与源数量的关系,问题分为两类。超定情形是指混合数量大于等于源数量,即麦克风数目不少于说话者数目,这种情况相对容易处理。欠定情形是指混合数量小于源数量,即麦克风数目少于说话者数目,这是更困难的情况,需要更强的先验假设才能求解。

本部分将介绍解决源分离问题的几种方法:主成分分析、独立成分分析、非负矩阵分解以及贝叶斯方法。

数学建模

混合模型

观测信号可以建模为多个源信号的线性组合加上噪声。设有 P 个源信号,观测到的混合信号表示为矩阵乘法形式:

X = A \cdot S + E
image-20251211145134230

这里各矩阵的含义如下。左侧的观测信号(三条曲线)是右侧源信号(两条曲线)经过混合矩阵加权组合的结果。此处混合矩阵为:

A = \begin{bmatrix} 2/3 & 1/3 \\ 1/2 & 1/2 \\ 1/3 & 2/3 \end{bmatrix}

第一行 [2/3, 1/3] 表示第一个观测是第一个源的 2/3 加上第二个源的 1/3,第二行 [1/2, 1/2] 表示第二个观测是两个源的等权平均,第三行类似。E 表示观测噪声。

瞬时线性混合

在连续时间域,单个混合信号 x(t) 可以分解为 P 个源信号 s_j(t) 的加权和:

x(t) = \sum_{j=1}^{P} a_j \, s_j(t)

系数 a_j 是混合权重,在鸡尾酒会问题中对应于声源到麦克风的传播衰减。这种模型称为瞬时混合,因为假设所有源信号在同一时刻被混合,不考虑传播延迟。

对连续信号进行采样,得到离散信号向量 x = [x_1, \ldots, x_N]^T,其中 x_i = x(i\Delta T)\Delta T 是采样间隔。离散形式的混合模型为:

x = \sum_{j=1}^{P} a_j s_j
矩阵形式

当有 M 个混合观测时,第 i 个混合信号写为:

x_i = \sum_{j=1}^{P} a_{ij} s_j \quad (i = 1, \ldots, M)

将所有混合信号和源信号组织成矩阵形式:

\begin{bmatrix} x_{11} & \cdots & x_{1N} \\ \vdots & & \vdots \\ x_{M1} & \cdots & x_{MN} \end{bmatrix} = \begin{bmatrix} a_{11} & \cdots & a_{1P} \\ \vdots & & \vdots \\ a_{M1} & \cdots & a_{MP} \end{bmatrix} \begin{bmatrix} s_{11} & \cdots & s_{1N} \\ \vdots & & \vdots \\ s_{P1} & \cdots & s_{PN} \end{bmatrix}

简记为:

X = A \cdot S

其中 XM \times N 的观测矩阵,每行对应一个混合信号的 N 个时间采样点,AM \times P 的混合矩阵,也称为丰度矩阵,描述各源对各观测的贡献权重,SP \times N 的源矩阵,也称为端元矩阵,每行对应一个源信号的时间序列。源分离的目标是从观测 X 中同时估计混合矩阵 A 和源信号 S

源分离问题的形式化

给定 M 个混合观测信号 x_1, \ldots, x_M,源分离的目标是找到混合矩阵 A 和源矩阵 S,使得:

X \approx AS

这是一个双线性问题,因为需要同时估计两个未知矩阵 AS,且它们以乘积形式出现。与前面讨论的图像恢复问题(已知 H,只需估计 x)相比,源分离问题的未知量更多,是更具挑战性的逆问题。

应用领域

音频信号处理

在音频领域,源分离技术应用于开放式办公环境的语音增强、电话会议中的说话人分离、录音后期制作中的音轨分离等场景。目标是从多通道混合录音中提取出清晰的单一说话者语音或单一乐器声音。

高光谱成像

高光谱成像是源分离的另一个重要应用领域,包括遥感(卫星或航空图像的地物分类)、天体物理(星系光谱分析)、生物医学成像(组织成分识别)等。在这些应用中,每个像素的光谱是多种物质光谱的混合,解混合的目标是识别物质种类及其空间分布。

多光谱与高光谱图像

数据立方体结构

多光谱和高光谱图像的数据结构是三维立方体 f(x, y, \lambda),其中 (x, y) 是空间坐标,\lambda 是波长(光谱维度)。沿空间维度切片得到单波长图像,沿光谱维度切片得到单像素的光谱曲线。

根据光谱波段数量,图像分为三类。彩色图像只有3个光谱波段(红、绿、蓝),对应人眼的三种色觉感受器。多光谱图像有约10个光谱波段,能够区分更多的光谱特征。高光谱图像有约100到1000个连续光谱波段,提供近乎连续的光谱信息,可以精确识别物质的光谱指纹。

image-20251211145705074

高光谱成像涉及三个核心问题:数据采集(如何高效获取三维数据)、数据处理(如何从海量数据中提取有用信息)、结果解释(如何将处理结果转化为实际应用)。

共聚焦显微镜高光谱成像

共聚焦显微镜是生物成像中获取高光谱数据的常用手段。激光光源经过准直后照射样品,荧光信号通过共聚焦针孔后被探测器接收。通过扫描和波长切换,可以获得三维高光谱数据。

image-20251211145809954

以一个典型数据集为例,共采集了16幅高光谱图像 f(X, Y, \lambda_i),每幅图像的分辨率为 512 \times 512 像素,物理尺寸为 100 \times 100 nm²。这16幅图像对应16个不同的激发/发射波长组合。

高光谱解混合

从解混合的角度看,高光谱数据可以理解为:每个像素位置的光谱是一个混合信号。在生物样品中,一个像素可能同时包含多种荧光标记物,观测到的光谱是各标记物光谱的加权叠加,权重反映各标记物在该像素的浓度。

image-20251211145932724

数据可以用两种方式组织。作为图像堆栈,沿波长方向堆叠得到一系列二维图像,每幅图像显示特定波长下的空间分布。作为光谱集合,每个像素对应一条一维光谱曲线,不同像素的光谱曲线因成分不同而呈现不同形态。解混合的目标是从这些混合光谱中分离出纯净的端元光谱(源信号)及其空间丰度图(混合系数)。

卷积线性混合

卷积混合模型

前面介绍的瞬时混合模型假设混合是即时发生的。更一般的情况是卷积混合,其中每个源信号在到达观测点之前经过了滤波:

x_i(t) = \sum_{j=1}^{P} (h_{ij} * s_j)(t)

这里 h_{ij} 是从第 j 个源到第 i 个观测的传递函数,是线性时不变滤波器。每个观测信号是所有源信号经过各自滤波器后的叠加。

一个特殊但常见的情况是延迟混合,此时滤波器退化为延迟冲激:

h_{ij}(t) = a_{ij} \, \delta(t - t_{ij})

这意味着第 j 个源到达第 i 个观测时,只经历了幅度缩放 a_{ij} 和时间延迟 t_{ij}。在声学场景中,延迟对应于声波从声源传播到麦克风所需的时间。

天体物理应用

星系运动学研究是卷积混合的一个应用实例。通过获取星系的高光谱图像,可以分析其内部结构和运动状态。以星系NGC 4254为例,沿着星系的某条径向切线提取光谱,不同位置的光谱呈现不同的形态。这些光谱的差异反映了星系不同区域的物质组成和运动速度,由于多普勒效应,运动中的物质发射的谱线会发生频移。

image-20251211150010122
空间结构与光谱关联

在高光谱成像中,每个空间结构对应于一种源成分的光谱特征。考虑一个简单的场景:空间中存在两个部分重叠的区域(用蓝色和红色椭圆表示),每个区域对应一种物质。在两区域不重叠的地方,观测到的是纯净的单一物质光谱,在重叠区域,观测到的是两种物质光谱的混合。从不同空间位置提取的光谱曲线反映了该位置的物质组成。

image-20251211150100704
延迟混合数据示例

考虑30个混合观测信号,它们由4个源信号通过延迟混合产生。左图显示观测数据,所有曲线看起来相似但存在细微差异。右图显示真实的源分布,用不同颜色标记4个源,每个源在不同观测中出现的位置(相位)不同,对应不同的延迟量。源分离的任务是从混合数据中恢复出4个源信号及其在各观测中的延迟和幅度。

image-20251211150229910

源分离的不适定性

问题的困难性

源分离问题 X \approx AS 的目标是同时找到混合矩阵 A 和源矩阵 S。这个问题面临几个根本困难。

首先是源数量未知的问题:在实际应用中,通常不知道场景中有多少个独立源,需要从数据中估计或事先假定。

其次,源分离与盲去卷积 y = h * x 具有类似的困难程度——两者都需要同时估计多个未知量。

最关键的是分解的非唯一性。对于任意可逆矩阵 T,有:

X = AS = A(TT^{-1})S = \underbrace{(AT)}_{A'} \underbrace{(T^{-1}S)}_{S'}

这意味着 (A, S)(A', S') = (AT, T^{-1}S) 都是问题的解。没有额外约束时,存在无穷多组等效解,无法确定哪一组是"正确"的。这种不确定性包括:源的尺度不确定(可以同时放大一个源并缩小其对应的混合系数)、源的排列不确定(可以交换源的顺序)。

因此,必须引入正则化来消除不确定性。

正则化约束

正向模型与约束

完整的观测模型包含噪声项:

X = AS + E

为了使分解唯一,需要对 AS 施加约束。常用的约束包括以下几种。

源的统计独立性假设各源信号是统计独立的,其联合分布等于边缘分布的乘积:

p_{S_1, S_2}(s_1, s_2) = p_{S_1}(s_1) \, p_{S_2}(s_2)

这是独立成分分析(ICA)方法的基础假设。在鸡尾酒会问题中,不同说话者的语音确实可以认为是统计独立的。

噪声与源的独立性假设观测噪声与源信号统计独立,这是一个合理的物理假设。

非负性约束要求源信号和混合系数都非负:A, S \geq 0。这在许多应用中是自然的物理约束,例如光谱强度、图像像素值、浓度等物理量都不能为负。

正源分离问题

对于许多实际应用,源信号和丰度系数都具有物理上的非负性。正源分离问题的形式化表述为:找到 AS 使得 X \approx AS,同时满足约束 A, S \geq 0,即源信号和混合系数都是非负的。这个约束条件大大减少了解的不确定性,是非负矩阵分解(NMF)方法的基础。

主成分分析

主成分分析(PCA)是源分离的重要预处理步骤,用于确定数据的内在维度并进行降维。

预分析的目标

源分离之前需要解决一个基本问题:数据中包含多少个独立的源?这等价于确定数据所在空间的有效维度。观测数据 X \in \mathbb{R}^{M \times N} 可以从两个角度理解:作为 M 个混合信号,每个信号有 N 个采样点,或者作为 N 维空间 \mathbb{R}^N 中的 M 个数据点 x_i

如果数据确实由 P 个源信号线性混合产生,那么所有观测点应该落在 \mathbb{R}^N 的一个 P 维子空间内(加上噪声扰动后会在子空间附近)。降维的目标就是找到这个 P 维子空间并将数据投影到其中,从而估计源的数量 P 并去除噪声。

基于SVD的PCA

PCA的数学实现基于截断奇异值分解。对中心化后的数据矩阵 X(每行减去其均值)进行SVD分解:

X = USV^T

其中 UV 是正交矩阵,满足 UU^T = IVV^T = IS 是对角矩阵,对角元素 S_{ii} \geq 0 称为奇异值,按降序排列。

奇异值的大小反映了数据在对应主成分方向上的变化幅度。较大的奇异值对应于数据的主要变化方向(信号成分),较小的奇异值对应于次要变化(通常是噪声)。通过对较小的奇异值 S_{ii} 进行阈值处理(置零),可以实现降维:只保留前 P 个最大的奇异值及其对应的主成分,将数据近似表示在 P 维子空间中。

维度选择

确定保留多少个主成分(即估计源数量 P)的常用方法是分析奇异值的累积能量。定义 \lambda_i = S_{ii}^2,计算累积和占总和的比例。当累积能量达到某个阈值(如95%或99%)时,对应的成分数即为有效维度 P

将数据投影到主成分空间得到 C = XV,矩阵 C 的每列对应一个主成分方向上的坐标。通过计算cosinus carrés矩阵(C 元素平方后按行归一化),可以分析各主成分对每个观测的贡献程度,辅助判断有效维度。

PCA完成后,后续的源分离方法(如ICA或NMF)可以在降维后的 P 维空间中进行,既降低了计算复杂度,也通过去除噪声成分提高了分离质量。

非负矩阵分解

非负矩阵分解(NMF)是利用非负性约束进行源分离的核心方法。

问题定义

给定 M 个混合观测信号 x_1, \ldots, x_M,NMF的目标是找到混合矩阵 A 和源矩阵 S 使得 X \approx AS,同时满足非负性约束:A, S \geq 0,即源信号和混合系数的所有元素都非负。这个约束在光谱分析、图像处理等领域具有明确的物理意义。

最大似然估计

在高斯噪声假设下,最大似然估计等价于最小化重建误差的Frobenius范数平方:

\min_{A \geq 0, S \geq 0} \left\{ \|X - AS\|_F^2 = \sum_{i=1}^{M} \|x_i - a_i S\|_2^2 \right\}

这里 x_i \leftarrow X(i,:) 表示数据矩阵的第 i 行,即第 i 个观测信号,a_i \leftarrow A(i,:) 表示混合矩阵的第 i 行,即第 i 个观测对应的混合系数向量。Frobenius范数定义为 \|Z\|_F = \sqrt{\sum_{i,j} z_{ij}^2}。目标函数衡量了观测数据与模型重建之间的总体误差。

Kullback-Leibler散度

当噪声服从泊松分布时(常见于光子计数型探测器),更合适的损失函数是Kullback-Leibler散度。对于非负矩阵,KL散度定义为:

\min_{A \geq 0, S \geq 0} \left\{ D_{\text{KL}}(X \mid AS) = \sum_{ij} d_{\text{KL}}(x_{ij} \mid (AS)_{ij}) \right\}

其中元素级KL散度为:

d_{\text{KL}}(x \mid y) = x \log \frac{x}{y} - x + y

KL散度在 x = y 时取得最小值零,当 y 偏离 x 时散度增大。

正则化扩展

可以在目标函数中加入正则化项来引入额外的先验约束:

\min_{A \geq 0, S \geq 0} \left\{ D(X \mid AS) + \lambda R(S) \right\}

其中 D 是数据保真项(Frobenius范数或KL散度),R(S) 是正则化项。常用的正则化项包括平滑性约束:

R(S) \triangleq \sum_{j,k} (S_{j,k} - S_{j,k+1})^2

这惩罚源信号相邻采样点之间的剧烈变化,促使恢复出的源信号平滑。

还可以添加归一化约束 \|a_i\|_1 = 1,要求每个观测的混合系数之和为1。在高光谱解混合中,这对应于每个像素的丰度系数之和等于1的物理约束。

交替最小二乘算法

NMF问题关于 (A, S) 联合优化是非凸的,但当固定其中一个变量时,关于另一个变量的子问题是凸的。交替最小二乘(ALS)算法利用这一性质:

\min_{A \geq 0, S \geq 0} \left\{ \|X - AS\|_F^2 = \sum_{i=1}^{M} \|x_i - a_i S\|_2^2 \right\}

算法交替进行两步:固定 S,优化 A(带非负约束的最小二乘),固定 A,优化 S(带非负约束的最小二乘)。每一步都是凸问题,可以高效求解。迭代进行直到收敛。

由于整体问题非凸,ALS是局部最小化算法,最终结果依赖于初始解的选择。实践中常用多次随机初始化,选择目标函数值最小的结果。

逆问题导论与贝叶斯估计

逆问题的研究背景

逆问题的核心思想是:当我们只能观测到某个系统的输出结果时,如何反推出产生这个结果的原始输入或内部状态。

这类问题广泛出现在以下领域:仪器测量、电信通信、卫星成像、显微镜荧光成像、医学成像(包括X射线CT、PET、SPECT、MRI、超声等)、无损检测(如微波层析成像、涡流检测)、地球物理学、土木工程、天体物理成像(光谱成像、地图制作、干涉测量、层析成像)以及雷达成像(SAR)等。

将问题表述为逆问题形式的优势在于:它迫使研究者明确地列出所有的建模假设,而不是将这些假设隐藏在算法细节中。这种显式化的处理方式有助于理解方法的适用范围和局限性。

采集系统的数学建模

正问题的基本模型
image-20260108141613916

正问题描述的是数据如何从原始对象生成的过程。设 x \in \mathcal{X} 表示我们感兴趣的目标对象,H 表示测量系统的响应算子(可以是线性的也可以是非线性的),y \in \mathcal{Y} 表示实际获得的测量数据,b 表示测量过程中引入的噪声。整个采集过程可以用下面的方程来描述:

y = H(x) + b

观测数据 y 等于目标对象 x 经过系统响应 H 变换后的结果,再加上噪声 b 。需要注意的是,H(x) 只是真实物理采集系统的一个数学近似模型。

逆问题的估计本质

从观测到估计

逆问题的核心任务是:给定观测数据 y 和系统模型 H,反推出原始对象 x。然而,由于噪声的存在以及模型的不完美,我们无法精确地恢复出真实的 x,只能确定一个估计量 \hat{x}

最直观的估计策略是朴素估计:寻找一个 \hat{x},使得 H(\hat{x}) 尽可能接近观测数据 y

image-20260108141911563

从图示中可以看到,左图是平滑的原始输入信号,中图是经过系统响应并添加噪声后的观测数据,右图是朴素估计得到的解。朴素解呈现出剧烈的振荡,与原始信号相差甚远,这说明简单的反演策略不可行。

Hadamard适定性条件

一个问题被称为适定的,需要同时满足Hadamard提出的三个条件。

  • 存在性:对于任意给定的数据 y,都存在一个解 \hat{x},用数学语言表示就是 \mathcal{Y} = \text{Im } H,即数据空间等于算子 H 的像空间。
  • 唯一性:解必须是唯一的,这要求 \text{Ker}[H] = \{0\},即算子 H 的核空间只包含零元素,换言之 H 是单射。
  • 稳定性(连续性):解必须连续依赖于数据,即当数据的扰动 \delta y \to 0 时,解的扰动也应该 \delta x \to 0

如果这三个条件中有任何一个不满足,问题就是病态的,实际中遇到的逆问题几乎都是病态的

伪解与广义解

当存在性条件不满足时,即观测数据 y 不在 H 的像空间内,此时方程 H(x) = y 无解。处理这种情况的方法是放弃精确求解,转而寻找最小二乘意义下的伪解:

x \in \mathcal{X} \text{ minimise } \|H(x) - y\|_{\mathcal{Y}}

这个优化问题寻找的是使残差 H(x) - y 的范数最小的 x

当唯一性条件不满足时,即 \text{Ker}[H] \neq \{0\},满足条件的解有无穷多个。此时需要引入额外的准则来挑选出一个特定的解。常用的策略是选择范数最小的解,称为广义解:

\hat{x} = \arg\min \|x\|_{\mathcal{X}}^2 \quad \text{s.c} \quad y = H(x)

这个约束优化问题在所有满足 y = H(x) 的解中,选择 \mathcal{X} 空间范数最小的那一个:在没有其他先验信息的情况下,我们倾向于选择最简单或最正则的解。

离散线性问题的基本设定

离散化后的问题所有量都是有限维向量而非连续函数。设测量向量 y \in \mathbb{R}^N,它是我们实际能够观测到的数据,待重建的目标对象 x \in \mathbb{R}^M,这是我们真正想要知道的量。两者之间通过一个线性算子 H: \mathbb{R}^M \to \mathbb{R}^N 联系起来,在离散情形下 H 就是一个 N \times M 的矩阵。正问题是已知 xy = Hx,而逆问题则是已知 y 反推 x

逆问题的求解困难程度完全取决于矩阵 H 的结构特性,特别是它的秩 p = \text{rank}(H) 与维度 MN 之间的关系。

根据矩阵秩的三种情况

p 为矩阵 H 的秩,根据 pMN 的关系,逆问题可分为三种本质不同的情况。

情况一:满秩方阵(p = N = M

H 是满秩方阵时,它是一个双射,存在逆矩阵 H^{-1},此时解是唯一且可直接计算的:

\hat{x} = (H)^{-1}y

这是最理想的情况,测量数等于未知数,且方程组线性无关,解存在且唯一。

情况二:欠定问题(p < M

当秩小于未知数个数时,方程组是欠定的,满足 y = Hx 的解有无穷多个。为了从中选出一个,需要引入额外的准则。最常用的是最小范数准则,即在所有满足约束的解中选取范数最小的那个:

\hat{x} = \arg\min_{x \in \mathbb{R}^M} \|x\|^2 \quad \text{s.c.} \quad y = Hx

这个优化问题可以用拉格朗日乘子法求解,其闭式解为:

\hat{x} = H^t(HH^t)^{-1}y

这里 H^t 表示 H 的转置。这个解被称为最小范数解或伪逆解。在没有其他先验信息时,选择"最简单"(能量最小)的解是一种合理的正则化策略。

情况三:超定问题(p > M,即 N > M

当测量数多于未知数时,方程组是超定的。由于实际测量总存在噪声,通常不存在精确满足 y = Hx 的解。此时转而寻找残差最小的解,即最小二乘解:

\hat{x} = \arg\min_{x \in \mathbb{R}^M} \|Hx - y\|^2

对目标函数求导并令其为零,可得正规方程 H^tHx = H^ty,其解为:

\hat{x} = (H^tH)^{-1}H^ty

这个解使得预测值 H\hat{x} 在所有可能的预测中最接近观测值 y

稳定性与病态条件数

即使在满秩情况下逆问题有唯一解,另一个关键问题是解的稳定性:测量中的微小误差是否会导致重建结果的巨大偏差?

考虑一个具体的 4 \times 4 矩阵例子:

A = \begin{pmatrix} 10 & 7 & 8 & 7 \\ 7 & 5 & 6 & 5 \\ 8 & 6 & 10 & 9 \\ 7 & 5 & 9 & 10 \end{pmatrix}, \quad A^{-1} = \begin{pmatrix} 25 & -41 & 10 & -6 \\ -41 & 68 & -17 & 10 \\ 10 & -17 & 5 & -3 \\ -6 & 10 & -3 & 2 \end{pmatrix}

注意到 A^{-1} 的元素量级大了很多,这暗示着潜在的不稳定性。

首先验证精确情况下的求解。当 y = (32, 23, 33, 31)^t 时,精确解为 x = (1, 1, 1, 1)^t

\begin{pmatrix} 10 & 7 & 8 & 7 \\ 7 & 5 & 6 & 5 \\ 8 & 6 & 10 & 9 \\ 7 & 5 & 9 & 10 \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \\ x_3 \\ x_4 \end{pmatrix} = \begin{pmatrix} 32 \\ 23 \\ 33 \\ 31 \end{pmatrix} \quad \rightarrow \quad x = \begin{pmatrix} 1 \\ 1 \\ 1 \\ 1 \end{pmatrix}

现在对 y 施加一个很小的扰动 \delta y,使得 y + \delta y = (32.1, 22.9, 33.1, 30.9)^t,此时解变为:

\begin{pmatrix} 10 & 7 & 8 & 7 \\ 7 & 5 & 6 & 5 \\ 8 & 6 & 10 & 9 \\ 7 & 5 & 9 & 10 \end{pmatrix} \begin{pmatrix} x_1 + \delta x_1 \\ x_2 + \delta x_2 \\ x_3 + \delta x_3 \\ x_4 + \delta x_4 \end{pmatrix} = \begin{pmatrix} 32.1 \\ 22.9 \\ 33.1 \\ 30.9 \end{pmatrix} \quad \rightarrow \quad x + \delta x = \begin{pmatrix} 9.2 \\ -12.6 \\ 4.5 \\ -1.1 \end{pmatrix}

计算相对误差的放大倍数:

\frac{\|\delta y\|}{\|y\|} = \frac{1}{300} \quad \rightarrow \quad \frac{\|\delta x\|}{\|x\|} = \frac{10}{1}

测量的相对误差仅有 1/300 \approx 0.33\%,但解的相对误差被放大到了 1000\%,这种现象就是病态性。

条件数的定义与计算

条件数(condition number)量化了这种误差放大效应。对于矩阵 A,条件数定义了输出相对误差与输入相对误差之间的最坏情况比值:

\frac{\|\delta x\|}{\|x\|} = \text{cond}(A) \cdot \frac{\|\delta y\|}{\|y\|}

对于可逆矩阵,条件数等于最大特征值绝对值与最小特征值绝对值之比。对于上述矩阵 A,其特征值为:

\lambda = \{30.3, \; 3.86, \; 0.84, \; 0.01\}

因此条件数为:

\text{cond}(A) = \frac{\max|\lambda_i|}{\min|\lambda_i|} = \frac{30.3}{0.01} \approx 3000

条件数约为3000意味着测量误差最多可能被放大3000倍。

对模型误差的敏感性

除了测量误差,实际中矩阵 H 本身也可能存在误差(模型误差)。下例展示了矩阵元素的微小变化对解的影响:

\begin{pmatrix} 10 & 7 & 8.1 & 7.2 \\ 7.08 & 5.04 & 6 & 5 \\ 8 & 5.98 & 9.89 & 9 \\ 6.99 & 4.99 & 9 & 9.98 \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \\ x_3 \\ x_4 \end{pmatrix} = \begin{pmatrix} 32 \\ 23 \\ 33 \\ 31 \end{pmatrix} \quad \rightarrow \quad x = \begin{pmatrix} -81 \\ 137 \\ -34 \\ 22 \end{pmatrix}

矩阵元素仅改变了百分之几,但解从 (1,1,1,1)^t 变成了 (-81, 137, -34, 22)^t,完全失真。这说明病态矩阵不仅对测量噪声敏感,对模型本身的不确定性同样极其敏感。

贝叶斯推断的引入动机

在病态和欠定情况下,仅靠数据中的信息是不够的。具体表现为:数据本身不足以唯一确定解;需要额外补充信息才能得到有意义的结果。由此产生两个核心建模问题:如何描述来自数据的不确定性信息?如何描述我们对待求对象的先验认知?

贝叶斯推断使用概率分布来建模我们对问题的全部认知——既包括观测数据带来的信息,也包括独立于数据的先验知识。

推断问题的本质

从更一般的角度看,推断问题的核心是如何处理和传递不完整的知识。面对的挑战包括:我们对问题解的认知是不完整的;需要用某种方式描述这种不完整的知识以便传递给他人;需要选择一种编码方式来表示这种不确定性;当从多个来源获得信息时,需要有一致的方法来组合它们。

关于编码系统的选择,并不存在一个绝对最优的方案,但好的编码系统应该避免以下缺陷:不一致性(同一信息导致矛盾的结论)、歧义性(同一编码可作不同解读)、特殊化(只适用于特定类型的问题)、欺骗性(编码结果具有误导性)。概率论作为一种编码系统,在避免上述缺陷方面有良好的理论保证,这也是贝叶斯方法的理论基础之一。

估计方法的直观理解

直线斜率估计的例子

考虑一个简单的问题:从带噪声的观测数据中估计一条直线的斜率。

image-20260108144014906

图中展示了四条曲线:蓝色的观测数据点、红色的真实直线、绿色的最小二乘拟合结果、以及黑色的最优方法估计结果。可以看到最小二乘法由于受到异常点的影响,拟合结果偏离了真实直线,而最优方法(引入了先验信息或鲁棒性处理的方法)能够更好地恢复真实斜率。这个简单例子说明,即使在最基础的线性估计问题中,不同的估计策略也会产生显著不同的结果。

贝叶斯方法论框架

贝叶斯规则的核心地位

贝叶斯方法解决逆问题的核心工具是贝叶斯规则:

p(\mathbf{x}|\boldsymbol{y}, \mathcal{M}) = \frac{p(\boldsymbol{y}|\mathbf{x}, \mathcal{M})p(\mathbf{x}|\mathcal{M})}{p(\boldsymbol{y}|\mathcal{M})}

这个公式建立了后验概率 p(\mathbf{x}|\boldsymbol{y}, \mathcal{M}) 与似然函数 p(\boldsymbol{y}|\mathbf{x}, \mathcal{M}) 和先验概率 p(\mathbf{x}|\mathcal{M}) 之间的关系。\mathcal{M} 表示我们采用的模型假设。后验概率综合了数据提供的信息(通过似然函数)和我们的先验知识(通过先验分布),分母 p(\boldsymbol{y}|\mathcal{M}) 是归一化常数,称为证据或边缘似然。

观测模型与似然函数

观测模型描述数据如何从目标对象生成:

\boldsymbol{y} = \boldsymbol{H}\mathbf{x} + \boldsymbol{\epsilon}

这里 \boldsymbol{\epsilon} 是噪声项。选择噪声的概率分布就确定了似然函数的形式。例如,若假设噪声服从零均值高斯分布,似然函数就是关于残差 \boldsymbol{y} - \boldsymbol{H}\mathbf{x} 的高斯分布。

先验模型的作用

先验模型 p(\mathbf{x}|\mathcal{M}) 编码了在观测数据之前我们对目标对象的模糊知识。例如,我们可能知道图像应该是平滑的、稀疏的、或者具有某种统计特性。先验的引入是贝叶斯方法区别于纯粹最小二乘方法的关键,它提供了正则化效果,使得病态问题变得可解。

点估计器的选择

后验分布包含了关于 \mathbf{x} 的全部推断信息,但在实际应用中通常需要给出一个具体的估计值。常用的点估计器有两种:最大后验估计(MAP)选择后验分布的众数,即

\hat{\mathbf{x}} = \arg\max p(\mathbf{x}|\boldsymbol{y}, \mathcal{M})

后验期望估计(EAP)选择后验分布的均值,即

\hat{\mathbf{x}} = E\{\mathbf{x}\}_{p(\mathbf{x}|\boldsymbol{y}, \mathcal{M})}

MAP估计在计算上通常更容易,因为它转化为一个优化问题;EAP估计在均方误差意义下是最优的,但需要计算可能复杂的积分。

高斯分布的理论基础

高斯分布的历史起源

高斯分布在逆问题中扮演核心角色,Herschel(1738-1822)寻找 \mathbb{R}^2 中同时满足可分离性和各向同性的概率密度函数。可分离性意味着联合密度可以写成各坐标边缘密度的乘积,各向同性意味着密度只依赖于到原点的距离。高斯分布是唯一同时满足这两个性质的分布。Maxwell(1831-1879)将同样的推理推广到 \mathbb{R}^3,从而推导出了气体分子速度的Maxwell分布。

一维高斯分布的定义

一维高斯分布的概率密度函数为:

\mathcal{N}(x|m, \sigma^2) = \frac{1}{\sigma\sqrt{2\pi}}\exp\left(-\frac{(x-m)^2}{\sigma^2}\right)

其中 m 是均值,\sigma^2 是方差。

高斯分布的基本性质

高斯分布具有一系列便于分析的性质。其特征函数也是高斯型的:

\phi_x(u) = \exp(imu - 0.5\sigma^2 u^2)

两个独立高斯随机变量的和仍然是高斯分布,两个高斯密度的卷积也是高斯密度。高斯分布完全由其前两阶矩(均值和方差)确定,这意味着知道了均值和方差就完全确定了整个分布。高斯向量的任意边缘分布仍然是高斯分布。

多维高斯分布

多维高斯分布的概率密度函数为:

\mathcal{N}(\mathbf{x}|\boldsymbol{m}, \boldsymbol{\Sigma}) = (2\pi)^{-n/2}|det(\boldsymbol{\Sigma})|^{-1/2}\exp\left(-\frac{1}{2}(\mathbf{x}-\boldsymbol{m})^t\boldsymbol{\Sigma}^{-1}(\mathbf{x}-\boldsymbol{m})\right)

其中 \boldsymbol{m} 是均值向量,\boldsymbol{\Sigma} 是协方差矩阵。协方差矩阵必须是正定的(所有特征值为正),其定义为:

\boldsymbol{\Sigma} := E\{(\mathbf{x}-\boldsymbol{m})(\mathbf{x}-\boldsymbol{m})^t\}
多维特征函数

一维情况下,特征函数为:

\phi_x(u) = \exp\left[ium_x - \frac{1}{2}\sigma_x^2 u^2\right]

多维情况下,特征函数推广为:

\phi_\mathbf{x}(\boldsymbol{u}) = \exp\left[i\boldsymbol{u}^t\boldsymbol{m} - \frac{1}{2}\boldsymbol{u}^t\boldsymbol{\Sigma}\boldsymbol{u}\right]
高斯分布在建模中的核心地位

高斯分布由其前两个累积量(均值和方差)完全确定。在实际建模中,当我们只知道一个现象的均值和方差(例如传感器引入的误差),根据最大熵原理或无差异原则,高斯分布是在给定这两个约束下熵最大的分布,因此是最合理的选择。中心极限定理进一步支持了这一选择:大量独立同分布随机变量的和趋近于高斯分布,因此当噪声是由许多微小独立扰动累积而成时,用高斯分布建模是合理的。

image-20260108153337248

图中展示了高斯分布对Beta分布的逼近效果,说明即使真实分布不是高斯的,在一定条件下高斯分布也能提供良好的近似。

高斯近似的实际应用

泊松分布的高斯近似

在许多物理探测器中(如光子计数器、粒子探测器),测量值服从泊松分布。泊松分布是离散分布,其参数 \lambda 同时表示均值和方差。当 \lambda 较大时(经验法则是 \lambda > 100),泊松分布可以用均值为 \lambda、方差为 \lambda 的高斯分布很好地近似。

image-20260108153135727 image-20260108153153215

图中上半部分展示了 \lambda 较小时泊松分布的离散特性,下半部分展示了 \lambda 较大时高斯曲线对泊松分布的精确拟合。这种近似在实际信号处理中允许我们使用更容易处理的高斯模型来分析本质上是泊松过程的测量数据。

中心极限定理的图示
image-20260108153207893

左列从上到下依次是:单个均匀分布(矩形)、两个均匀分布之和(三角形)、更多均匀分布之和(逐渐趋近钟形)。右列展示了随着求和项数增加,分布越来越接近高斯分布,且峰值越来越高、宽度越来越窄(经过适当归一化后)。这说明无论原始分布是什么形状,只要独立同分布随机变量的数量足够多,其和的分布就趋近于高斯分布。这为实际中采用高斯噪声模型提供了理论依据:测量噪声往往是许多微小独立扰动的累积效应。

最大熵原理与先验分布选择

最大熵原理的基本思想

在选择概率分布来表示不确定性时,我们面临的问题是:在给定某些约束条件下,应该选择哪个分布?最大熵原理提供了一个系统性的答案。首先列出我们对分布所知的所有约束条件,然后在所有满足这些约束的分布中,选择熵最大的那一个。熵最大的分布包含最少的额外信息,是在满足约束条件下最不带有主观偏见的选择。换句话说,最大熵分布只反映了我们确实知道的信息,而不会人为地引入我们不知道的结构。

熵的数学定义

在离散情况下,随机变量 x 的熵定义为:

\mathcal{H}(x) = -\sum_{k=1}^{N} p_k \log(p_k)

其中 p_k = \Pr(x = x_k | C)x 取值 x_k 的概率,C 表示约束条件,且满足归一化条件 \sum_{k=1}^{N} p_k = 1

在连续情况下,熵(更准确地称为微分熵)定义为:

\mathcal{H}(x) = -\int_{\mathbb{R}} f(x|C) \log(f(x|C)) \mathrm{d}x

其中 f(x|C) 是概率密度函数。约定当 f(x|C) = 0 时,f(x|C)\log(f(x|C)) = 00 \cdot (-\infty) 的自然极限)。

有界支撑情况的最大熵分布

考虑第一个例子:随机变量 x 定义在区间 [0, 1] 上,除了归一化条件外没有其他约束。此时熵为:

\mathcal{H}(x) = -\int_0^1 f(x|C) \log(f(x|C)) \mathrm{d}x

最大熵分布是求解如下优化问题:

f_{maxent}(x|C) = \arg\max_{f \in L_1(\mathbb{R})} \mathcal{H}(x) \quad sc. \quad \int_0^1 f(x|C) \mathrm{d}x = 1

结果是均匀分布:

f_{\text{maxent}}(x \mid C)= \begin{cases} 1, & x \in [0,1] \\ 0, & \text{else} \end{cases}

在只知道取值范围而不知道其他任何信息时,最公平的选择是认为每个值的可能性相等。

给定均值和方差时的最大熵分布

考虑第二个例子:随机变量 x 定义在整个实数轴 \mathbb{R} 上,我们只知道其均值 \mu 和方差 \sigma^2。此时熵仍为:

\mathcal{H}(x) = -\int_{\mathbb{R}} f(x|C) \log(f(x|C)) \mathrm{d}x

最大熵分布需要在满足三个约束的条件下最大化熵:

f_{maxent}(x|C) = \arg\max_{f \in L_1(\mathbb{R})} \mathcal{H}(x)
sc. \quad \int_0^1 f(x|C) \mathrm{d}x = 1 \quad \text{et} \quad \int_0^1 (x - \mu)^2 f(x|C) \mathrm{d}x = \sigma^2

通过变分法(引入拉格朗日乘子处理约束)可以证明,最大熵分布恰好是高斯分布:

f_{maxent}(x|C) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left[-\frac{(x-\mu)^2}{2\sigma^2}\right]

当我们只知道一个随机量的均值和方差时,高斯分布是引入最少额外假设的选择。

线性高斯正问题的完整建模

系统模型的建立

现在正式建立线性高斯逆问题的数学框架。系统的输入是目标对象 x \in \mathbb{R}^M,这是我们希望估计的未知量。系统响应由线性算子(矩阵)\boldsymbol{H} 描述。测量输出为 y \in \mathbb{R}^N。噪声 \boldsymbol{b} 假设服从高斯分布。完整的观测模型为:

\boldsymbol{y} = \boldsymbol{H}\mathbf{x} + \boldsymbol{b}
噪声的概率模型

在线性高斯模型中,噪声 \boldsymbol{b} 服从多维高斯分布,其概率密度函数为:

f(\boldsymbol{b}|\boldsymbol{m}_b, \boldsymbol{\Sigma}_b) = (2\pi)^{-N/2}|det(\boldsymbol{\Sigma}_b)|^{-1/2}\exp\left(-\frac{1}{2}(\boldsymbol{b}-\boldsymbol{m}_b)^t\boldsymbol{\Sigma}_b^{-1}(\boldsymbol{b}-\boldsymbol{m}_b)\right)

其中 \boldsymbol{m}_b 是噪声的均值向量,\boldsymbol{\Sigma}_b 是噪声的协方差矩阵。在大多数情况下,噪声被假设为零均值的,即 \boldsymbol{m}_b = 0,此时密度函数简化为:

f(\boldsymbol{b}|\boldsymbol{m}_b, \boldsymbol{\Sigma}_b) = (2\pi)^{-N/2}|det(\boldsymbol{\Sigma}_b)|^{-1/2}\exp\left(-\frac{1}{2}\boldsymbol{b}^t\boldsymbol{\Sigma}_b^{-1}\boldsymbol{b}\right)

协方差矩阵 \boldsymbol{\Sigma}_b 的结构反映了噪声各分量之间的相关性。如果噪声各分量相互独立(去相关),则协方差矩阵是对角阵:

\boldsymbol{\Sigma}_b = \text{diag}[\boldsymbol{\sigma}^2]
  • 其中 \boldsymbol{\sigma}^2 = (\sigma_1^2, \ldots, \sigma_N^2)^t 是各分量的方差。

更特殊地,如果噪声是独立同分布的(i.i.d.),则所有分量具有相同的方差:

\boldsymbol{\Sigma}_b = \sigma_b^2 I_d
  • 其中 I_d 是单位矩阵
从噪声模型到似然函数

似然函数描述的是在给定目标对象 \mathbf{x} 的条件下,观测到数据 \boldsymbol{y} 的概率。由于 \boldsymbol{y} = \boldsymbol{H}\mathbf{x} + \boldsymbol{b},当 \mathbf{x} 固定时,\boldsymbol{y} 的随机性完全来自于噪声 \boldsymbol{b}。因此 \boldsymbol{y} 服从均值为 \boldsymbol{H}\mathbf{x} + \boldsymbol{m}_b、协方差为 \boldsymbol{\Sigma}_b 的高斯分布。似然函数为:

f(\boldsymbol{y}|\mathbf{x}, \boldsymbol{m}_b, \boldsymbol{\Sigma}_b) = \frac{|det(\boldsymbol{\Sigma}_b)|^{-1/2}}{(2\pi)^{N/2}}\exp\left(-\frac{1}{2}(\boldsymbol{y}-\boldsymbol{H}\mathbf{x}-\boldsymbol{m}_b)^t\boldsymbol{\Sigma}_b^{-1}(\boldsymbol{y}-\boldsymbol{H}\mathbf{x}-\boldsymbol{m}_b)\right)

这个表达式的指数项中,(\boldsymbol{y}-\boldsymbol{H}\mathbf{x}-\boldsymbol{m}_b) 是预测残差,它通过精度矩阵 \boldsymbol{\Sigma}_b^{-1}(协方差矩阵的逆)进行加权。精度矩阵的作用是对不同方向上的残差赋予不同的权重:方差小的方向(测量更精确)权重更大。

高斯先验分布的设定

先验分布的一般形式

对目标对象 \mathbf{x} 施加高斯先验,其概率密度函数为:

f(\mathbf{x}|\boldsymbol{m}_x, \boldsymbol{\Sigma}_x) = (2\pi)^{-N/2}|det(\boldsymbol{\Sigma}_x)|^{-1/2}\exp\left(-\frac{1}{2}(\mathbf{x}-\boldsymbol{m}_x)^t\boldsymbol{\Sigma}_x^{-1}(\mathbf{x}-\boldsymbol{m}_x)\right)

先验分布中的参数 \boldsymbol{m}_x\boldsymbol{\Sigma}_x 编码了我们在获取数据之前对 \mathbf{x} 的认知。

先验信息的不同类型

先验均值 \boldsymbol{m}_x \neq 0 可以用来引入关于目标形态的已知信息,例如当我们大致知道目标应该长什么样子时,可以将这个模板作为先验均值。

先验协方差矩阵 \boldsymbol{\Sigma}_x 的选择反映了我们对目标结构的假设。如果取 \boldsymbol{\Sigma}_x = I_d(单位矩阵),这是可分离先验,意味着 \mathbf{x} 的各分量先验独立且具有相同的方差,这种先验不施加任何空间结构约束。

另一种常见选择是光滑性先验,取 \boldsymbol{\Sigma}_x = \boldsymbol{D}^t\boldsymbol{D}(实际上应该理解为 \boldsymbol{\Sigma}_x^{-1} \propto \boldsymbol{D}^t\boldsymbol{D}),其中 \boldsymbol{D} 是差分算子:

\boldsymbol{D} = \begin{bmatrix} -1 & 1 & 0 & 0 \\ & \ddots & \ddots & \\ 0 & 0 & -1 & 1 \end{bmatrix}

这个算子计算相邻元素的差分。当 \boldsymbol{D}^t\boldsymbol{D} 出现在精度矩阵中时,它惩罚 \mathbf{x} 相邻分量之间的差异,从而鼓励光滑解。这是一种非正常先验(improper prior),因为 \boldsymbol{D} 不满秩,\boldsymbol{D}^t\boldsymbol{D} 不可逆,但在后验计算中仍然可以使用。

高斯后验分布的推导

贝叶斯规则的应用

根据贝叶斯规则,后验分布正比于似然函数与先验分布的乘积:

f(\mathbf{x}|\boldsymbol{y}, \boldsymbol{m}_b, \boldsymbol{\Sigma}_b, \boldsymbol{m}_x, \boldsymbol{\Sigma}_x) \propto f(\boldsymbol{y}|\mathbf{x}, \boldsymbol{m}_b, \boldsymbol{\Sigma}_b)f(\mathbf{x}|\boldsymbol{m}_x, \boldsymbol{\Sigma}_x)

由于似然和先验都是高斯分布,它们的乘积(就指数部分而言)仍然是 \mathbf{x} 的二次型,因此后验分布也是高斯分布。这是高斯分布的共轭性质:高斯先验与高斯似然结合产生高斯后验。

后验分布的显式形式

后验分布可以写成:

f(\mathbf{x}|\boldsymbol{y}, \boldsymbol{m}_b, \boldsymbol{\Sigma}_b, \boldsymbol{m}_x, \boldsymbol{\Sigma}_x) \propto \exp\left[-\frac{1}{2}Q(\mathbf{x})\right]

其中二次型 Q(\mathbf{x}) 由似然项和先验项两部分组成:

Q(\mathbf{x}) = (\boldsymbol{y}-\boldsymbol{H}\mathbf{x}-\boldsymbol{m}_b)^t\boldsymbol{\Sigma}_b^{-1}(\boldsymbol{y}-\boldsymbol{H}\mathbf{x}-\boldsymbol{m}_b) + (\mathbf{x}-\boldsymbol{m}_x)^t\boldsymbol{\Sigma}_x^{-1}(\mathbf{x}-\boldsymbol{m}_x)

第一项是数据拟合项,衡量模型预测与观测数据的偏差,由噪声精度矩阵 \boldsymbol{\Sigma}_b^{-1} 加权;第二项是先验正则项,衡量估计值与先验均值的偏差,由先验精度矩阵 \boldsymbol{\Sigma}_x^{-1} 加权。后验分布自动地在这两者之间取得平衡。

MAP估计的闭式解

点估计的等价性

由于后验分布是高斯分布,它的众数(最大值点)、均值和中位数三者重合。因此MAP估计(最大后验)和EAP估计(后验期望)给出相同的结果。

MAP估计的推导

MAP估计通过最小化 Q(\mathbf{x}) 得到。对 Q(\mathbf{x}) 关于 \mathbf{x} 求导并令其为零,可以得到闭式解:

\widehat{\mathbf{x}}_{\text{MAP}} = (\boldsymbol{H}^t\boldsymbol{\Sigma}_b^{-1}\boldsymbol{H} + \boldsymbol{\Sigma}_x^{-1})^{-1}(\boldsymbol{H}^t\boldsymbol{\Sigma}_b^{-1}(\boldsymbol{y}-\boldsymbol{H}\boldsymbol{m}_x-\boldsymbol{m}_b) + \boldsymbol{\Sigma}_x^{-1}\boldsymbol{m}_x)

矩阵 \boldsymbol{H}^t\boldsymbol{\Sigma}_b^{-1}\boldsymbol{H} 来自数据(通过似然函数),\boldsymbol{\Sigma}_x^{-1} 来自先验。两者相加后求逆,得到后验精度矩阵的逆,即后验协方差矩阵。

协方差形式的等价表达

MAP估计还可以写成另一种等价形式,称为协方差形式:

\widehat{\mathbf{x}}_{\text{MAP}} = \boldsymbol{m}_x + \boldsymbol{\Sigma}_x\boldsymbol{H}^t(\boldsymbol{\Sigma}_b + \boldsymbol{H}\boldsymbol{\Sigma}_x\boldsymbol{H}^t)^{-1}(\boldsymbol{y}-\boldsymbol{H}\boldsymbol{m}_x-\boldsymbol{m}_b)

这个形式的优势在于:当 M > N(参数维度大于数据维度)时,需要求逆的矩阵是 N \times N 而不是 M \times M,计算量更小。两种形式在数学上等价,但在数值计算时根据问题规模选择合适的形式可以显著提高效率。

矩阵求逆引理

Woodbury恒等式

上述两种MAP估计形式的等价性可以通过矩阵求逆引理(也称Woodbury恒等式)来证明。该引理陈述如下:

(\boldsymbol{A} + \boldsymbol{B}\boldsymbol{C}\boldsymbol{D})^{-1} = \boldsymbol{A}^{-1} - \boldsymbol{A}^{-1}\boldsymbol{B}(\boldsymbol{C}^{-1} + \boldsymbol{D}\boldsymbol{A}^{-1}\boldsymbol{B})^{-1}\boldsymbol{D}\boldsymbol{A}^{-1}

这个恒等式将一个大矩阵的逆转化为若干较小矩阵运算的组合。当 \boldsymbol{A} 是大型对角阵而 \boldsymbol{B}\boldsymbol{C}\boldsymbol{D} 是低秩修正时,右边的计算量可能远小于直接求逆。

相关推论

该引理有两个常用的推论:

\boldsymbol{D}(\boldsymbol{A} + \boldsymbol{B}\boldsymbol{C}\boldsymbol{D})^{-1} = \boldsymbol{C}^{-1}(\boldsymbol{C}^{-1} + \boldsymbol{D}\boldsymbol{A}^{-1}\boldsymbol{B})^{-1}\boldsymbol{D}\boldsymbol{A}^{-1}
\boldsymbol{C}\boldsymbol{D}(\boldsymbol{A} + \boldsymbol{B}\boldsymbol{C}\boldsymbol{D})^{-1} = (\boldsymbol{C}^{-1} + \boldsymbol{D}\boldsymbol{A}^{-1}\boldsymbol{B})^{-1}\boldsymbol{D}\boldsymbol{A}^{-1}

在贝叶斯线性估计中,令 \boldsymbol{A} = \boldsymbol{\Sigma}_x^{-1}\boldsymbol{B} = \boldsymbol{H}^t\boldsymbol{C} = \boldsymbol{\Sigma}_b^{-1}\boldsymbol{D} = \boldsymbol{H},应用矩阵求逆引理即可证明两种MAP估计形式的等价性。

MAP估计的特殊情形

独立同分布噪声与正常先验

当噪声是零均值独立同分布的,即 \boldsymbol{\Sigma}_b = \sigma_b^2 I_d,同时先验也是独立同分布的,即 \boldsymbol{\Sigma}_x = \sigma_x^2 I_d 时,MAP估计简化为最小化正则化准则(MCR,即正则化最小二乘):

\widehat{\mathbf{x}}_{\text{MAP}} = \hat{\mathbf{x}}_{\text{MCR}} = (\boldsymbol{H}^t\boldsymbol{H} + \sigma_b^2/\sigma_x^2 I_d)^{-1}\boldsymbol{H}^t\boldsymbol{y}

比值 \sigma_b^2/\sigma_x^2 是正则化参数,它控制数据拟合与先验约束之间的相对权重。当噪声方差 \sigma_b^2 大(数据不可靠)或先验方差 \sigma_x^2 小(对先验有信心)时,正则化效应增强。

独立同分布噪声与非正常先验

当噪声仍是 \boldsymbol{\Sigma}_b = \sigma_b^2 I_d,但先验方差趋于无穷 \sigma_x^2 = +\infty(即非正常平坦先验,表示对 \mathbf{x} 没有任何先验偏好)时,MAP估计退化为普通最小二乘(MC)解:

\widehat{\mathbf{x}}_{\text{MAP}} = \hat{\mathbf{x}}_{\text{MC}} = (\boldsymbol{H}^t\boldsymbol{H})^{-1}\boldsymbol{H}^t\boldsymbol{y}

这正是经典的最小二乘估计,完全由数据驱动,不包含任何先验正则化。

独立非同分布噪声与非正常先验

当噪声各分量独立但方差不同,即 \boldsymbol{\Sigma}_b = \text{diag}[\boldsymbol{\sigma}^2],同时使用非正常先验 \sigma_x^2 = +\infty 时,MAP估计变为加权最小二乘(MCP)解:

\widehat{\mathbf{x}}_{\text{MAP}} = \hat{\mathbf{x}}_{\text{MCP}} = (\boldsymbol{H}^t\boldsymbol{\Sigma}_b^{-1}\boldsymbol{H})^{-1}\boldsymbol{H}^t\boldsymbol{\Sigma}_b^{-1}\boldsymbol{y}

对应的目标函数为:

Q_{\text{MCP}}(\mathbf{x}) = \sum_i \frac{(y_i - (\boldsymbol{H}\mathbf{x})_i)^2}{\sigma_i^2}

每个残差平方项被该测量的方差 \sigma_i^2 加权:方差小的测量(更精确)获得更大的权重,方差大的测量(不太可靠)权重较小。这是异方差噪声情况下的最优线性无偏估计。

大规模问题的数值求解策略

问题规模与求解方法的选择

MAP估计的闭式解涉及矩阵求逆运算。对于小规模问题,可以直接计算解析解。然而当问题规模很大(例如涉及数百万个未知数,这在图像处理中很常见)时,直接对矩阵 \boldsymbol{H}^t\boldsymbol{H} 求逆在计算上是不可行的,因为存储和求逆一个百万阶的稠密矩阵需要的内存和计算时间都是天文数字。

对于这类大规模问题,有两种主要的解决途径。第一种是使用基于梯度的迭代下降方法,通过迭代逐步逼近最优解,每次迭代只需要计算矩阵向量乘积而不需要显式求逆。第二种是针对特定结构(如卷积算子)利用循环矩阵近似,借助快速傅里叶变换将计算复杂度从 O(N^3) 降低到 O(N \log N)

基于梯度的下降方法

优化问题的框架

后验分布可以写成:

f(\mathbf{x}|\boldsymbol{y}, C) \propto \exp\left[-\frac{1}{2}Q(\mathbf{x})\right]

其中目标函数(也称为代价函数或准则)为:

Q(\mathbf{x}) = (\boldsymbol{y} - \boldsymbol{H}\mathbf{x})^t(\boldsymbol{y} - \boldsymbol{H}\mathbf{x}) + \frac{\sigma_b^2}{\sigma_x^2}\mathbf{x}^t\boldsymbol{D}^t\boldsymbol{D}\mathbf{x}

这里采用了光滑性先验 \boldsymbol{\Sigma}_x^{-1} \propto \boldsymbol{D}^t\boldsymbol{D}。MAP估计等价于最小化这个二次目标函数:

\widehat{\mathbf{x}}_{\text{MAP}} = \arg\min_{\mathbf{x} \in \mathbb{R}^M} Q(\mathbf{x})
迭代下降算法的基本结构

由于 Q(\mathbf{x}) 是二次函数(关于 \mathbf{x} 的二次型),它是凸函数,存在唯一的全局最小值。迭代下降算法从某个初始点 \mathbf{x}_0 出发,通过不断更新使目标函数值逐步下降,最终收敛到最优解。每次迭代需要确定两个要素:下降方向 \boldsymbol{d}_k 和步长 \alpha_k。更新规则为:

\mathbf{x}_{k+1} = \mathbf{x}_k + \alpha_k \boldsymbol{d}_k

只要 \boldsymbol{d}_k 是下降方向(即沿该方向目标函数值会减小)且步长选择适当,算法就能保证收敛。

下降方向的选择

最速下降方向

最直观的选择是负梯度方向,即最速下降方向。目标函数的梯度为:

\boldsymbol{g}(\mathbf{x}) = \frac{\partial Q(\mathbf{x})}{\partial \mathbf{x}} = 2\boldsymbol{H}^t(\boldsymbol{H}\mathbf{x} - \boldsymbol{y}) + 2\mu\boldsymbol{D}^t\boldsymbol{D}\mathbf{x}

其中 \mu = \sigma_b^2/\sigma_x^2 是正则化参数,先验精度矩阵为 \boldsymbol{\Sigma}_x^{-1} = \boldsymbol{D}^t\boldsymbol{D}/\sigma_x^2。梯度指向目标函数增长最快的方向,因此负梯度 -\boldsymbol{g}(\mathbf{x}) 指向下降最快的方向。在最速下降法中,取 \boldsymbol{g}_k = \boldsymbol{g}(\mathbf{x}_k) 作为搜索方向的负方向。

第一项 2\boldsymbol{H}^t(\boldsymbol{H}\mathbf{x} - \boldsymbol{y}) 来自数据拟合项,它将估计值拉向更好地拟合数据的方向。第二项 2\mu\boldsymbol{D}^t\boldsymbol{D}\mathbf{x} 来自先验正则项,它将估计值拉向更平滑的方向。

Vignes方法修正

最速下降法虽然简单,但收敛速度可能很慢,特别是当目标函数的等高线呈狭长椭圆形时,迭代轨迹会呈锯齿状振荡。Vignes方法通过结合当前梯度和上一步的下降方向来修正搜索方向:

\boldsymbol{d}_k^V = \frac{1}{2}(\boldsymbol{d}_{k-1} - \boldsymbol{g}_k)

这种修正可以减少振荡,加速收敛。

角平分线方法修正

另一种修正策略是角平分线方法,它取上一步下降方向(归一化后)和当前负梯度方向(归一化后)的角平分线作为新的搜索方向:

\boldsymbol{d}_k^B = \frac{1}{2}|\boldsymbol{g}_k|\left(\frac{\boldsymbol{d}_{k-1}}{|\boldsymbol{d}_{k-1}|} - \frac{\boldsymbol{g}_k}{|\boldsymbol{g}_k|}\right)

这个方向介于上一步方向和当前最速下降方向之间,同样可以改善收敛性能。这些修正方法的共同思想是利用历史信息来校正当前的搜索方向,避免在狭长山谷中的低效振荡。

共轭梯度下降方向

共轭方向的基本原理

最速下降法的一个缺点是相邻两次迭代的搜索方向相互正交(在精确线搜索下),这导致算法在狭长山谷中来回振荡,收敛缓慢。共轭梯度法通过构造一组关于Hessian矩阵共轭的方向来克服这个问题。共轭方向的构造基于Gram-Schmidt正交化过程的思想,但正交性是相对于目标函数的Hessian矩阵而言的。对于 M 维的二次优化问题,理论上最多经过 M 次迭代就能精确到达最优解(在无舍入误差的理想情况下)。

Polak-Ribière公式

Polak-Ribière方法是共轭梯度法的一种流行变体,其搜索方向的更新公式为:

\boldsymbol{d}_k = \beta_k \boldsymbol{d}_{k-1} - \boldsymbol{g}_{k-1}

其中系数 \beta_k 由下式确定:

\beta_k = \frac{(\boldsymbol{g}_k - \boldsymbol{g}_{k-1})^t \boldsymbol{g}_k}{\boldsymbol{g}_{k-1}^t \boldsymbol{g}_{k-1}}

初始方向取为负梯度方向:

\boldsymbol{d}_0 = -\boldsymbol{g}_0

\beta_k 的分子是当前梯度与梯度变化量的内积,分母是上一步梯度的模方。在当前负梯度方向上叠加一个沿上一步搜索方向的分量,使得新方向与之前的方向保持共轭关系。

下降步长的确定

固定步长策略

最简单的策略是在所有迭代中使用固定的步长 \alpha。为了保证收敛,步长需要满足一定条件。一个常用的选择是将 \alpha 设为目标函数的Lipschitz常数 k 的倒数。Lipschitz常数刻画了函数梯度变化的速率,定义为满足以下条件的最小常数:

\forall (\boldsymbol{s}, \boldsymbol{p}) \in (\mathbb{R}^M)^2, \quad |Q(\boldsymbol{s}) - Q(\boldsymbol{p})| \leq k\|\boldsymbol{s} - \boldsymbol{p}\|

对于二次目标函数,Lipschitz常数等于Hessian矩阵的最大特征值。在当前问题中,Hessian矩阵为 \boldsymbol{H}^t\boldsymbol{H} + \mu\boldsymbol{D}^t\boldsymbol{D},因此固定步长应取为该矩阵最大特征值的倒数。

最优步长策略

更高效的策略是在每次迭代中计算最优步长,即沿当前搜索方向使目标函数达到最小的步长。这等价于求解一维优化问题:

\alpha_{\text{opt}} = \arg\min_{\alpha \in \mathbb{R}} Q(\mathbf{x}_k + \alpha \boldsymbol{d}_k)

由于 Q 是二次函数,沿任意方向的限制也是关于 \alpha 的二次函数,因此最优步长有闭式解。对 Q(\mathbf{x}_k + \alpha \boldsymbol{d}_k) 关于 \alpha 求导并令其为零,得到:

\alpha_{\text{opt}} = \frac{-\boldsymbol{d}_k^t \boldsymbol{g}_k}{\boldsymbol{d}_k^t(\boldsymbol{H}^t\boldsymbol{H} + \mu\boldsymbol{D}^t\boldsymbol{D})\boldsymbol{d}_k} = -\frac{\langle\boldsymbol{d}_k, \boldsymbol{g}_k\rangle}{\|\boldsymbol{H}\boldsymbol{d}_k\|^2 + \mu\|\boldsymbol{D}\boldsymbol{d}_k\|^2}

分子是搜索方向与梯度的内积(由于 \boldsymbol{d}_k 是下降方向,这个值为负,所以整体为正),分母是搜索方向经过 \boldsymbol{H}\boldsymbol{D} 变换后的范数平方的加权和。最优步长的计算只需要矩阵向量乘积,不需要矩阵求逆,因此在大规模问题中是可行的。

缺失数据问题的处理

经典正问题与数据缺失

在理想情况下,观测模型为 \boldsymbol{y} = \boldsymbol{H}\mathbf{x} + \boldsymbol{b},其中 \boldsymbol{y} 包含所有预期的测量值。然而在实际应用中,经常会遇到部分数据缺失的情况,比如探测器故障导致某些测量通道失效、异常数据被剔除以避免污染估计结果、或者采集系统本身就无法覆盖所有测量位置。

截断算子的数学表示

数据缺失可以通过引入截断算子 \boldsymbol{T} 来建模。\boldsymbol{T} 是一个从完整数据空间到观测数据空间的选择矩阵,它的每一行对应一个实际观测到的测量,从完整测量向量中选取相应的分量。例如,如果完整测量有5个分量但只观测到第2、3、5个,则截断算子为:

\boldsymbol{T} = \begin{bmatrix} 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 \end{bmatrix}

修改后的观测模型变为:

\boldsymbol{y} = \boldsymbol{T}\boldsymbol{H}\mathbf{x} + \boldsymbol{b}

其中 \boldsymbol{y} \in \mathbb{R}^m\mathbf{x} \in \mathbb{R}^n,且 n > m(未知数多于观测数)。这使得问题变得欠定,唯一性条件更难满足,先验信息的引入变得更加关键。

断层成像中的缺失数据

断层成像的几何配置

断层成像(如CT、PET等)是逆问题的典型应用场景。

image-20260108162955343

图中展示了两种扫描几何:

  • (a) 是平行束几何,X射线源发出平行射线穿过物体被探测器阵列接收
  • (b) 是扇形束几何,X射线源和探测器绑定在一起绕物体旋转,射线呈扇形展开

在两种几何中,都需要从多个角度采集投影数据。如果某些角度的数据缺失(例如由于扫描时间限制或探测器遮挡),重建问题就变成了有限角度断层成像,这是一个严重病态的问题。

仿真实验设置
image-20260108163027097

图中左侧展示了待重建的真实图像(胸腔CT切片),右侧是对应的正弦图(sinogram)。正弦图是投影数据的二维表示,横轴是探测器位置,纵轴是投影角度。正弦图中的空白区域表示由于有限角度扫描或探测器故障造成的投影数据缺失。

重建结果对比

滤波反投影重建

滤波反投影(FBP,Filtered Back-Projection)是断层成像中的经典解析重建方法。它基于傅里叶切片定理,先对投影数据进行滤波,再沿各投影方向反投影并叠加。FBP方法计算速度快,在数据完整且噪声较低时效果良好。

image-20260108163206887

但从图中可以看到,当存在缺失数据时,FBP重建结果出现了严重的伪影,图像质量明显下降,特别是在缺失角度对应的方向上出现了条纹状的伪迹。

正则化最小二乘(MCR)方法将重建问题表述为优化问题,通过引入先验正则项来约束解的性质。从图中可以看到,MCR重建结果明显优于FBP,伪影得到了有效抑制,图像结构保持得更好。这说明在数据不完整的情况下,贝叶斯/正则化方法通过利用先验信息来补偿数据缺失带来的信息损失,能够获得比传统解析方法更稳定、更准确的重建结果。这正是贝叶斯逆问题方法论的实际价值所在。

去卷积与缺失数据的贝叶斯框架

问题的数学特征

当同时存在系统模糊(卷积)和数据缺失时,逆问题变得更加困难。这类问题具有以下特点:首先,它是欠定问题,因为观测数据的数量少于待估计参数的数量;其次,虽然系统模型是线性的,但由于截断算子 \boldsymbol{T} 的存在,系统不再具有平移不变性,无法直接利用快速傅里叶变换来加速计算;最后,高斯先验仍然适用于这类问题。

后验分布的显式形式

在独立同分布高斯噪声和高斯光滑性先验的假设下,后验分布为:

\Pr(\mathbf{x}|\boldsymbol{y}, \sigma_b, \sigma_x, C) = (2\pi\sigma_b^2)^{-m/2}(2\pi\sigma_x^2)^{-n/2} \times \exp\left[-\frac{1}{2\sigma_b^2}\|\boldsymbol{y} - \boldsymbol{T}\boldsymbol{H}\mathbf{x}\|^2 - \frac{1}{2\sigma_x^2}\|\boldsymbol{D}\mathbf{x}\|^2\right]

这里 m 是观测数据的维度(观测到的像素数),n 是未知量的维度(图像总像素数)。第一项 \|\boldsymbol{y} - \boldsymbol{T}\boldsymbol{H}\mathbf{x}\|^2 是数据拟合项,只在观测到的数据位置计算残差;第二项 \|\boldsymbol{D}\mathbf{x}\|^2 是光滑性正则项,在整个图像域上施加约束。由于截断算子 \boldsymbol{T} 的存在,\boldsymbol{T}\boldsymbol{H} 不再是循环矩阵,必须使用迭代下降方法来求解MAP估计。

图像修复实验结果

完整数据的基准情况

当没有数据缺失(0%像素缺失)时,从带噪声的模糊图像可以较好地重建出原始图像。

image-20260108163345728

图中左侧是真实图像(胸腔CT切片),中间是观测数据(模糊加噪声后的图像),右侧是重建结果。在数据完整的情况下,正则化方法能够有效地去除噪声和模糊,恢复图像的主要结构。

10%数据缺失的情况

image-20260108163408924

当10%的像素数据缺失时(显示为图像中随机分布的黑点),重建算法仍然能够产生高质量的结果。缺失的像素被周围的信息和光滑性先验所约束,算法能够合理地填补这些空缺。重建图像与完整数据情况下的结果几乎没有明显差异,说明在小比例数据缺失时,贝叶斯方法具有良好的鲁棒性。

25%数据缺失的情况

image-20260108163423997

当缺失比例增加到25%时,观测图像中的缺失区域更加明显,但重建结果仍然保持了较好的质量。图像的主要解剖结构(肺部轮廓、气管等)都能被正确恢复,尽管细节部分可能略有损失。这表明先验信息在补偿数据缺失方面发挥了关键作用。

50%数据缺失的情况
image-20260108163451005

当一半的数据缺失时,观测图像已经非常稀疏,只能看到大致的轮廓。然而重建结果仍然能够恢复出图像的主要结构,尽管与真实图像相比存在一定的模糊和细节丢失。

80%数据缺失的情况
image-20260108163508970

当80%的像素缺失时,仅有20%的原始信息可用。观测图像几乎无法辨认出任何有意义的结构。尽管如此,重建算法仍然能够恢复出图像的基本形态,肺部区域和周围组织的大致分布仍然可辨。当然,重建质量相比数据充足的情况有明显下降,出现了更多的模糊和伪影。

90%数据缺失的极端情况
image-20260108163522115

在最极端的测试中,90%的像素数据缺失,仅有10%的观测数据可用。即使如此,贝叶斯重建方法仍然能够恢复出图像的整体结构,肺部的轮廓和心脏区域依然可以识别。当数据极度匮乏时,重建几乎完全依赖于先验假设(在这里是光滑性假设)来约束解空间。

这一系列实验从0%到90%缺失比例的渐进变化,清晰地展示了数据信息与先验信息之间的权衡关系。数据越充足,重建越依赖于观测;数据越稀少,先验的作用越突出。贝叶斯框架提供了一个原则性的方法来自动平衡这两种信息源,使得即使在极端数据缺失的情况下也能给出合理的估计。

非线性估计器与稀疏性先验

本节是反问题课程的第二课详解,主要讨论非线性估计器的构造方法。在第一课中,我们已经学习了基于高斯先验的线性估计方法,但高斯先验存在诸多局限性,因此后续将引入非高斯先验,特别是能够促进稀疏性的先验分布。

贝叶斯框架回顾

在逆问题中,我们的目标是从观测数据 \mathbf{y} 中恢复未知信号 \mathbf{x}。贝叶斯方法的核心是后验分布,它由贝叶斯规则给出:

f(\mathbf{x}|\mathbf{y}, C) = \frac{f(\mathbf{y}|\mathbf{x}, C)f(\mathbf{x}|C)}{f(\mathbf{y}|C)}

这个公式将关于逆问题的所有信息都浓缩在了后验分布中,其中

  • f(\mathbf{y}|\mathbf{x}, C) 是似然函数,描述了给定真实信号时观测数据的分布
  • f(\mathbf{x}|C) 是先验分布,编码了我们对信号的预先认知
  • f(\mathbf{y}|C) 是证据或边缘似然,作为归一化常数
  • C 代表所有超参数的集合
高斯先验的局限性

当我们选择高斯先验时,会面临三个主要问题。第一,基于高斯先验得到的估计器相对于数据是线性的,这意味着估计结果是观测数据的线性组合,无法捕捉信号中的非线性特征。第二,对于自然图像的估计存在困难,因为自然图像通常具有边缘、纹理等非高斯特性,高斯先验无法有效建模这些结构。第三,高斯先验所能编码的信息类型有限,仅能表达关于邻近性的约束,例如已知信号接近某个参考值或信号元素之间相关性的信息,而无法表达稀疏性、有界性等更丰富的先验知识。

非高斯先验下的后验分布

假设噪声服从高斯分布,则似然函数为高斯形式。当我们采用非高斯先验时,后验分布可以写成:

f(\mathbf{x}|\mathbf{y}, C) \propto \exp\left[-\frac{\|\mathbf{y}-\mathbf{H}\mathbf{x}\|^2}{2\sigma_b^2}\right]\exp[-\alpha\Phi_R(\mathbf{x})]

这个表达式由两部分组成:

第一部分 \exp\left[-\frac{\|\mathbf{y}-\mathbf{H}\mathbf{x}\|^2}{2\sigma_b^2}\right] 来自高斯似然,其中 \mathbf{H} 是观测矩阵(或称前向算子),\sigma_b^2 是噪声方差,\|\mathbf{y}-\mathbf{H}\mathbf{x}\|^2 度量了模型预测与实际观测之间的差异。

第二部分 \exp[-\alpha\Phi_R(\mathbf{x})] 是非高斯先验,\Phi_R(\mathbf{x}) 称为势函数或正则化函数,\alpha 是控制先验强度的超参数。不同的 \Phi_R 选择对应不同的先验假设。

对数凹密度函数

在选择先验分布时,对数凹性是一个理想的性质。如果密度函数 f(x) 满足 -\ln f(x) 是凸函数,则称该密度为对数凹的。对数凹性保证了后验分布是单峰的,从而使得优化问题有唯一解。

三种典型分布的比较
image-20260115141012509

左侧图展示的是三种分布的概率密度函数 f(x),右侧图展示的是对应的势函数(potential function),定义为:

\phi_R = -\ln f

势函数就是负对数似然,在贝叶斯框架下,最大化后验概率等价于最小化负对数后验,因此势函数直接对应正则化项的形状。当我们对参数施加某种先验分布时,MAP估计中的正则化项就是这个势函数。

高斯分布的密度函数形如 \exp(-x^2),曲线平滑,在零点附近变化非常缓慢,对应的势函数是 x^2,即 L_2 范数,呈抛物线形状。拉普拉斯分布的密度函数形如 \exp(-|x|),在零点处形成尖峰,对应的势函数是 |x|,即 L_1 范数,呈V形。L_p 分布(p < 2)的密度函数形如 \exp(-|x|^p),尖峰比拉普拉斯更加尖锐,势函数介于 L_1L_2 之间。

下方的放大图揭示了理解稀疏性的关键。高斯分布的势函数 x^2 在零点处是平坦的,其导数在 x=0 处为零,这意味着当参数值已经很小时,L_2 正则化对它的"推力"也很小,不会把它推到精确的零。拉普拉斯分布的势函数 |x| 在零点处有一个折点(不可微点),其次梯度(subgradient)在零点处是一个区间 [-1, 1],这意味着即使参数值很小,L_1 正则化仍然保持恒定的"推力",能够把小参数直接压到精确的零,从而产生稀疏解。

图中还展示了一种平滑近似 \sqrt{x^2 + s^2}(其中 s=0.01),它在零点附近用平滑曲线近似 L_1 范数的折点,保持了大部分稀疏促进特性的同时避免了不可微问题。

先验密度的具体表达式

拉普拉斯分布

拉普拉斯分布的密度函数为:

f(x|\alpha, C) = \alpha\exp(-\alpha|x|)

既是归一化常数(确保概率密度积分为1),也控制分布的集中程度。\alpha 越大,分布的峰越尖锐,概率质量越集中在零点附近,这意味着先验越强烈地相信参数应该接近零。取负对数后,得到势函数 \phi_R(x) = |x|,正是 L_1 范数。

拉普拉斯先验之所以能促进稀疏性,关键在于 |x| 在零点处不可微,其次梯度在零点包含零,使得优化过程可以在零点停住,从而将小系数精确压缩到零。

L2L1混合分布

L2L1分布是对拉普拉斯分布的一种平滑化改进,其密度函数为:

f(x|\alpha, s, C) \propto \exp(-\alpha \phi_R(x, s))

其中势函数定义为分段函数:

\phi_R(x, s) = \begin{cases} x^2 & \text{si } |x| < s \\ 2s|x| - s^2 & \text{sinon} \end{cases}
  • |x| 小于阈值 s 时,采用二次惩罚 x^2,行为类似高斯分布

  • |x| 大于阈值 s 时,采用线性惩罚 2s|x| - s^2,行为类似拉普拉斯分布

  • 参数 s 控制从二次到线性的过渡位置

这种设计解决了纯 L_1 范数在零点不可微的问题,使得整个势函数处处可微,便于使用基于梯度的优化算法。同时,在远离零点的区域保持线性增长,避免了 L_2 惩罚对大幅值参数的过度惩罚(二次增长会使大参数受到极大的惩罚)。

Lp分布

L_p 分布提供了一族由参数 p 控制的先验:

f(x|\alpha, C) \propto \exp(-\alpha|x|^p)
  • p = 2 时,势函数为 |x|^2,退化为高斯分布
  • p = 1 时,势函数为 |x|,退化为拉普拉斯分布
  • 对于 1 < p < 2,得到介于两者之间的分布,可以在稀疏性和平滑性之间取得折中

这里需要注意一个数学性质:当 p > 1 时,势函数 |x|^p 是严格凸的,这保证了优化问题的解是唯一的,但当 p \leq 1 时,势函数不再是凸的,优化问题可能存在多个局部极小值,求解变得更加困难。

点估计方法

在贝叶斯框架下,推断的结果是完整的后验分布 f(\mathbf{x}|\mathbf{y}, C),它描述了在给定观测数据后,参数 \mathbf{x} 的所有可能取值及其概率。然而在实际应用中,我们通常需要给出一个确定的重建结果,这就需要从后验分布中提取一个点估计。常用的点估计有两种:

最大后验估计(MAP)定义为:

\hat{x}^{\text{MAP}} = \arg\max_{\mathbf{x}}(f(\mathbf{x}|\mathbf{y}, C))

MAP估计选择使后验概率密度最大的那个点,即后验分布的众数(mode)。

后验期望估计(EAP)定义为:

\hat{x}^{\text{EAP}} = \int_{\mathbb{R}^N} \mathbf{x}f(\mathbf{x}|\mathbf{y}, C)d\mathbf{x}

EAP估计计算后验分布的均值,即用后验概率对所有可能的 \mathbf{x} 进行加权平均。

对于高斯后验分布,由于其对称性,众数和均值重合,因此MAP和EAP给出相同的结果。但对于非高斯后验(如使用拉普拉斯先验时),分布通常是不对称的,两种估计会给出不同的结果。

从计算角度看,MAP估计将问题转化为优化问题,只需找到一个极值点,而EAP估计需要计算 N 维空间上的积分,当 N 很大时,这个积分无法解析计算,通常只能通过蒙特卡洛采样方法进行数值近似。

MAP估计的优化形式

由于对数函数是单调递增的,最大化后验概率等价于最大化其对数,进而等价于最小化负对数后验:

\hat{x}^{\text{MAP}} = \arg\min_{\mathbf{x}}(-\log[f(\mathbf{x}|\mathbf{y}, C)])

将后验分布的具体表达式 f(\mathbf{x}|\mathbf{y}, C) \propto \exp\left(-\frac{\|\mathbf{y}-\mathbf{H}\mathbf{x}\|^2}{2\sigma_b^2}\right) \exp(-\alpha\phi_R(\mathbf{x})) 代入,取负对数后,指数消失变成线性相加,忽略与 \mathbf{x} 无关的常数项,得到:

\hat{x}^{\text{MAP}} = \arg\min_{\mathbf{x}}\frac{\|\mathbf{y}-\mathbf{H}\mathbf{x}\|^2}{\sigma_b^2} + \alpha\phi_R(\mathbf{x})

这个目标函数的结构体现了贝叶斯推断的本质:

第一项 \frac{\|\mathbf{y}-\mathbf{H}\mathbf{x}\|^2}{\sigma_b^2} 是数据保真项,来源于似然函数,要求重建结果 \mathbf{H}\mathbf{x} 与观测数据 \mathbf{y} 尽可能接近

第二项 \alpha\phi_R(\mathbf{x}) 是正则化项,来源于先验分布,要求重建结果符合我们对信号的先验假设(如稀疏性)。

参数 \alpha 控制两项之间的相对权重,\alpha 越大,正则化约束越强。

求解算法

针对上述优化问题,有两类主要的求解方法。

第一类是梯度下降法,其基本思想是沿着目标函数的负梯度方向迭代更新参数。这要求目标函数对 \mathbf{x} 可微,因此适用于 L_2 正则化(势函数 x^2 处处可微)或 L2L1 混合正则化(通过分段设计保证可微性)。

第二类是迭代阈值算法(Iterative Shrinkage-Thresholding Algorithm),由Combettes于2004年提出,专门用于处理凸但不可微的目标函数,典型应用是 L_1 正则化。该算法的核心思想是将目标函数分解为可微部分和不可微部分,交替进行两个步骤:梯度步处理可微的数据保真项,近端算子步处理不可微的正则化项。对于 L_1 正则化,近端算子对应于软阈值操作(soft thresholding),它将绝对值小于某阈值的分量直接置零,从而产生稀疏解。

拉普拉斯先验与稀疏性的几何解释

L_1 范数约束导致稀疏解这一现象可以通过几何视角获得直观理解。

image-20260115141045604
等值线的几何形状

考虑二维情况,L_1 范数的等值线是满足 |x_1| + |x_2| = c 的点的集合,其几何形状是一个菱形(或称为正方形旋转45度),四个顶点分别位于坐标轴上的 (c, 0)(-c, 0)(0, c)(0, -c)L_2 范数的等值线是满足 x_1^2 + x_2^2 = c 的点的集合,其几何形状是一个圆,边界上没有任何特殊的"角点"。

数据保真项 \|\mathbf{y} - \mathbf{H}\mathbf{x}\|^2 也定义了一族等值线,在二维情况下通常是椭圆形,椭圆的中心就是无约束的最小二乘解(即使数据保真项最小的点)。图中标注为"Données"的椭圆即表示数据保真项的某一条等值线。

约束优化的几何解释

带正则化的优化问题可以等价地写成约束优化的形式:在约束 \|\mathbf{x}\|_1 \leq c\|\mathbf{x}\|_2 \leq c 下,最小化数据保真项。几何上,这意味着我们要在约束集(菱形或圆的内部及边界)中,找到使数据保真项最小的点。由于数据保真项的等值线是以最小二乘解为中心的椭圆族,从中心向外,等值线对应的函数值逐渐增大。因此,最优解就是约束集边界与数据等值线首次相切的那个点。

稀疏性的几何成因

菱形的关键特征是它有四个尖锐的顶点,且这些顶点恰好位于坐标轴上。当椭圆形的数据等值线从外向内收缩,寻找与菱形边界的切点时,由于菱形边界大部分区域是平直的边(斜率固定),而顶点处存在"角",椭圆更容易在顶点处与菱形相切。顶点位于坐标轴上意味着该点的某个坐标分量为零,例如切点在 (c, 0) 时,x_2 = 0。这就产生了稀疏解。

相比之下,圆的边界处处光滑,没有顶点或角点。椭圆与圆的切点可以出现在任意方向上,切点的位置由椭圆的形状和方向决定,通常不会恰好落在坐标轴上。因此 L_2 约束下的解一般不会有精确为零的分量。

这一几何图像解释了为什么 L_1 正则化(对应拉普拉斯先验)能够产生稀疏解,而 L_2 正则化(对应高斯先验)只能使参数变小但不能使其精确为零。在高维情况下,菱形推广为超菱形(cross-polytope),其顶点和棱边都位于坐标子空间上,同样的几何机制使得 L_1 约束下的解倾向于落在这些低维子空间上,即具有稀疏结构。

小波域去噪应用

去噪问题的模型

图像去噪是稀疏先验最经典的应用场景之一。去噪问题的直接模型非常简单:

\mathbf{y} = \mathbf{x} + \mathbf{b}

其中 \mathbf{y} 是含噪观测图像,\mathbf{x} 是我们希望恢复的干净图像,\mathbf{b} 是加性噪声。与一般的逆问题 \mathbf{y} = \mathbf{H}\mathbf{x} + \mathbf{b} 相比,去噪问题中的观测矩阵 \mathbf{H} 退化为单位阵 \mathbf{I},即观测过程没有对图像进行任何变换(如模糊、降采样等),唯一的退化来源是噪声的叠加。这使得去噪问题成为逆问题中最简单的情形,没有信息丢失,只有信息被噪声污染。

小波变换的引入

直接在图像域(即像素空间)施加稀疏先验效果不佳,原因在于自然图像的像素值本身并不稀疏——一幅图像的大部分像素都有非零的灰度值。然而,自然图像在小波域通常呈现近似稀疏的特性:经过小波变换后,大部分小波系数的幅值接近零(对应图像中平坦的区域),只有少数系数具有较大幅值(对应边缘、纹理等局部不连续结构)。这种稀疏性使得小波域成为施加 L_1 先验的理想空间。

离散小波变换矩阵 O 具有酉性质,即:

O^t O = I_d
O^{-1} = O^t

第一个等式说明 O 的转置等于其逆,第二个等式是第一个的直接推论。酉变换的几何意义是它保持向量的内积和范数不变,即对于任意向量 \mathbf{a}\mathbf{b},有 \langle O\mathbf{a}, O\mathbf{b} \rangle = \langle \mathbf{a}, \mathbf{b} \rangle,特别地 \|O\mathbf{a}\|_2 = \|\mathbf{a}\|_2。这意味着在小波域中计算的 L_2 距离与在图像域中计算的完全相同,我们可以等价地在小波域进行优化而不改变数据保真项的值。

小波域的问题转化

对原始去噪模型两边同时左乘小波变换矩阵 O

\mathbf{y} = \mathbf{x} + \mathbf{b}
O\mathbf{y} = O\mathbf{x} + O\mathbf{b}

定义新的变量:\mathbf{v} = O\mathbf{y} 是观测图像的小波系数,\mathbf{u} = O\mathbf{x} 是干净图像的小波系数,\mathbf{e} = O\mathbf{b} 是噪声的小波系数,则问题变为:

\mathbf{v} = \mathbf{u} + \mathbf{e}

这个变换后的模型在形式上与原模型完全相同,但现在所有量都是小波系数。由于酉变换保持高斯分布的性质(酉变换下高斯随机向量仍是高斯随机向量,且若原噪声是独立同分布的,变换后仍保持这一性质),若原始噪声 \mathbf{b} 是均值为零、方差为 \sigma^2 的高斯白噪声,则小波域噪声 \mathbf{e} 仍然是具有相同统计特性的高斯白噪声。这保证了我们之前建立的高斯似然模型在小波域中仍然适用。

MAP估计与软阈值

在小波域中采用拉普拉斯先验(对应 L_1 正则化),MAP估计问题变为:

\hat{u}^{\text{MAP}} = \arg\min_{\mathbf{u}} \|\mathbf{v} - \mathbf{u}\|^2 + \mu\|\mathbf{u}\|_1
  • \|\mathbf{v} - \mathbf{u}\|^2 是数据保真项,要求估计的小波系数 \mathbf{u} 接近观测到的小波系数 \mathbf{v}
  • \|\mathbf{u}\|_1 = \sum_i |u_i|L_1 正则化项,鼓励小波系数稀疏
  • \mu 是正则化参数,平衡两项的权重

由于 L_1 范数在零点不可微,这是一个凸但不光滑的优化问题,不能直接用标准的梯度方法求解。

这个优化问题有一个关键性质:目标函数关于各分量是可分离的。展开来看,\|\mathbf{v} - \mathbf{u}\|^2 = \sum_i (v_i - u_i)^2\|\mathbf{u}\|_1 = \sum_i |u_i|,因此目标函数可以写成 \sum_i \left[(v_i - u_i)^2 + \mu|u_i|\right]。由于没有交叉项将不同的 u_i 耦合在一起,对整体目标函数的最小化可以分解为对每个分量独立求解。第 i 个分量的子问题是:

\min_{u_i} (v_i - u_i)^2 + \mu|u_i|

这个一维优化问题可以通过分情况讨论求得解析解。

u_i > 0 时,|u_i| = u_i,目标函数变为 (v_i - u_i)^2 + \mu u_i,对 u_i 求导并令其为零,得

-2(v_i - u_i) + \mu = 0

解得

u_i = v_i - \frac{\mu}{2}

这个解有效的条件是 u_i > 0,即 v_i > \frac{\mu}{2}

u_i < 0 时,|u_i| = -u_i,类似分析得 u_i = v_i + \frac{\mu}{2},有效条件是 v_i < -\frac{\mu}{2}

v_i 位于区间 [-\frac{\mu}{2}, \frac{\mu}{2}] 内时,最优解是 u_i = 0

综合以上三种情况,得到软阈值算子:

\forall i, \quad \hat{u}_{i}^{\text{MAP}} = \begin{cases} v_i + \frac{1}{2}\mu & \text{si } v_i < -\frac{1}{2}\mu \\ 0 & \text{si } -\frac{1}{2}\mu < v_i < \frac{1}{2}\mu \\ v_i - \frac{1}{2}\mu & \text{si } v_i > \frac{1}{2}\mu \end{cases}

软阈值算子的作用可以从两个方面理解:

  • 对于幅值小于阈值 \frac{\mu}{2} 的系数,直接置为零,因为这些小系数更可能是噪声的贡献而非信号本身
  • 对于幅值大于阈值的系数,向零的方向收缩 \frac{\mu}{2},去除其中噪声的部分贡献,同时保留信号的主体。
  • 参数 \mu 控制阈值的大小,需要根据噪声水平来选择,噪声越大,阈值应设得越高。
去噪效果对比
image-20260115141437090

传统的低通滤波去噪方法在频域中抑制高频成分。由于噪声通常具有宽频谱特性,低通滤波确实能去除高频噪声,但同时也会无差别地抑制图像的高频细节(如边缘、纹理),导致去噪后的图像模糊,边缘不再锐利。

小波域软阈值去噪的优势在于它利用了信号和噪声在小波域的不同表现:自然图像的小波系数是稀疏的,能量集中在少数大系数上(对应边缘等结构),而噪声的小波系数则分散在所有系数上,每个系数的幅值都较小。软阈值操作保留了大系数(信号),去除了小系数(噪声),从而在去噪的同时较好地保持了边缘的锐度。

鲁棒估计

问题背景

前面讨论的所有方法都建立在一个基本假设之上:噪声服从高斯分布。高斯噪声假设导出了 L_2 范数的数据保真项 \|\mathbf{y} - \mathbf{H}\mathbf{x}\|^2,这是最小二乘估计的理论基础。然而,实际应用中经常会遇到非高斯噪声,特别是脉冲噪声或异常值(outliers)。

脉冲噪声的特点是:大部分时候噪声幅值较小,但偶尔会出现幅值极大的噪声样本。产生脉冲噪声的典型场景包括传感器故障(传感器偶尔输出错误读数)、通信误码(数据传输过程中个别比特翻转导致数值剧变)、测量中的人为错误等。经典的最小二乘估计对这类异常值极为敏感,因为 L_2 范数对大残差施加二次惩罚,单个异常值产生的巨大残差会在目标函数中占据主导地位,从而严重扭曲整体的估计结果。鲁棒估计(Robust Estimation)的目标就是设计对这类异常值不敏感的估计方法。

2003年美国东北部大停电事件是一个实际案例:电网状态估计依赖于分布在各处的传感器数据,当部分传感器失效产生错误读数时,如果估计方法不够鲁棒,这些错误读数会严重影响对电网状态的判断,进而导致错误的调度决策。

image-20260115141502027
多次观测模型

为了清晰地展示不同估计方法对异常值的敏感程度,考虑一个简单但具有代表性的场景:对同一物理量 x_0 进行 N 次独立观测。每次观测 y_i 都被独立同分布的噪声 b_i 污染:

\forall i, \quad y_i = x_0 + b_i

这意味着我们对同一个未知的真实值 x_0 重复测量 N 次,每次测量结果 y_i 都是真实值加上一个随机噪声。这个模型可以写成紧凑的向量形式:

\mathbf{y} = \mathbf{1}x_0 + \mathbf{b}

其中 \mathbf{y} = (y_1, \ldots, y_N)^T 是观测向量,\mathbf{b} = (b_1, \ldots, b_N)^T 是噪声向量,\mathbf{1} 是元素全为1的 N 维列向量:

\mathbf{1} = \begin{pmatrix} 1 \\ \vdots \\ 1 \end{pmatrix}

在一般逆问题框架 \mathbf{y} = \mathbf{H}\mathbf{x} + \mathbf{b} 中,这里的观测矩阵 \mathbf{H} = \mathbf{1} 是一个 N \times 1 的列向量,未知量 x_0 是一个标量而非向量。这个模型抓住了鲁棒估计问题的核心:如何从一组可能包含异常值的观测中,可靠地估计出真实值。不同的估计方法(如均值、中位数等)在这个简单模型上的表现差异,可以直接推广到更复杂的逆问题中。

不同噪声模型下的估计

高斯似然与均值估计

当噪声 \mathbf{b} 的每个分量 b_i 都独立地服从均值为零、方差为 \sigma_b^2 的高斯分布时,由于各分量独立,联合概率密度是各分量概率密度的乘积。每个 b_i 的密度为 (2\pi\sigma_b^2)^{-1/2}\exp\left[-\frac{b_i^2}{2\sigma_b^2}\right],而 b_i = y_i - x_0,因此似然函数为:

f(\mathbf{y}|x_0, \sigma_b^2) = (2\pi\sigma_b^2)^{-N/2}\exp\left[-\frac{\|\mathbf{y} - \mathbf{1}x_0\|^2}{2\sigma_b^2}\right]

这里 \|\mathbf{y} - \mathbf{1}x_0\|^2 = \sum_i (y_i - x_0)^2 是残差的平方和。由于对数函数单调递增,最大化似然等价于最小化负对数似然,而负对数似然中与 x_0 相关的部分正是 \frac{1}{2\sigma_b^2}\sum_i (y_i - x_0)^2。因此最大似然估计等价于最小化残差平方和。对 \sum_i (y_i - x_0)^2 关于 x_0 求导,得 -2\sum_i (y_i - x_0) = 0,解得 x_0 = \frac{1}{N}\sum_i y_i。如果采用无信息先验(即均匀先验,认为 x_0 在整个实数轴上先验概率均等),则后验分布仍是高斯分布,后验期望估计为:

\hat{x}_0^{\text{EAP}} = \frac{1}{N}\sum_i y_i

这就是样本均值。均值估计在高斯噪声假设下是最优的(达到Cramér-Rao下界),但它对异常值极为敏感。假设 N 个观测中有一个因传感器故障产生了极大的错误值 y_k = x_0 + \Delta,其中 \Delta 是一个巨大的误差。这个错误值会以 \frac{1}{N} 的权重直接进入估计结果,使得 \hat{x}_0 = x_0 + \frac{\Delta}{N}。当 \Delta 足够大时,即使只有一个异常值,估计结果也会严重偏离真实值。

拉普拉斯似然与中位数估计

如果假设噪声服从拉普拉斯分布(也称双指数分布)而非高斯分布,每个 b_i 的密度为 \frac{1}{2\alpha}\exp\left[-\frac{|b_i|}{\alpha}\right],其中 \alpha 是尺度参数。由于各分量独立,似然函数变为:

f(\mathbf{y}|x_0, \alpha) = (2\alpha)^{-N}\exp\left[-\frac{\|\mathbf{y} - \mathbf{1}x_0\|_1}{\alpha}\right]

这里出现的是 L_1 范数 \|\mathbf{y} - \mathbf{1}x_0\|_1 = \sum_i |y_i - x_0|,即残差绝对值之和,而非 L_2 范数。最大化这个似然等价于最小化 \sum_i |y_i - x_0|,这是一个经典的优化问题,称为最小绝对偏差(Least Absolute Deviations)问题。

这个优化问题的解恰好是样本中位数。当 x_0 位于中位数位置时,向左移动会使右边所有点的残差增加,向右移动会使左边所有点的残差增加;由于中位数左右两边的点数相等(或相差1),任何方向的移动都不会减少残差绝对值之和。MAP估计的具体形式为:

\hat{x}_0^{\text{MAP}} = \text{medEmp}(\mathbf{y}) = \begin{cases} y_{((N+1)/2)} & \text{若 } N \text{ 为奇数} \\[1em] \dfrac{y_{(N/2)} + y_{(N/2+1)}}{2} & \text{若 } N \text{ 为偶数} \end{cases}

其中 y_{(k)} 表示将观测值从小到大排序后的第 k 个值(即第 k 个顺序统计量)。当 N 为奇数时,中位数就是排序后正中间的那个值;当 N 为偶数时,中位数取中间两个值的平均。

中位数估计的鲁棒性来源于它只依赖于排序后的中间位置的值,而完全不受极端值大小的影响。假设某个观测值变成无穷大,只要排序后它位于中间位置之外(即位于序列的末端),中位数估计就不会改变。这种性质用breakdown point(崩溃点)来量化:breakdown point定义为使估计结果变得任意差所需的最小异常值比例。中位数估计的breakdown point是50%,意味着最多可以容忍接近一半的观测值是异常值,只要异常值不超过一半,估计结果仍然可靠。相比之下,均值估计的breakdown point是 \frac{1}{N},即只需一个异常值就可能使估计崩溃。

有界误差估计

均匀似然模型

另一种处理不确定性的方式是假设误差有界。假设噪声 b_i 在区间 [-\beta, \beta] 上均匀分布,其中 \beta > 0 是未知的误差界。每个观测的条件密度为:

f(y_i|x_0, \beta, C) = \begin{cases} (2\beta)^{-1} & \text{si } -\beta + x_0 \leq y_i \leq \beta + x_0 \\ 0 & \text{sinon} \end{cases}

这表示给定真值 x_0 和误差界 \beta,观测值 y_i 必须落在 [x_0 - \beta, x_0 + \beta] 区间内,否则概率为零。

image-20260115141533037

由于各观测独立,联合似然是各个似然的乘积:

f(\mathbf{y}|x_0, \beta, C) = \prod_i f(y_i|x_0, \beta, C) = \begin{cases} (2\beta)^{-N} & \text{si } -\beta + x_0 \leq y_i \leq \beta + x_0, \forall i \\ 0 & \text{sinon} \end{cases}
可行域的几何结构

似然非零的条件可以改写为:对所有 i,都有 x_0 - \beta \leq y_i \leq x_0 + \beta。这等价于两个不等式同时成立:y_i \leq x_0 + \beta(即 \beta \geq y_i - x_0)和 y_i \geq x_0 - \beta(即 \beta \geq x_0 - y_i)。对所有观测取最严格的约束,得到:

\forall i, -\beta + x_0 \leq y_i \leq \beta + x_0 \equiv y_{min} \geq x_0 - \beta \text{ et } y_{max} \leq x_0 + \beta

其中 y_{min} 是最小观测值,y_{max} 是最大观测值。这两个条件定义了 (x_0, \beta) 平面上的可行域 \mathcal{D}。在几何上,\beta = x_0 - y_{min}\beta = -x_0 + y_{max} 是两条直线,可行域是这两条直线围成的楔形区域。可行域的顶点是两条直线的交点,联立方程 \beta = x_0 - y_{\min}\beta = -x_0 + y_{\max},解得:

x_0 = \frac{y_{\min} + y_{\max}}{2}, \quad \beta = \frac{y_{\max} - y_{\min}}{2}

这个顶点的物理意义是:x_0 取极差的中点(即最大最小观测值的平均),\beta 取极差的一半。这是能够解释所有数据的最小误差界——任何更小的 \beta 都无法覆盖所有观测值。

后验分布

采用非信息先验 f(x_0, \beta|C) = \frac{1}{\beta},这是 \beta 的Jeffreys先验。Jeffreys先验是一种客观先验,对于尺度参数(如标准差、误差界等必须为正的参数),其形式为参数的倒数,具有尺度不变性。后验分布由贝叶斯公式给出,正比于似然乘以先验:

f(x_0, \beta|\mathbf{y}, C) \propto \begin{cases} \beta^{-N-1} & \text{si } (x_0, \beta) \in \mathcal{D} \\ 0 & \text{sinon} \end{cases}

这里 \beta^{-N-1} 来源于似然函数中的 (2\beta)^{-N}(均匀分布的归一化常数的 N 次方)乘以先验中的 \beta^{-1}。后验密度在可行域内与 \beta^{-N-1} 成正比,由于指数 -N-1 是负数,\beta 越小,后验密度越大。这反映了奥卡姆剃刀原则:在能够解释数据的所有参数组合中,倾向于选择误差界 \beta 更小的那些,因为更小的 \beta 意味着更"紧"的模型。

后验密度在可行域内随着 \beta 减小而单调增大,因此最大后验密度出现在 \beta 能取到的最小值处,即可行域的顶点。所以MAP估计为:

\hat{x}_0^{\text{MAP}} = \frac{y_{\min} + y_{\max}}{2}, \quad \hat{\beta}^{\text{MAP}} = \frac{y_{\max} - y_{\min}}{2}

这个估计称为极差中点估计(midrange estimator),它只使用了极端观测值的信息。

充分统计量与MAP估计

在有界误差模型中,一个关键观察是:原始观测数据 y_1, y_2, \ldots, y_N 并不直接出现在似然函数的表达式中,似然只依赖于最小值 y_{min} 和最大值 y_{max}。这意味着 y_{min}y_{max} 构成了该模型的充分统计量——它们包含了数据中关于参数 (x_0, \beta) 的全部信息。

对联合后验关于 \beta 积分,可得 x_0 的边缘后验分布:

f(x_0|\mathbf{y}) = \int_{\mathcal{D}} f(x_0, \beta|\mathbf{y}) d\beta \propto \begin{cases} (y_{max} - x_0)^{-N} & \text{si } x_0 < \frac{y_{min} + y_{max}}{2} \\ (x_0 - y_{min})^{-N} & \text{si } x_0 \geq \frac{y_{min} + y_{max}}{2} \end{cases}

这个分段函数在分界点 x_0 = \frac{y_{\min} + y_{\max}}{2} 处达到最大值。在分界点左侧,(y_{\max} - x_0)^{-N}x_0 增大而增大(因为分母减小);在分界点右侧,(x_0 - y_{\min})^{-N}x_0 增大而减小。因此边缘后验在分界点处有唯一的峰值。

由于边缘后验在 x_0 = \frac{y_{\min} + y_{\max}}{2} 处达到最大,MAP估计为:

\hat{x}^{\text{MAP}} = \frac{y_{min} + y_{max}}{2}

对应的误差界估计为:

\hat{\beta}^{\text{MAP}} = \frac{y_{max} - y_{min}}{2}

\hat{x}^{\text{MAP}} 是最小观测值 y_{\min} 和最大观测值 y_{\max} 的中点,\hat{\beta}^{\text{MAP}} 是它们之差的一半。换言之,MAP估计找到的是能够覆盖所有观测值的最小区间 [\hat{x} - \hat{\beta}, \hat{x} + \hat{\beta}] = [y_{\min}, y_{\max}],然后取这个区间的中心作为 x_0 的估计。

这种估计方法称为极差中点估计(midrange estimator)。它与中位数估计有本质区别:中位数只使用排序后中间位置的值,完全忽略极端值的大小;而极差中点恰恰相反,只使用两个极端值,完全忽略中间的观测。因此极差中点估计对异常值非常敏感,单个极端异常值就会严重影响估计结果。这提醒我们:有界误差模型适用于确实知道误差有界的场景,而不适用于可能存在异常值的场景。

脉冲噪声下的逆问题

问题设定

现在考虑更一般的线性逆问题,观测模型为:

\mathbf{y} = \mathbf{H}\mathbf{x} + \mathbf{b}

其中 \mathbf{H} 是观测矩阵,\mathbf{b} 是脉冲噪声。与高斯噪声不同,脉冲噪声的特点是大部分噪声样本幅值较小,但偶尔会出现幅值极大的异常值。

image-20260115141551119

从图像上直观对比,高斯噪声呈现均匀的颗粒状,而脉冲噪声则表现为散布的亮点或暗点。

image-20260115141609964

在医学成像(如CT重建)中,脉冲噪声可能来源于探测器故障、散射光子或电子学干扰。如果使用假设高斯噪声的标准方法,这些异常值会严重污染重建结果。传统的基于高斯噪声假设的重建方法(如滤波反投影或基于 L_2 数据保真项的迭代方法)对这类异常值非常敏感,单个异常值的影响会通过重建算法传播到整幅图像,严重污染最终的重建结果。这就是需要引入鲁棒估计方法的实际动机。

L2L1似然函数

为了获得对脉冲噪声的鲁棒性,需要修改似然函数的形式。标准的高斯似然对应 L_2 范数的数据保真项,对大残差施加二次惩罚,导致异常值主导优化过程。解决方案是采用L2L1形式的似然函数:

f(\mathbf{y}|\mathbf{x}, \alpha, s, C) \propto \exp(-\alpha\Phi(\mathbf{y} - \mathbf{H}\mathbf{x}, s))

其中势函数 \Phi 定义为各分量势函数之和:

\Phi(\mathbf{y} - \mathbf{H}\mathbf{x}, s) = \sum_{i=1}^{n} \phi(y_i - (\mathbf{H}\mathbf{x})_i, s)

这里的 \phi 是之前介绍的L2L1分段函数:

  • 当残差 |y_i - (\mathbf{H}\mathbf{x})_i| 小于阈值 s 时,采用二次惩罚 \phi = r^2
  • 当残差大于阈值 s 时,采用线性惩罚 \phi = 2s|r| - s^2
  • 参数 s 控制从二次到线性的过渡点

这种设计的鲁棒性来源于对大残差的线性惩罚。在纯 L_2 惩罚下,一个残差为 r 的异常值对目标函数的贡献是 r^2,当 r 很大时这个贡献会极大。而在L2L1惩罚下,大残差的贡献只是 2s|r|,随 |r| 线性增长而非二次增长。这意味着异常值虽然仍有影响,但不会像二次惩罚那样主导整个优化过程,从而保护了其他正常观测对估计的贡献。

高斯先验与后验分布

对于待估计的信号 \mathbf{x},这里采用高斯先验,但不是直接对 \mathbf{x} 本身施加约束,而是通过差分算子 \mathbf{D} 来表达平滑性假设:

f(\mathbf{x}|\sigma_x^2, C) = (2\pi\sigma_x^2)^{-n/2} \exp\left[-\frac{1}{2\sigma_x^2}\|\mathbf{D}\mathbf{x}\|^2\right]

差分算子 \mathbf{D} 计算相邻像素之间的差异

  • 对于一维信号,\mathbf{D} 是一个差分矩阵,使得 (\mathbf{D}\mathbf{x})_i = x_{i+1} - x_i
  • 对于二维图像,\mathbf{D} 包含水平和垂直两个方向的差分

\|\mathbf{D}\mathbf{x}\|^2 度量了信号的整体变化程度,即所有相邻像素差异的平方和。高斯先验倾向于使 \mathbf{D}\mathbf{x} 接近零,即鼓励重建结果在空间上平滑变化,抑制剧烈的局部跳变。

结合L2L1似然和高斯先验,由贝叶斯公式得到后验分布:

f(\mathbf{x}|\mathbf{y}, \alpha, \sigma_x^2, C) \propto \exp\left(-\alpha\Phi(\mathbf{y} - \mathbf{H}\mathbf{x}, s) - \frac{1}{2\sigma_x^2}\|\mathbf{D}\mathbf{x}\|^2\right)

这个后验分布的负对数(即MAP估计的目标函数)由两项组成:

  • \alpha\Phi(\mathbf{y} - \mathbf{H}\mathbf{x}, s) 是鲁棒的数据保真项,对异常值不敏感
  • \frac{1}{2\sigma_x^2}\|\mathbf{D}\mathbf{x}\|^2 是平滑正则化项,鼓励重建结果平滑
  • 参数 \alpha\sigma_x^2 共同控制两项之间的平衡
Huber势函数

L2L1势函数实际上就是统计学中著名的Huber损失函数。

image-20260115141649493

图示对比了二次函数 \varphi(x) = x^2(虚线)和阈值 s = 0.5 的Huber函数(实线)。在原点附近两者重合,都是抛物线形状,当 |x| > s 时,Huber函数转为线性增长,而二次函数继续加速增长。这种设计使得Huber损失对大残差不那么敏感:一个幅值为10的异常值,在二次损失下贡献100,而在Huber损失下仅贡献约 2 \times 10 \times s - s^2 = 9.75(假设 s=0.5)。

重建结果对比

这组实验展示了在脉冲噪声污染下,两种不同重建方法的效果对比。输入数据是含脉冲噪声的CT投影数据(Donnees avec bruit impulsionnel),从图中可以看到散布的亮点异常值,这些异常值可能来自探测器故障或数据传输错误。

image-20260115141700395

右上图展示了使用标准高斯MAP估计器(Reconstruction estimateur MAP gaussien)的重建结果。高斯MAP估计器假设噪声服从高斯分布,其数据保真项是 L_2 范数 \|\mathbf{y} - \mathbf{H}\mathbf{x}\|^2。当实际噪声包含脉冲异常值时,这个假设与现实严重不符。由于 L_2 范数对大残差施加二次惩罚,每个异常值都会在目标函数中产生巨大的贡献,迫使重建算法优先拟合这些异常点。结果是重建图像严重受到异常值影响,出现大量伪影和失真,肺部结构变得模糊不清,图像整体质量严重下降。

image-20260115141737856

相比之下,使用L2L1似然的鲁棒估计器能够有效抑制异常值的影响,重建结果更加清晰,鲁棒估计器采用Huber损失作为数据保真项,对小残差保持二次惩罚(保证正常数据点的拟合精度),对大残差转为线性惩罚(抑制异常值的影响)。这种设计使得异常值对目标函数的贡献被大大削弱,正常观测点能够主导重建过程。从结果可以看到,鲁棒估计器有效抑制了异常值的影响,重建图像更加清晰,肺部结构(包括气管、血管、肺叶边界等)得以正确恢复,图像质量接近无噪声情况下的重建。

层次贝叶斯模型

基本思想

前面讨论的所有方法都假设先验分布的形式和参数(如拉普拉斯分布的参数 \alpha、噪声方差 \sigma_b^2 等)是已知的或预先给定的。但在实际应用中,这些参数往往也是未知的,需要从数据中学习。层次贝叶斯模型(Hierarchical Bayesian Model)提供了一个系统的框架来处理这类问题。

层次贝叶斯的核心思想包含四个方面。第一,利用简单分布(特别是高斯分布)的计算便利性。高斯分布具有共轭性,即高斯似然与高斯先验的组合仍产生高斯后验,许多涉及高维积分的计算可以解析完成。第二,在一个参数化的分布族中选择最优的先验,而不是预先固定先验参数。这对应于非监督学习的思路:让数据"告诉"我们应该使用什么样的先验。第三,通过引入隐变量(latent variables),将复杂的先验分解为多个简单条件分布的层次组合。第四,虽然层次结构中每一层的条件分布都可以是高斯的(便于计算),但对隐变量积分后得到的边缘分布可以是非高斯的,从而实现复杂的先验建模能力。

扩展的贝叶斯规则

当引入隐变量 \mathbf{z} 后,贝叶斯规则扩展为描述信号 \mathbf{x} 和隐变量 \mathbf{z} 的联合后验分布:

f(\mathbf{x}, \mathbf{z}|\mathbf{y}, C) = \frac{f(\mathbf{y}|\mathbf{x}, C)f(\mathbf{x}|\mathbf{z}, C)f(\mathbf{z}|C)}{f(\mathbf{y}|C)}

分子由三个因子组成:

  • f(\mathbf{y}|\mathbf{x}, C) 是似然函数,描述给定信号 \mathbf{x} 后观测 \mathbf{y} 的分布,通常取高斯形式
  • f(\mathbf{x}|\mathbf{z}, C) 是给定隐变量 \mathbf{z} 时信号的条件先验,这一层通常也设计为高斯分布以保持计算的可处理性
  • f(\mathbf{z}|C) 是隐变量的先验,称为超先验(hyperprior)

通过选择不同形式的超先验 f(\mathbf{z}|C),可以多样的先验建模效果。

非监督逆问题实例

问题设定

考虑一个典型的非监督场景:对同一物理量 x_0 进行 N 次观测,但噪声方差 \sigma^2 未知。目标是同时估计真值 x_0 和噪声方差 \sigma^2,即在一个分布族中选择最能解释数据的分布。观测模型为:

\forall i, \quad y_i = x_0 + b_i

其中噪声 b_i 独立同分布,服从方差为 \sigma^2 的高斯分布。向量形式为:

\mathbf{y} = \mathbf{1}x_0 + \mathbf{b}

其中 \mathbf{1} 是元素全为1的 N 维列向量:

\mathbf{1} = \begin{pmatrix} 1 \\ \vdots \\ 1 \end{pmatrix}
先验假设

对于未知参数,采用无信息先验(non-informative prior)来表达我们对参数的未知状态。对于位置参数 x_0(可以取任意实数值),使用均匀先验 f(x_0|C) \propto 1。这是一个非正常先验(improper prior),因为它在整个实数轴上积分发散,但只要后验分布是正常的(积分有限),推断仍然有效。

对于尺度参数 \sigma_b^2(必须为正),使用Jeffreys先验:

f(\sigma_b|C) = \sigma_b^{-1}

Jeffreys先验是尺度参数的标准无信息先验选择。它具有参数化不变性:无论我们将参数表示为 \sigma_b\sigma_b^2 还是 \log\sigma_b,由Jeffreys先验得到的推断结果是一致的。这种不变性确保了推断结论不依赖于参数的任意表示方式。从形式上看,f(\sigma_b) \propto \sigma_b^{-1} 意味着先验在对数尺度上是均匀的,即 f(\log\sigma_b) \propto 1,反映了我们对 \sigma_b 的数量级没有先验偏好。

似然函数的分解

在高斯噪声假设下,给定真值 x_0 和噪声方差 \sigma_b^2,观测向量 \mathbf{y} 的似然函数为:

f(\mathbf{y}|x_0, \sigma_b^2, C) = (2\pi\sigma_b^2)^{-N/2}\exp\left[-\frac{\|\mathbf{y} - \mathbf{1}x_0\|^2}{2\sigma_b^2}\right]

将向量范数展开为各分量的平方和:

f(\mathbf{y}|x_0, \sigma_b^2, C) = (2\pi\sigma_b^2)^{-N/2}\exp\left[-\frac{1}{2\sigma_b^2}\sum_i(y_i - x_0)^2\right]

指数中的求和项 \sum_i(y_i - x_0)^2 可以通过配方技巧进行分解。基本思路是将每个 y_i 相对于 x_0 的偏差分解为两部分:y_i 相对于样本均值 \bar{y} 的偏差,以及样本均值 \bar{y} 相对于 x_0 的偏差。具体地,y_i - x_0 = (y_i - \bar{y}) + (\bar{y} - x_0),代入后展开:

\sum_i(y_i - x_0)^2 = \sum_i(y_i - \bar{y})^2 + 2(\bar{y} - x_0)\sum_i(y_i - \bar{y}) + N(\bar{y} - x_0)^2

由于 \sum_i(y_i - \bar{y}) = \sum_i y_i - N\bar{y} = N\bar{y} - N\bar{y} = 0,交叉项消失,得到:

\sum_i(y_i - x_0)^2 = \sum_i(y_i - \bar{y})^2 + N(\bar{y} - x_0)^2 = Ns^2 + N(\bar{y} - x_0)^2

因此似然函数分解为:

f(\mathbf{y}|x_0, \sigma_b^2, C) = (2\pi\sigma_b^2)^{-N/2}\exp\left[-\frac{Ns^2}{2\sigma_b^2}\right]\exp\left[-\frac{N}{2\sigma_b^2}(\bar{y} - x_0)^2\right]

这个分解引入了两个充分统计量。

样本均值定义为:

\bar{y} = \frac{1}{N}\sum_i y_i

样本方差定义为:

s^2 = \frac{1}{N}\sum_i (y_i - \bar{y})^2 = \frac{1}{N}\sum_i y_i^2 - (\bar{y})^2 = \overline{y^2} - (\bar{y})^2

其中 \overline{y^2} = \frac{1}{N}\sum_i y_i^2 是观测值平方的均值。样本方差度量了观测值围绕其均值的离散程度。

  • 第一个指数项 \exp\left[-\frac{Ns^2}{2\sigma_b^2}\right] 只依赖于 \sigma_b^2s^2,它反映了数据的离散程度与假设的噪声方差之间的匹配度
  • 第二个指数项 \exp\left[-\frac{N}{2\sigma_b^2}(\bar{y} - x_0)^2\right] 依赖于 x_0\bar{y},它反映了假设的真值与观测均值之间的位置偏差
联合后验分布

根据贝叶斯规则,联合后验分布正比于似然乘以先验:

f(x_0, \sigma_b|\mathbf{y}, C) \propto f(\mathbf{y}|x_0, \sigma_b, C)f(\sigma_b, x_0|C)

先验 f(\sigma_b, x_0|C)x_0 的均匀先验(常数)和 \sigma_b 的Jeffreys先验 \sigma_b^{-1} 的乘积。将似然函数和先验代入,注意到 (2\pi\sigma_b^2)^{-N/2} = (2\pi)^{-N/2}\sigma_b^{-N},常数因子 (2\pi)^{-N/2} 可以吸收到正比符号中:

f(x_0, \sigma_b|\mathbf{y}, C) \propto \sigma_b^{-N}\exp\left[-\frac{N}{2\sigma_b^2}(s^2 + (\bar{y} - x_0)^2)\right]\sigma_b^{-1}

合并 \sigma_b 的幂次 \sigma_b^{-N} \cdot \sigma_b^{-1} = \sigma_b^{-N-1},得到联合后验:

f(x_0, \sigma_b|\mathbf{y}, C) \propto \sigma_b^{-N-1}\exp\left[-\frac{N}{2\sigma_b^2}(s^2 + (\bar{y} - x_0)^2)\right]

这个联合后验的结构揭示了参数估计的关键特征。指数项中的 (\bar{y} - x_0)^2 表明 x_0 的后验分布以样本均值 \bar{y} 为中心,x_0 越接近 \bar{y},后验密度越大。指数项中的 s^2 + (\bar{y} - x_0)^2 整体控制着 \sigma_b^2 的估计:\sigma_b^2 需要足够大以解释数据的离散程度 s^2 和位置估计误差 (\bar{y} - x_0)^2。前面的因子 \sigma_b^{-N-1} 则倾向于较小的 \sigma_b,这与Jeffreys先验和似然的归一化因子共同作用,在解释数据和简洁模型之间取得平衡。

真值的后验分布与估计

联合后验分布可以通过概率的乘法规则分解为条件分布的乘积:

f(x_0, \sigma_b|\mathbf{y}, C) = f(x_0|\sigma_b, \mathbf{y}, C)f(\sigma_b|\mathbf{y}, C)

这个分解将联合后验拆分为两部分:

  • 第一部分 f(x_0|\sigma_b, \mathbf{y}, C) 是给定噪声标准差 \sigma_bx_0 的条件后验分布
  • 第二部分 f(\sigma_b|\mathbf{y}, C)\sigma_b 的边缘后验分布

这种分解在计算上很有用,因为条件分布往往比联合分布更容易处理。

回顾联合后验的表达式:

f(x_0, \sigma_b|\mathbf{y}, C) \propto \sigma_b^{-N-1}\exp\left[-\frac{N}{2\sigma_b^2}(s^2 + (\bar{y} - x_0)^2)\right]

为了提取 x_0 的条件后验,将指数项拆分为两部分:

  • \exp\left[-\frac{Ns^2}{2\sigma_b^2}\right] 不依赖于 x_0\exp\left[-\frac{N}{2\sigma_b^2}(\bar{y} - x_0)^2\right] 依赖于 x_0
  • \sigma_b 给定时,第一部分和 \sigma_b^{-N-1} 都是常数,可以吸收到归一化因子中。

因此条件后验为:

f(x_0|\sigma_b, \mathbf{y}, C) = \frac{\sqrt{N}}{\sqrt{2\pi}\sigma_b}\exp\left[-\frac{N}{2\sigma_b^2}(\bar{y} - x_0)^2\right]

这是一个标准的高斯分布形式 \mathcal{N}(\bar{y}, \sigma_b^2/N),均值为样本均值 \bar{y},方差为 \sigma_b^2/N。方差随样本量 N 增大而减小,反映了更多观测带来更高的估计精度。

高斯分布是对称的单峰分布,其概率密度函数关于均值左右对称,且在均值处达到唯一的最大值。这个性质导致三种常用的点估计完全相同:众数(后验密度最大的点,即MAP估计)等于均值(后验期望,即EAP估计)等于中位数(后验分布的50%分位点,即MedAP估计)。因此:

\hat{x}_0^{\text{EAP}} = \bar{y}

无论采用哪种点估计准则,x_0 的估计值都是样本均值。这个结果与经典统计学中的结论一致:在高斯噪声假设下,样本均值是真值 x_0 的最优估计,它是无偏的(期望等于真值)且达到Cramér-Rao下界(在所有无偏估计中方差最小)。

噪声方差的估计

边缘后验分布

为了单独分析噪声参数 \sigma_b 的不确定性,需要将联合后验中的 x_0 积分掉。联合后验为:

f(x_0, \sigma_b|\mathbf{y}, C) \propto \sigma_b^{-N-1}\exp\left[-\frac{N}{2\sigma_b^2}(s^2 + (\bar{y} - x_0)^2)\right]

x_0-\infty+\infty 积分。由于 (\bar{y} - x_0)^2 出现在高斯核中,积分结果是 \sqrt{2\pi\sigma_b^2/N},这引入一个 \sigma_b 的因子。具体地

\int_{-\infty}^{+\infty} \exp\left[-\frac{N}{2\sigma_b^2}(\bar{y} - x_0)^2\right] dx_0 = \sqrt{\frac{2\pi\sigma_b^2}{N}}

将这个因子与 \sigma_b^{-N-1} 合并,得到 \sigma_b 的边缘后验:

f(\sigma_b|\mathbf{y}, C) \propto \sigma_b^{-N}\exp\left[-\frac{Ns^2}{2\sigma_b^2}\right]

积分过程消去了依赖于 x_0 的项 (\bar{y} - x_0)^2,只留下了依赖于样本方差 s^2 的项。这说明 \sigma_b 的估计完全由数据的离散程度 s^2 决定,与数据的位置(均值 \bar{y})无关。

变换到方差参数

为了识别这个分布属于哪个已知的分布族,进行变量替换,令 \theta = \sigma_b^2。概率密度函数在变量替换下的变换公式为

g(\theta) = f(\sigma_b)\left|\frac{d\sigma_b}{d\theta}\right|

由于 \sigma_b = \sqrt{\theta},有

\frac{d\sigma_b}{d\theta} = \frac{1}{2\sqrt{\theta}} = \frac{1}{2}\theta^{-1/2}

代入得到:

g(\theta|\mathbf{y}, C) \propto \theta^{-N/2} \cdot \theta^{-1/2} \cdot \exp\left[-\frac{Ns^2}{2\theta}\right] = \theta^{-(N+1)/2}\exp\left[-\frac{Ns^2}{2\theta}\right]

这正是逆伽马分布(Inverse-Gamma distribution)的核。逆伽马分布的标准密度函数形式为:

f(\theta) = \frac{\beta^\alpha}{\Gamma(\alpha)}\theta^{-\alpha-1}\exp\left[-\frac{\beta}{\theta}\right]

其中 \alpha > 0 是形状参数,\beta > 0 是尺度参数,\Gamma(\alpha) 是伽马函数。对比边缘后验与标准形式,由

-\alpha - 1 = -(N+1)/2

\alpha = (N-1)/2,由 \beta = Ns^2/2 直接读出。因此 \theta = \sigma_b^2 的后验分布是参数为 \alpha = (N-1)/2\beta = Ns^2/2 的逆伽马分布。

方差的点估计

利用逆伽马分布的性质,可以得到 \theta = \sigma_b^2 的各种点估计。

后验期望

后验期望(EAP)由逆伽马分布的均值公式给出,要求 \alpha > 1N > 3,在 N \geq 4 时存在:

\hat{\theta}_{\text{EAP}} = \frac{\beta}{\alpha - 1} = \frac{Ns^2/2}{(N-1)/2 - 1} = \frac{Ns^2}{N-3} = \frac{1}{N-3}\sum_i(y_i - \bar{y})^2
后验众数

后验众数(MAP)是使密度函数最大的点。对 \theta^{-\alpha-1}\exp(-\beta/\theta) 取对数求导并令其为零,解得众数为 \beta/(\alpha+1),在 N \geq 2 时存在:

\hat{\theta}_{\text{MAP}} = \frac{\beta}{\alpha + 1} = \frac{Ns^2/2}{(N-1)/2 + 1} = \frac{Ns^2}{N+1} = \frac{1}{N+1}\sum_i(y_i - \bar{y})^2
估计量的比较

EAP估计的分母是 N-3,MAP估计的分母是 N+1,而经典统计学中方差的无偏估计分母是 N-1(即 \hat{\sigma}^2 = \frac{1}{N-1}\sum_i(y_i - \bar{y})^2)。这三个估计量的差异反映了不同估计准则的权衡:EAP最小化后验均方误差,倾向于给出较大的估计值以对冲不确定性;MAP最大化后验概率密度,倾向于给出较小的估计值;无偏估计保证在重复抽样下期望等于真值。当样本量 N 很大时,三者趋于一致

后验方差

后验方差衡量了对 \theta 估计的不确定性。逆伽马分布的方差公式要求 \alpha > 2N > 5

\text{var}\{\theta|\mathbf{y}, C\} = \frac{\beta^2}{(\alpha-1)^2(\alpha-2)} = \frac{(Ns^2/2)^2}{((N-3)/2)^2 \cdot ((N-5)/2)} = \frac{2N^2s^4}{(N-3)^2(N-5)}

这个方差随样本量 N 增大而减小,具体地,当 N 很大时,方差近似为 \frac{2s^4}{N},以 O(1/N) 的速度趋于零。这反映了更多观测带来更精确的估计,是统计推断的基本规律。

高斯混合模型

分段平稳先验

许多实际信号具有分段平稳的结构,即信号在不同的区域内取近似恒定的值,但在区域边界处发生跳变。典型的例子包括阶跃信号、图像中的分割区域、通信中的数字调制信号等。对于这类信号,简单的高斯先验(鼓励平滑)或拉普拉斯先验(鼓励稀疏)都不是最合适的选择。高斯混合模型提供了一种自然的建模方式。

引入离散隐变量 z,它指示每个位置的信号属于哪个"状态"或"类别"。假设共有 K 个可能的状态,当 z = k 时,信号 x 服从特定的高斯分布:

f(x|z = k, m_k, \sigma_k^2, C) = (2\pi\sigma_k^2)^{-1/2}\exp\left[-\frac{(x - m_k)^2}{2\sigma_k^2}\right]

这里 m_k 是第 k 个状态对应的均值,\sigma_k^2 是第 k 个状态对应的方差。每个状态对应一个高斯分量,不同状态可以有不同的均值和方差。

边缘分布

隐变量 z 服从离散分布,\Pr(z = k|C) 表示信号属于第 k 个状态的先验概率。对隐变量的所有可能取值求和,得到信号 x 的边缘分布:

f(x|m_k, \sigma_k^2, C) = \sum_{k=1}^{K}\Pr(z = k|C)f(x|z = k, m_k, \sigma_k^2, C)

这就是高斯混合分布:K 个高斯分量的加权和。

image-20260115141803029

对于分段平稳信号,隐变量序列 z_1, z_2, \ldots, z_N 编码了分段结构,每个 z_i 指示第 i 个位置属于哪个平台,不同的平台高度 z_1, z_2, z_3 对应不同的高斯分量均值。

联合估计框架

在层次贝叶斯框架下,需要同时估计连续的信号向量 \mathbf{x} 和离散的隐变量向量 \mathbf{z}。联合后验分布为:

f(\mathbf{x}, \mathbf{z}|\mathbf{y}, C) = \frac{f(\mathbf{y}|\mathbf{x}, C)f(\mathbf{x}|\mathbf{z}, C)\Pr(\mathbf{z}|C)}{f(\mathbf{y}|C)}

其中 f(\mathbf{y}|\mathbf{x}, C) 是高斯似然函数,f(\mathbf{x}|\mathbf{z}, C) 是给定隐变量时信号的条件先验,\Pr(\mathbf{z}|C) 是隐变量的先验分布。

求解方法

这个问题的MAP估计面临根本性的困难:目标函数关于离散变量 \mathbf{z} 不可微,无法使用梯度优化方法。若 \mathbf{z} 的每个分量有 K 种取值,N 维的 \mathbf{z} 共有 K^N 种可能配置,穷举搜索不可行。

对于伯努利-高斯模型这一特殊情况(K=2,一个分量退化为零,即 m_1 = 0, \sigma_1^2 = 0),信号要么为零要么来自某个高斯分布,适合建模稀疏信号,可以使用贪婪算法如匹配追踪来近似求解。

对于一般情况,计算后验期望需要对 K^N 种配置求加权平均,计算量随 N 指数增长。实际中通常采用马尔可夫链蒙特卡洛(MCMC)方法,通过从后验分布中采样来近似后验期望,避免显式枚举所有配置。

无限高斯混合与Student-t分布

Student-t分布

前面介绍的高斯混合模型使用有限个(K 个)高斯分量,每个分量对应一个离散状态。现在考虑一种更灵活的构造:使用无限多个高斯分布的连续混合。这种构造的一个经典结果是Student-t分布。

Student-t分布是一种重尾分布,其尾部比高斯分布衰减更慢,因此更能容忍离群值。其密度函数为:

f(x|\nu, \lambda) \propto \prod_i \left(1 + \frac{\lambda}{\nu}x_i^2\right)^{-\frac{\nu+1}{2}}

参数 \nu 称为自由度,控制尾部的厚度。\nu 越小,尾部越重,分布越能容忍大的离群值;当 \nu \to \infty 时,Student-t分布退化为高斯分布。参数 \lambda 是精度参数,控制分布的整体尺度。

高斯-Gamma层次表示

Student-t分布可以表示为无限多个高斯分布的连续混合。具体地,通过引入连续隐变量 a_i,边缘化得到:

f(x_i|\nu, \lambda) = \int_{\mathbb{R}^+} f(x_i|a_i, \lambda)f(a_i|\nu)da_i

其中条件分布 f(x_i|a_i, \lambda) 是高斯分布:

f(x_i|a_i, \lambda) = \sqrt{\frac{a_i\lambda}{2\pi}}\exp\left[-\frac{1}{2}x_i^2 a_i\lambda\right]

这是一个均值为零、精度为 a_i\lambda(即方差为 1/(a_i\lambda))的高斯分布。隐变量 a_i 的先验是Gamma分布:

f(a_i|\nu) \propto a_i^{\frac{\nu}{2}-1}\exp\left[-\frac{1}{2}\nu a_i\right]

这是形状参数为 \nu/2、尺度参数为 2/\nu 的Gamma分布。

层次结构的物理含义

这个层次结构的物理含义是:每个分量 x_i 都服从一个高斯分布,但该高斯分布的精度 a_i\lambda 本身是随机的,由Gamma分布生成。当 a_i 取到较小的值时,对应的高斯分布方差 1/(a_i\lambda) 很大,允许 x_i 取较大的值而不产生太低的概率;当 a_i 取到较大的值时,高斯分布集中在零附近。由于Gamma分布允许 a_i 以一定概率取到很小的值,这种机制产生了重尾特性:大的 |x_i| 值虽然不常见,但其概率比纯高斯分布下高得多。

联合后验分布

在逆问题中采用高斯似然函数:

\Pr(\mathbf{y}|\mathbf{x}, \beta_b) \propto \exp\left[-\frac{1}{2}\beta_b\|\mathbf{y} - \mathbf{H}\mathbf{x}\|^2\right]

其中 \beta_b = 1/\sigma_b^2 是噪声精度,即噪声方差的倒数。使用精度而非方差作为参数在贝叶斯推断中更方便,因为它与Gamma分布形成共轭关系。

结合Student-t先验的层次表示,信号 \mathbf{x} 和隐变量 \mathbf{a} = (a_1, \ldots, a_N) 的联合后验为:

f(\mathbf{x}, \mathbf{a}|\mathbf{y}, \beta_b, \nu, \lambda) \propto \exp\left[-\frac{1}{2}\beta_b\|\mathbf{y} - \mathbf{H}\mathbf{x}\|^2\right]\prod_i \sqrt{a_i}\exp\left[-\frac{1}{2}x_i^2 a_i\lambda\right]a_i^{\frac{\nu}{2}-1}\exp\left[-\frac{1}{2}\nu a_i\right]

条件共轭结构

这个联合后验具有条件共轭的结构,这是层次贝叶斯模型设计的关键优势。

给定隐变量时的条件后验

给定 \mathbf{a} 时,后验中与 \mathbf{x} 相关的部分是

\exp\left[-\frac{1}{2}\beta_b\|\mathbf{y} - \mathbf{H}\mathbf{x}\|^2 - \frac{\lambda}{2}\sum_i a_i x_i^2\right]

第一项是高斯似然,第二项 \sum_i a_i x_i^2 = \mathbf{x}^T \text{diag}(\mathbf{a}) \mathbf{x} 是加权的二次型。两项都是 \mathbf{x} 的二次函数,因此 \mathbf{x} 的条件后验是高斯分布,其均值和协方差矩阵可以解析计算。

给定信号时的条件后验

给定 \mathbf{x} 时,后验关于每个 a_i 的部分是

a_i^{\frac{\nu}{2}-1+\frac{1}{2}}\exp\left[-\frac{1}{2}(\nu + \lambda x_i^2)a_i\right] = a_i^{\frac{\nu+1}{2}-1}\exp\left[-\frac{1}{2}(\nu + \lambda x_i^2)a_i\right]

这正是Gamma分布的核,因此每个 a_i 的条件后验是形状参数为 (\nu+1)/2、尺度参数为 2/(\nu + \lambda x_i^2) 的Gamma分布。

这种条件共轭性使得可以使用变分贝叶斯方法或Gibbs采样进行高效的近似推断:交替更新 \mathbf{x}\mathbf{a} 的(近似)后验分布,每一步都有解析解,无需数值优化。

谱估计应用

问题背景

谱估计(Spectral Estimation)的目标是从时域观测信号中恢复其频率成分。这是信号处理中的一个基本问题,在通信、雷达、声学、振动分析等领域有广泛应用。

image-20260115141822923

考虑一个典型场景:时域信号是若干正弦波的叠加,再加上测量噪声。每个正弦波对应频谱中的一个离散峰,峰的位置是该正弦波的频率,峰的高度与该正弦波的幅度相关。从有限长度的时域观测中恢复精确的频率位置和幅度存在固有的不确定性:观测窗口有限导致频率分辨率受限,噪声干扰使得估计不精确。因此谱估计本质上是一个逆问题。

正向模型

观测模型建立了时域观测 \mathbf{y} 与频域信号 \mathbf{x} 之间的关系:

\mathbf{y} = \mathbf{P}\mathbf{F}\mathbf{x} + \mathbf{b}

各矩阵的含义如下。\mathbf{F} 是傅里叶变换矩阵(更准确地说是逆傅里叶变换矩阵),它将频域信号 \mathbf{x} 变换到时域。\mathbf{F} 的第 (n,k) 个元素通常为 e^{j2\pi nk/N},其中 N 是信号长度。\mathbf{P} 是切趾窗(apodization window)对应的对角加权矩阵,即

\mathbf{P} = \text{diag}(p_1, \ldots, p_N)

其中 p_n 是窗函数在第 n 个采样点的值。切趾窗的作用是减少频谱泄漏:由于实际观测的时域信号是有限长的,相当于用矩形窗截断了无限长的真实信号,这会导致频谱中出现旁瓣(泄漏)。使用平滑过渡的窗函数(如汉宁窗、高斯窗)可以抑制旁瓣。\mathbf{b} 是高斯独立同分布噪声,代表测量误差。

定义复合观测矩阵 \mathbf{H} = \mathbf{P}\mathbf{F},模型简化为标准的线性逆问题形式

\mathbf{y} = \mathbf{H}\mathbf{x} + \mathbf{b}
先验选择的影响

频谱 \mathbf{x} 的一个关键特征是稀疏性:对于由少数正弦波组成的信号,其频谱只在少数频率位置有非零值(对应各正弦波的频率),其余频率位置的能量为零或接近零。

如果对频谱 \mathbf{x} 使用高斯先验,即

f(\mathbf{x}) \propto \exp(-\alpha\|\mathbf{x}\|^2)

得到的估计会是平滑的频谱。高斯先验对所有频率分量施加均匀的二次惩罚,不会产生精确的零值,因此无法恢复出尖锐的离散峰,而是得到模糊的、展宽的峰。

采用重尾的可分离先验(如Student-t分布或拉普拉斯分布)能够促进稀疏性。这类先验对小幅值分量的惩罚相对较轻(允许它们被压缩到零),同时对大幅值分量的惩罚增长较慢(允许少数分量保持较大的值)。这种特性与稀疏频谱的结构相匹配:大部分频率分量为零,少数频率分量有显著能量。

估计结果

实验结果验证了方法的有效性。采用重尾先验的贝叶斯方法能够准确地识别出信号中的三个主要频率成分,估计的峰位置和幅度与真实值吻合良好。在放大的频率轴细节图中,估计的频率位置(十字标记)与真实位置(圆圈标记)非常接近,这说明即使在有限观测长度和噪声干扰下,通过合理选择稀疏先验,仍能获得高精度的频率估计。

微波层析成像问题

问题背景

微波层析成像(Microwave Tomography)是一种利用电磁波散射信息来重建物体内部结构的成像技术。其基本原理是:用微波照射待成像物体,物体会对入射波产生散射,散射场携带了物体介电特性的信息。通过测量物体周围的散射场,反演出物体内部的介电常数分布,从而得到物体的图像。

这类问题适合应用层次贝叶斯方法,因为待成像物体通常具有分片均匀的结构(如生物组织中不同器官具有不同但内部均匀的介电常数),这与高斯混合模型或稀疏先验的假设相吻合。

观测方程

微波层析成像的观测数据是在物体外部多个位置测量到的散射电磁场。观测方程建立了测量数据与物体特性之间的关系:

\mathbf{y} = \mathbf{G}_{obs}\text{diag}[\mathbf{x}]\mathbf{E}

各量的含义如下。\mathbf{y} 是观测向量,包含在物体外部各接收天线位置测量到的散射场值。\mathbf{x} 是待重建的对比度函数,它与物体各位置的介电常数相关,定义为

x = (\varepsilon - \varepsilon_0)/\varepsilon_0

其中 \varepsilon 是物体的介电常数,\varepsilon_0 是背景介质的介电常数。\mathbf{E} 是物体内部的总电场向量,包含物体内部各离散化网格点处的电场值。\mathbf{G}_{obs} 是观测格林矩阵,其第 (m,n) 个元素描述了从物体内部第 n 个网格点到第 m 个观测点的电磁波传播(格林函数)。\text{diag}[\mathbf{x}] 表示以向量 \mathbf{x} 的各分量为对角元素构成的对角矩阵。

这个方程的物理含义是:物体内部每个点的散射源强度正比于该点的对比度 x_n 与该点总电场 E_n 的乘积,观测到的散射场是所有散射源贡献的叠加,叠加权重由格林矩阵给出。

场方程与非线性耦合

问题的核心困难在于:物体内部的总电场 \mathbf{E} 并非已知量或独立的测量量,它本身依赖于我们要求解的对比度 \mathbf{x}。这种依赖关系由电磁场的自洽方程(场方程)描述:

\mathbf{E} = \mathbf{E}_{inc} + \mathbf{G}_{cou}\text{diag}[\mathbf{x}]\mathbf{E}

其中 \mathbf{E}_{inc} 是入射场,即假设物体不存在时(或对比度为零时)在物体区域内的电场分布,这由入射波的特性决定,是已知量。\mathbf{G}_{cou} 是耦合格林矩阵,其第 (m,n) 个元素描述了物体内部第 n 个网格点的散射源对第 m 个网格点电场的贡献。

方程右边第二项 \mathbf{G}_{cou}\text{diag}[\mathbf{x}]\mathbf{E} 代表散射场对总场的贡献:物体各点产生散射,散射波又传播到物体内部其他点,叠加到总场上。这是一个自洽方程,因为 \mathbf{E} 同时出现在等式两边。

非线性正向模型的推导

从场方程中解出 \mathbf{E}。将包含 \mathbf{E} 的项移到左边:

\mathbf{E} - \mathbf{G}_{cou}\text{diag}[\mathbf{x}]\mathbf{E} = \mathbf{E}_{inc}

提取公因子 \mathbf{E}

(\text{Id} - \mathbf{G}_{cou}\text{diag}[\mathbf{x}])\mathbf{E} = \mathbf{E}_{inc}

其中 \text{Id} 是单位矩阵。假设矩阵 (\text{Id} - \mathbf{G}_{cou}\text{diag}[\mathbf{x}]) 可逆(这在物理上对应于散射不太强的情况),两边左乘其逆矩阵:

\mathbf{E} = (\text{Id} - \mathbf{G}_{cou}\text{diag}[\mathbf{x}])^{-1}\mathbf{E}_{inc}

将这个表达式代入观测方程,得到完整的正向模型:

\mathbf{y} = \mathbf{G}_{obs}\text{diag}[\mathbf{x}](\text{Id} - \mathbf{G}_{cou}\text{diag}[\mathbf{x}])^{-1}\mathbf{E}_{inc}

这个正向模型是高度非线性的。\mathbf{x} 不仅显式地出现在 \text{diag}[\mathbf{x}] 中,还隐式地出现在矩阵求逆 (\text{Id} - \mathbf{G}_{cou}\text{diag}[\mathbf{x}])^{-1} 内部。矩阵求逆操作使得 \mathbf{y}\mathbf{x} 的依赖关系极为复杂,不再是简单的线性关系。这种非线性是电磁波多次散射效应的数学体现:物体产生的散射波会再次被物体散射,产生二次散射、三次散射等,这些多次散射效应通过矩阵求逆被"打包"在模型中。

问题的求解策略

Born近似

面对高度非线性的正向模型,最简单的处理方法是Born近似。这个近似假设物体对入射场的扰动可以忽略,即物体内部的总电场近似等于入射场:

\mathbf{E} \approx \mathbf{E}_{inc}

这个假设的物理含义是:散射场相比入射场非常弱,可以忽略不计。在这个近似下,观测方程中的 \mathbf{E} 直接用已知的 \mathbf{E}_{inc} 替代,正向模型变为:

\mathbf{y} = \mathbf{G}_{obs}\text{diag}[\mathbf{x}]\mathbf{E}_{inc}

由于 \mathbf{E}_{inc} 是已知向量,\text{diag}[\mathbf{x}]\mathbf{E}_{inc} 可以改写为 \text{diag}[\mathbf{E}_{inc}]\mathbf{x}(对角矩阵与向量相乘的交换性),因此模型变为

\mathbf{y} = \mathbf{G}_{obs}\text{diag}[\mathbf{E}_{inc}]\mathbf{x}

这是关于 \mathbf{x} 的线性模型,可以用前面介绍的所有线性逆问题方法(最小二乘、正则化、贝叶斯方法等)求解。

Born近似的局限性在于它只在弱散射情况下有效。当物体的对比度较高(介电常数与背景差异大)或物体尺寸较大时,散射场不再可忽略,多次散射效应变得显著,Born近似会严重失效,导致重建结果出现严重偏差。

隐变量方法

更精细的方法是引入隐变量,将原本高度非线性的问题转化为双线性问题。定义新变量:

\mathbf{w} = \text{diag}[\mathbf{x}]\mathbf{E}

这个变量 \mathbf{w} 称为等效源(equivalent source)或感应电流(induced current),它是对比度 \mathbf{x} 和内部总电场 \mathbf{E} 的逐点乘积,即 w_n = x_n E_n。物理上,\mathbf{w} 代表物体内部各点的散射源强度。

观测方程的重写

\mathbf{w} 重写观测方程。原方程为 \mathbf{y} = \mathbf{G}_{obs}\text{diag}[\mathbf{x}]\mathbf{E},直接用定义替换得到:

\mathbf{y} = \mathbf{G}_{obs}\mathbf{w} \quad \text{(1)}
场方程的重写

对于场方程,需要做一些变换。原场方程为

\mathbf{E} = \mathbf{E}_{inc} + \mathbf{G}_{cou}\text{diag}[\mathbf{x}]\mathbf{E}

两边同时左乘 \text{diag}[\mathbf{x}]

\text{diag}[\mathbf{x}]\mathbf{E} = \text{diag}[\mathbf{x}]\mathbf{E}_{inc} + \text{diag}[\mathbf{x}]\mathbf{G}_{cou}\text{diag}[\mathbf{x}]\mathbf{E}

左边根据定义就是 \mathbf{w},右边第二项中的 \text{diag}[\mathbf{x}]\mathbf{E} 也是 \mathbf{w},因此:

\mathbf{w} = \text{diag}[\mathbf{x}]\mathbf{E}_{inc} + \text{diag}[\mathbf{x}]\mathbf{G}_{cou}\mathbf{w} \quad \text{(2)}
双线性结构

方程(1)和(2)构成了一个双线性系统:

\mathbf{y} = \mathbf{G}_{obs}\mathbf{w}
\mathbf{w} = \text{diag}[\mathbf{x}]\mathbf{E}_{inc} + \text{diag}[\mathbf{x}]\mathbf{G}_{cou}\mathbf{w}

这个系统具有双线性(bilinear)结构,其特点是:当固定 \mathbf{x} 时,方程(1)关于 \mathbf{w} 是线性的(从观测 \mathbf{y} 估计等效源 \mathbf{w} 是一个标准的线性逆问题);当固定 \mathbf{w} 时,方程(2)关于 \mathbf{x} 也是线性的(方程(2)可以改写为

\mathbf{w} = \text{diag}[\mathbf{E}_{inc} + \mathbf{G}_{cou}\mathbf{w}]\mathbf{x}

这是关于 \mathbf{x} 的线性方程)。

虽然联合估计 (\mathbf{x}, \mathbf{w}) 仍然是非线性的(因为两个未知量之间存在乘积关系),但双线性结构允许使用交替优化策略:固定 \mathbf{x} 求解关于 \mathbf{w} 的线性问题,然后固定 \mathbf{w} 求解关于 \mathbf{x} 的线性问题,如此交替迭代直到收敛。每一步都是容易求解的线性问题,整体算法的计算复杂度可控。

模型误差的处理

实际应用中,测量存在噪声,物理模型也存在各种近似(如离散化误差、物理假设的简化等)。为了在贝叶斯框架下进行推断,需要将这些不确定性纳入模型,将方程扩展为:

\mathbf{y} = \mathbf{G}_{obs}\mathbf{w} + \boldsymbol{\epsilon}
\mathbf{w} = \text{diag}[\mathbf{x}]\mathbf{E}_{inc} + \text{diag}[\mathbf{x}]\mathbf{G}_{cou}\mathbf{w} + \boldsymbol{\zeta}

误差项 \boldsymbol{\epsilon} 代表测量噪声,来源于接收天线的热噪声、电子器件的噪声等。误差项 \boldsymbol{\zeta} 代表场方程的近似误差,来源于空间离散化引入的误差、格林函数的数值计算误差、或物理模型本身的简化(如忽略某些电磁效应)。两个误差项通常建模为独立同分布的高斯噪声,方差可以不同。

在贝叶斯框架下,可以为对比度 \mathbf{x} 指定促进稀疏性或分段平稳性的先验(如Student-t分布、高斯混合模型),为等效源 \mathbf{w} 指定适当的先验,然后通过MCMC采样或变分贝叶斯方法进行联合后验推断,同时估计 \mathbf{x}\mathbf{w} 及其不确定性。

贝叶斯计算与马尔可夫链蒙特卡洛方法

贝叶斯推断的基本框架

在处理逆问题时,我们通常面对的是一个线性直接模型

\boldsymbol{y} = \boldsymbol{H}\boldsymbol{x} + \boldsymbol{b}

其中 \boldsymbol{y} 是观测数据,\boldsymbol{H} 是系统矩阵(描述物理过程的线性算子),\boldsymbol{x} 是我们想要恢复的未知量,\boldsymbol{b} 是噪声项。逆问题的目标是从观测 \boldsymbol{y} 中推断出 \boldsymbol{x},但由于噪声的存在以及 \boldsymbol{H} 可能是病态的,这个问题通常没有唯一解。贝叶斯方法通过引入概率框架来处理这种不确定性。

贝叶斯推断的核心是贝叶斯规则

\Pr(\boldsymbol{x}|\boldsymbol{y}, C) = \frac{\Pr(\boldsymbol{y}|\boldsymbol{x}, C)\Pr(\boldsymbol{x}|C)}{\Pr(\boldsymbol{y}|C)}

这个公式中的 C 表示所有背景信息和假设条件。等式左边 \Pr(\boldsymbol{x}|\boldsymbol{y}, C) 称为后验分布,它汇总了在观测到数据 \boldsymbol{y} 之后关于未知量 \boldsymbol{x} 的全部信息。等式右边的分子包含两项:\Pr(\boldsymbol{y}|\boldsymbol{x}, C) 是似然函数,它描述了在给定 \boldsymbol{x} 的情况下观测到 \boldsymbol{y} 的概率,本质上反映了噪声模型和测量误差;\Pr(\boldsymbol{x}|C) 是先验分布,它编码了在看到数据之前我们对 \boldsymbol{x} 的认知。分母 \Pr(\boldsymbol{y}|C) 称为模型证据或边缘似然,它是一个归一化常数,确保后验分布积分为1。

从后验分布中提取点估计有两种主要方式。最大后验估计(MAP)选择使后验密度最大的点

\hat{\boldsymbol{x}} = \arg\max f(\boldsymbol{x}|\boldsymbol{y})

而期望后验估计(EAP)计算后验分布的均值

\hat{\boldsymbol{x}} = E\{\boldsymbol{x}\}_{f(\boldsymbol{x}|\boldsymbol{y})}

MAP估计对应于后验分布的众数,而EAP估计对应于后验均值。当后验分布是对称的单峰分布时,两者一致;但对于非对称或多峰分布,它们会给出不同的结果。

蒙特卡洛采样方法

马尔可夫链蒙特卡洛的基本原理

计算后验期望 E\{\boldsymbol{x}\}_{f(\boldsymbol{x}|\boldsymbol{y},\theta_1,\theta_2,C)} 需要对高维空间进行积分

E\{\boldsymbol{x}\}_{f(\boldsymbol{x}|\boldsymbol{y},\theta_1,\theta_2,C)} = \int \boldsymbol{x} f(\boldsymbol{x}|\boldsymbol{y},\theta_1,\theta_2,C) d\boldsymbol{x}

在高维情况下,直接数值积分是不可行的。蒙特卡洛方法的思想是用样本均值来近似这个积分

E\{\boldsymbol{x}\}_{f(\boldsymbol{x}|\boldsymbol{y},\theta_1,\theta_2,C)} \approx \frac{1}{K}\sum_{k=1}^{K}\tilde{\boldsymbol{x}}_k

其中 \tilde{\boldsymbol{x}}_k 是从后验分布中抽取的样本,K 是样本数量。根据大数定律,当 K 趋向无穷时,样本均值收敛到真实期望。

马尔可夫链蒙特卡洛(MCMC)方法通过构建一条马尔可夫链来生成这些样本。其核心思想包含三个要素:首先,构建一个样本序列(链);其次,使用马尔可夫转移规则,即下一个样本只依赖于当前样本;最后,链必须具有遍历性,这保证了无论从哪里出发,链最终都会收敛到目标分布。

常用的MCMC算法

独立Metropolis-Hastings算法从一个与当前状态无关的提议分布中生成候选样本。随机游走Metropolis-Hastings算法则在当前位置附近随机游走来生成候选。Gibbs采样通过依次从各个变量的条件分布中采样来更新整个状态向量。可逆跳跃方法允许在不同维度的模型之间跳转,适用于模型选择问题。

伪随机数生成

伪随机信号的概念

伪随机信号是一串看起来像随机抽取的数字序列,但实际上是通过确定性算法在计算机上生成的。这里存在一个本质矛盾:计算机是确定性机器,却要产生随机性。解决方案是生成具有良好统计特性的序列,使其在实际应用中表现得像真正的随机数。伪随机数在密码学、无线通信、网络应用、蒙特卡洛模拟以及GPS和军事系统中都有广泛应用。

均匀分布的伪随机数

生成均匀分布伪随机数的基本原理是对大整数进行确定性运算,然后截断结果,并利用大素数的性质。最经典的方法是线性同余生成器

I_{n+1} = (aI_n + c) \mod m

其中 I_n 是第 n 个整数,a 是乘数,c 是增量,m 是模数。标准生成器通常取 a = 7^5c = 0m = 2^{31} - 1。当参数选择得当时,这个生成器的周期可以达到最大值 m,意味着在一个完整周期内,0m-1 之间的所有整数恰好各出现一次。将 I_n 除以 m 就得到 [0,1] 区间上近似均匀分布的随机数。

高斯分布的伪随机数

从均匀分布生成高斯分布需要利用概率论中的变量变换公式。设 (x_1, x_2) 服从联合密度 f(x_1, x_2),经过变换得到 (y_1, y_2),则新变量的联合密度为

g(y_1, y_2) = f(x_1, x_2)|\det \boldsymbol{J}|

其中 \boldsymbol{J} 是雅可比矩阵,包含所有偏导数信息。

Box-Muller变换是一种将两个独立均匀分布随机数 x_1, x_2 \in [0,1] 转换为两个独立标准高斯随机数的方法

\begin{cases} y_1 = \sqrt{-2\log x_1}\cos(2\pi x_2) \\ y_2 = \sqrt{-2\log x_1}\sin(2\pi x_2) \end{cases}

这个变换的逆变换为

\begin{cases} x_1 = \exp\left[-\frac{1}{2}(y_1^2 + y_2^2)\right] \\ x_2 = \frac{1}{2\pi}\arctan(y_2/y_1) \end{cases}

变换背后的数学原理是:-2\log x_1 服从指数分布,其平方根给出了高斯分布的径向分量;而 2\pi x_2[0, 2\pi] 上均匀分布,通过正弦和余弦函数将径向分量投影到两个正交方向,恰好产生两个独立的标准高斯随机变量。

高斯伪随机数生成的数学验证

Box-Muller变换的雅可比行列式

为了验证Box-Muller变换确实能产生标准高斯分布,需要计算变换的雅可比行列式。根据变量变换公式,新变量的联合密度等于原变量的联合密度乘以雅可比行列式的绝对值。对于Box-Muller变换,雅可比矩阵的行列式为

\begin{vmatrix} \frac{\partial x_1}{\partial y_1} & \frac{\partial x_1}{\partial y_2} \\ \frac{\partial x_2}{\partial y_1} & \frac{\partial x_2}{\partial y_2} \end{vmatrix} = \left(\frac{1}{\sqrt{2\pi}}e^{-y_1^2/2}\right)\left(\frac{1}{\sqrt{2\pi}}e^{-y_2^2/2}\right)

这个结果恰好是两个独立标准高斯分布密度函数的乘积。由于原始变量 x_1, x_2[0,1] 上独立均匀分布,其联合密度为常数1,因此变换后 y_1, y_2 的联合密度正是两个独立标准高斯分布的乘积,这证明了 y_1y_2 确实是独立的标准高斯随机变量。

基于中心极限定理的方法

另一种生成近似高斯随机数的方法利用中心极限定理。设 x_1, x_2, \ldots, x_NN 个独立的 [0,1] 均匀分布随机变量,构造

y_N = \sum_{k=1}^{N} x_k - \frac{N}{2}

减去 \frac{N}{2} 的目的是将均值调整为0,因为每个 x_k 的期望是 \frac{1}{2}。根据中心极限定理,当 N 足够大时,独立同分布随机变量之和的分布趋近于高斯分布。实践中,N > 12 时这个近似已经相当好。选择 N = 12 还有一个额外好处:此时 y_{12} 的方差恰好为1,因为每个均匀分布变量的方差是 \frac{1}{12},12个独立变量之和的方差就是 12 \times \frac{1}{12} = 1

image-20260122142544552

从图示可以观察到这个收敛过程:单个均匀分布是平坦的矩形;两个均匀变量之和呈三角形分布;随着求和变量数目增加,分布逐渐变得平滑,越来越接近高斯分布的钟形曲线;当变量数目很大时,分布几乎与高斯分布无法区分。

逆变换采样方法

累积分布函数与概率密度函数

累积分布函数(CDF)定义为随机变量小于某个值的概率

F(x) := \Pr(A|C) = \Pr(x_0 < x|C)

其中 A 表示事件 \{x_0 < x\}F(x) 是一个单调递增函数,取值范围从0到1。概率密度函数(PDF)是累积分布函数的导数

f(x) := F'(x)

密度函数 f(x) 描述了随机变量在各点附近出现的相对可能性,其积分等于1。

逆变换采样原理

如果累积分布函数 F(x) 存在逆函数 F^{-1},就可以通过以下两步从目标分布中采样:首先从 [0,1] 均匀分布中抽取一个样本 x^u;然后计算 x^k = F^{-1}(x^u),得到的 x^k 就服从目标分布。

这个方法的原理可以直观理解:累积分布函数将随机变量的取值映射到 [0,1] 区间,而逆函数则做相反的映射。均匀分布在 [0,1] 上的点经过逆函数变换后,在目标分布密度大的区域会更加集中,在密度小的区域则更加稀疏,从而精确复现目标分布。

image-20260122142619622

以Gamma分布为例,其累积分布函数是一条从0单调递增到1的S形曲线,对应的概率密度函数是一个右偏的单峰曲线。在采样过程中,从纵轴上的均匀分布点出发,水平投影到CDF曲线上,再垂直投影到横轴,就得到服从Gamma分布的样本。CDF曲线陡峭的区域对应密度函数值大的区域,因此更多的均匀样本会被映射到这些区域。

image-20260122142628089

接受-拒绝采样方法

方法动机

逆变换方法要求累积分布函数的逆函数能够解析计算,但很多复杂分布并不满足这个条件。接受-拒绝方法提供了一种更通用的采样策略:当无法直接从目标分布 f 中采样时,可以借助一个容易采样的提议分布 g 来间接实现。

方法条件

使用接受-拒绝方法需要满足一个条件:存在常数 c 使得对所有 x 都有 \frac{f(x)}{g(x)} \leq c。这意味着 cg(x) 构成了 f(x) 的一个包络。为了提高算法效率,应该选择使 c 尽可能小的提议分布,即

c = \sup\left(\frac{f(x)}{g(x)}\right)

c 越小,提议分布与目标分布越接近,被拒绝的样本就越少。

算法步骤

接受-拒绝算法按以下步骤执行:第一步,从提议分布 g 中抽取一个候选样本 y;第二步,从 [0,1] 均匀分布中抽取一个判定值 u;第三步,计算接受概率 \frac{f(y)}{cg(y)},如果 u > \frac{f(y)}{cg(y)},则拒绝这个样本并返回第一步重新抽取;第四步,如果 u \leq \frac{f(y)}{cg(y)},则接受 y 作为来自目标分布 f 的样本。

这个算法的几何解释是:在提议分布 g 下抽取的点 y 处,cg(y) 给出了包络的高度,而 f(y) 给出了目标分布的高度。在 [0, cg(y)] 区间内均匀选取一个高度,如果这个高度落在 f(y) 以下则接受,否则拒绝。最终被接受的样本在各处的密度正比于 f(y),从而精确服从目标分布。

配分函数未知的困难

贝叶斯框架下的归一化问题

回顾贝叶斯规则

\Pr(\boldsymbol{x}|\boldsymbol{y}, C) = \frac{\Pr(\boldsymbol{y}|\boldsymbol{x}, C)\Pr(\boldsymbol{x}|C)}{\Pr(\boldsymbol{y}|C)}

分母 \Pr(\boldsymbol{y}|C) 称为配分函数或边缘似然,它确保后验分布积分为1。在实际问题中,这个归一化常数往往是计算的主要障碍。

非监督方法中的联合后验

在非监督贝叶斯方法中,不仅要估计未知信号 \boldsymbol{x},还要同时估计模型的超参数 \theta_1, \theta_2。此时联合后验分布为

f(\boldsymbol{x}, \theta_1, \theta_2|\boldsymbol{y}, \mathcal{M}) = \frac{f(\boldsymbol{y}|\boldsymbol{x}, \theta_1, \mathcal{M})f(\boldsymbol{x}|\theta_2, \mathcal{M})f(\theta_1, \theta_2|\mathcal{M})}{f(\boldsymbol{y}|\mathcal{M})}

其中 \mathcal{M} 表示所选择的模型。分子中三项分别是:似然函数 f(\boldsymbol{y}|\boldsymbol{x}, \theta_1, \mathcal{M}) 描述数据生成过程;先验 f(\boldsymbol{x}|\theta_2, \mathcal{M}) 编码关于信号的先验知识;超参数先验 f(\theta_1, \theta_2|\mathcal{M}) 表达对超参数的先验信念。

问题的核心在于:虽然我们知道联合分布 f(\boldsymbol{x}, \theta_1, \theta_2, \boldsymbol{y}|\mathcal{M}) 的形式(至少知道其未归一化版本),但分母 f(\boldsymbol{y}|\mathcal{M}) 需要计算一个高维积分

\int \int \int f(\boldsymbol{x}, \theta_1, \theta_2, \boldsymbol{y}|\mathcal{M}) d\theta_1 \, d\theta_2 \, d\boldsymbol{x}

这个积分在高维空间中通常无法解析计算,数值计算也极其困难。MCMC方法的优势在于它只需要知道后验分布的未归一化形式,而不需要计算配分函数。

独立Metropolis-Hastings算法

算法原理

独立Metropolis-Hastings(MH)算法通过构建马尔可夫链来从目标分布中采样,即使目标分布只知道未归一化形式。算法从初始点 \boldsymbol{x}^0 出发,迭代生成样本序列。在第 k 步,首先从提议分布 q 中抽取一个候选样本 \boldsymbol{x}^p,然后计算接受比率

r = \frac{f(\boldsymbol{x}^p|\boldsymbol{y})q(\boldsymbol{x}^k)}{f(\boldsymbol{x}^k|\boldsymbol{y})q(\boldsymbol{x}^p)}

这个比率的分子是候选点的后验密度乘以从候选点提议到当前点的概率,分母是当前点的后验密度乘以从当前点提议到候选点的概率。由于后验密度出现在分子分母中,归一化常数会被约掉,因此只需要知道未归一化的后验即可。

接下来从 [0,1] 均匀分布中抽取 u,如果 u < r 则接受候选样本,令 \boldsymbol{x}^{k+1} = \boldsymbol{x}^p;否则拒绝候选样本,保持 \boldsymbol{x}^{k+1} = \boldsymbol{x}^k。当 r \geq 1 时,候选样本总是被接受;当 r < 1 时,候选样本以概率 r 被接受。

方法局限

独立MH方法存在两个主要困难。第一,提议分布 q 必须覆盖目标分布的整个支撑集,否则某些区域将永远无法被采样到。第二,当未知量维度很高时,接受率会急剧下降。这是因为在高维空间中,从一个固定的提议分布中随机抽取的点很难落在目标分布的高概率区域内。

随机游走Metropolis-Hastings算法

算法改进

随机游走MH算法对独立MH进行了改进,其核心思想是让提议分布依赖于当前状态。算法同样从 \boldsymbol{x}^0 开始,但在第 k 步,候选样本从以当前点为中心的分布 q(\cdot|\boldsymbol{x}^k) 中抽取。实际操作中,通常在当前点周围的一个半径为 b 的球内均匀采样扰动向量 \boldsymbol{v},然后令 \boldsymbol{x}^p = \boldsymbol{x}^k + \boldsymbol{v}

相应地,接受比率变为

r = \frac{f(\boldsymbol{x}^p|\boldsymbol{y})q(\boldsymbol{x}^k|\boldsymbol{x}^k)}{f(\boldsymbol{x}^k|\boldsymbol{y})q(\boldsymbol{x}^p|\boldsymbol{x}^k)}

如果提议分布是对称的,即 q(\boldsymbol{x}^k|\boldsymbol{x}^p) = q(\boldsymbol{x}^p|\boldsymbol{x}^k)(例如以当前点为中心的球内均匀分布),则接受比率简化为后验密度的比值。接受/拒绝规则与独立MH相同:从 [0,1] 均匀分布抽取 u,若 u < r\boldsymbol{x}^{k+1} = \boldsymbol{x}^p,否则 \boldsymbol{x}^{k+1} = \boldsymbol{x}^k

优势与挑战

随机游走MH的接受率通常比独立MH好得多,因为候选点总是在当前点附近,更可能落在高概率区域。然而,这种方法的主要困难在于步长(球的半径 b)的选择。步长太小会导致链移动缓慢,需要很长时间才能探索整个分布;步长太大会导致候选点经常落在低概率区域而被拒绝。最优步长的选择通常需要通过实验调整。

Gibbs采样器

算法思想

Gibbs采样是一种特殊的MCMC方法,它通过依次从各个变量的完全条件分布中采样来更新整个状态向量。设状态向量 \boldsymbol{x} = (x_1, x_2, \ldots, x_n),算法从初始值 \boldsymbol{x}^0 开始,在每次迭代中依次更新每个分量。

具体而言,在第 k+1 次迭代中:首先从条件分布 f(x_1|\boldsymbol{x}_{2:n}^k, y) 中采样得到 x_1^{k+1};然后从 f(x_2|x_1^{k+1}, \boldsymbol{x}_{3:n}^k, y) 中采样得到 x_2^{k+1};对于第 j 个分量,从 f(x_j|\boldsymbol{x}_{1:j-1}^{k+1}, \boldsymbol{x}_{j+1:n}^k, y) 中采样得到 x_j^{k+1};最后从 f(x_n|\boldsymbol{x}_{1:n-1}^{k+1}, y) 中采样得到 x_n^{k+1}。完成一轮更新后返回第一个分量继续迭代。

这里的关键是每次采样时使用的条件分布都基于最新的值:对于已经更新过的分量使用新值,对于尚未更新的分量使用旧值。

优势与局限

Gibbs采样的接受率比独立MH好得多,因为每一步都是精确地从条件分布中采样,不存在拒绝。然而这种方法也有几个困难。第一,预热时间(burn-in period)难以确定,即需要丢弃多少初始样本才能认为链已经收敛到平稳分布。第二,必须能够从所有条件分布中采样,这在某些模型中可能很困难。第三,当变量之间存在强相关性时,某些状态空间区域在实践中可能无法访问,因为链会陷入局部区域难以逃脱。

正则化参数选择问题

估计器对参数的依赖性

在逆问题求解中,估计器的表达式通常包含需要预先设定的参数。正则化最小二乘估计器的形式为

\hat{\boldsymbol{x}}^{\text{MAP}} = (\boldsymbol{H}^t\boldsymbol{H} + \mu\boldsymbol{D}^t\boldsymbol{D})^{-1}\boldsymbol{H}^t\boldsymbol{y}

其中 \boldsymbol{H} 是系统矩阵,\boldsymbol{D} 是正则化算子(例如差分矩阵,用于惩罚解的不光滑性),\mu 是正则化参数。从贝叶斯角度来看,当噪声和先验都是高斯分布时,最大后验估计器具有相同的形式

\hat{\boldsymbol{x}}^{\text{MAP}} = \left(\boldsymbol{H}^t\boldsymbol{H} + \frac{\sigma_b^2}{\sigma_x^2}\boldsymbol{D}^t\boldsymbol{D}\right)^{-1}\boldsymbol{H}^t\boldsymbol{y}

这里 \sigma_b^2 是噪声方差,\sigma_x^2 是信号先验方差。比较两个公式可以看出,正则化参数 \mu 对应于方差比 \frac{\sigma_b^2}{\sigma_x^2},它反映了我们对数据拟合和先验约束的相对信任程度。

参数敏感性的直观理解

估计结果对正则化参数极其敏感。

image-20260122142651157

从图示可以观察到:当 \mu = 0 时,没有正则化约束,解完全由数据决定,由于逆问题的病态性,噪声被极度放大,重建结果呈现剧烈振荡;当 \mu = 10^{-3}\mu = 10^{-2} 时,适度的正则化开始抑制噪声,但仍保留了信号的主要特征;当 \mu = 10^{-1} 时,重建结果变得更加平滑,开始接近真实信号;当 \mu = 1 时,可以获得较好的重建效果;但当 \mu = 10^{+1} 时,过强的正则化导致解过度平滑,丢失了信号的细节信息。

统计特性与误差分析

偏差-方差分解

评估估计器性能的一个核心指标是均方误差(MSE),它可以分解为方差和偏差平方两部分

E\{(\hat{x}_0 - x_0)^2\} = \text{var}\{\hat{x}_0\} + (\text{Biais}\{\hat{x}_0\})^2

方差项 \text{var}\{\hat{x}_0\} 度量估计器的随机波动程度,反映了估计对噪声的敏感性;偏差项 \text{Biais}\{\hat{x}_0\} = E\{\hat{x}_0\} - x_0 度量估计器的系统性偏离,反映了估计与真实值之间的固有差距。

正则化参数控制着偏差和方差之间的权衡:较小的 \mu 导致低偏差但高方差(估计器试图紧密拟合数据,但对噪声敏感);较大的 \mu 导致高偏差但低方差(估计器被约束得很紧,不随噪声波动,但可能系统性地偏离真值)。最优的 \mu 应该在两者之间取得平衡,使总均方误差最小。

不同范数下的距离度量

在比较重建图像与真实图像的差异时,选择不同的距离度量会得到不同的最优解。L_2 距离(欧氏距离)对应于均方误差准则,它对大误差给予更大的惩罚,倾向于产生整体平滑的解。L_1 距离对应于绝对误差准则,它对所有误差一视同仁,更能保持边缘等尖锐特征。

image-20260122142719286

从图示可以看到,在 L_2 距离下最优的解可能比在 L_1 距离下最优的解更加平滑。

超参数自动调节

自动化的必要性

手动调节超参数在两种情况下变得不切实际:一是需要处理连续数据流时,不可能对每个数据实例都进行人工调参;二是当超参数数目超过3个时,搜索空间的维度使得经验调节极为困难。因此需要发展自动确定超参数的方法。

L曲线方法

L曲线方法由Hansen于1992年提出,是一种经典的正则化参数选择技术。其基本思想是在对数坐标下绘制残差范数 \|\boldsymbol{y} - \boldsymbol{H}\boldsymbol{x}\|^2 与正则化项 \|\boldsymbol{D}\boldsymbol{x}\|^2 的参数曲线,其中每个点对应一个特定的 \mu 值。

image-20260122142740504

这条曲线通常呈现L形:在曲线的垂直部分,\mu 很小,解主要由数据拟合主导,残差小但正则化项大(解不光滑);在曲线的水平部分,\mu 很大,解被正则化项主导,正则化项小但残差大(数据拟合差)。L曲线的拐点(曲率最大处)对应于残差和正则化项之间的最佳折中,通常被选为最优正则化参数。这个选择的直觉是:在拐点处,进一步减小正则化项需要付出残差急剧增加的代价,反之亦然。

交叉验证方法

留一法原理

交叉验证是一种经典的模型选择技术,由Golub于1979年提出。其核心思想是利用数据本身来评估不同参数选择下模型的预测能力。设 \boldsymbol{y}_{/i} 表示去掉第 i 个分量后的数据向量,即所有观测数据中排除第 i 个观测值。使用这个不完整的数据集来估计信号,得到 \hat{\boldsymbol{x}}_{/i},然后用这个估计去预测被留出的第 i 个观测值,计算预测误差 (\boldsymbol{H}\hat{\boldsymbol{x}}_{/i})_i - y_i

这个预测误差的含义是:如果参数 \mu 选择得当,那么用部分数据估计出的信号应该能够很好地预测被留出的数据点。对所有数据点依次进行这个留一操作,将预测误差的平方和作为参数选择的准则

\hat{\mu} = \arg\min_{\mu}\left[\sum_i \left((\boldsymbol{H}\hat{\boldsymbol{x}}_{/i})_i - y_i\right)^2\right]

这个方法的直觉是:过小的 \mu 会导致过拟合,估计器过度适应训练数据中的噪声,对新数据的预测能力差;过大的 \mu 会导致欠拟合,估计器过于平滑而无法捕捉信号的真实结构。最优的 \mu 应该在两者之间取得平衡。

交叉验证方法存在两个主要局限:计算代价高昂,因为需要对每个数据点都重新求解一次优化问题;其有效性的理论保证仅在二次(高斯)情形下成立。

边缘似然估计

方法原理

边缘似然方法提供了一种纯粹基于数据的超参数估计途径。其思想是将未知信号 \boldsymbol{x} 视为需要被积分掉的隐变量,仅用观测数据 \boldsymbol{y} 来估计超参数 \hat{\mu},然后在估计信号时将 \mu 固定为 \hat{\mu}

边缘分布的推导

边缘分布是将联合分布对隐变量积分得到的

f(\boldsymbol{y}|\sigma_b^2, \sigma_1^2) = \int_{\boldsymbol{x}} f(\boldsymbol{y}, \boldsymbol{x}|\sigma_b^2, \sigma_1^2)d\boldsymbol{x} = \int_{\boldsymbol{x}} f(\boldsymbol{y}|\boldsymbol{x}, \sigma_b^2)f(\boldsymbol{x}|\sigma_1^2)d\boldsymbol{x}

第二个等号利用了条件概率的链式法则,将联合分布分解为似然乘以先验。

在高斯模型下,似然函数为

f(\boldsymbol{y}|\boldsymbol{x}, \sigma_b^2) = k_0 \exp\left[-\frac{1}{2\sigma_b^2}\|\boldsymbol{y} - \boldsymbol{H}\boldsymbol{x}\|^2\right]

其中 k_0 是归一化常数,\sigma_b^2 是噪声方差。先验分布为

f(\boldsymbol{x}|\sigma_1^2) = k_1 \exp\left[-\frac{1}{2\sigma_1^2}\|\boldsymbol{D}\boldsymbol{x}\|^2\right]

其中 k_1 是归一化常数,\sigma_1^2 控制先验的宽度,\boldsymbol{D} 是正则化算子。

高斯边缘分布的解析形式

由于似然和先验都是高斯分布,两个高斯分布的乘积积分后仍然是高斯分布。边缘分布的解析形式为

f(\boldsymbol{y}|\sigma_b^2, \sigma_0^2, \sigma_1^2) = \frac{1}{\sqrt{(2\pi)^N \det[\boldsymbol{\Sigma}_Y]}}\exp\left[-\frac{1}{2}(\boldsymbol{y} - \boldsymbol{m}_Y)^t\boldsymbol{\Sigma}_Y^{-1}(\boldsymbol{y} - \boldsymbol{m}_Y)\right]

边缘分布的均值为

\boldsymbol{m}_Y = E[\boldsymbol{y}] = E[\boldsymbol{H}\boldsymbol{x} + \boldsymbol{b}] = 0

这里假设信号和噪声的先验均值都为零。边缘分布的协方差矩阵为

\boldsymbol{\Sigma}_Y = E[\boldsymbol{y}\boldsymbol{y}^t] = \boldsymbol{H}\boldsymbol{\Sigma}_x\boldsymbol{H}^t + \sigma_b^2\boldsymbol{I}_d = \sigma_1^2\boldsymbol{H}[\boldsymbol{D}\boldsymbol{D}^t]^{-1}\boldsymbol{H}^t + \sigma_b^2\boldsymbol{I}_d

协方差矩阵由两部分组成:第一项 \boldsymbol{H}\boldsymbol{\Sigma}_x\boldsymbol{H}^t 来自信号通过系统传播后的不确定性;第二项 \sigma_b^2\boldsymbol{I}_d 来自观测噪声。

最大似然估计

超参数的最大似然估计通过最大化边缘似然得到

(\sigma_b^{2^{\text{MV}}}, \sigma_1^{2^{\text{MV}}}) = \arg\max_{\sigma^2_b, \sigma^2_1} f(\boldsymbol{y}|\sigma^2_b, \sigma^2_1) = \arg\min CLV(\sigma^2_b, \sigma^2_1)

其中 CLV 是对数似然的负值(或某种等价的代价函数)。由于正则化参数 \mu = \frac{\sigma_b^2}{\sigma_1^2},估计出两个方差后即可确定 \mu

不同准则的比较

参数选择曲线

不同的参数选择准则会给出不同的最优 \mu 值。

image-20260122142800041

从图示可以观察到:L_2 距离(均方误差)和 L_1 距离作为 \mu 的函数都呈现碗形曲线,存在明确的最小值点;二次误差曲线形状类似;边缘似然(负对数似然)曲线也有明确的最小值。然而,这四个准则给出的最优 \mu 值并不完全相同。

重建效果对比

使用不同准则确定的最优 \mu 进行信号重建,效果存在差异。L_2 距离和 L_1 距离准则下的重建结果都能较好地拟合真实信号的主要特征,两者差别不大。二次误差准则给出的重建同样质量良好。边缘似然准则下的重建结果则显示出更多的振荡,这是因为边缘似然倾向于选择较小的 \mu 值,导致正则化不足。

image-20260122142818345

这些比较说明:虽然边缘似然方法具有坚实的概率论基础,但它选择的超参数并不一定在实际重建误差意义下是最优的。不同的应用场景可能需要选择不同的参数调节准则。

非监督贝叶斯方法

超参数的先验选择

在非监督方法中,超参数 \gamma_b(噪声精度,即方差的倒数)和 \gamma_1(信号先验精度)也需要从数据中估计。当没有关于这些参数的先验信息时,需要选择无信息先验。对于尺度参数(如方差或精度),Jeffrey先验是一种常用的无信息先验

f(\gamma) = \frac{1}{\gamma}

这个先验在对数尺度上是均匀的,即 f(\log\gamma) 为常数。Jeffrey先验的特点是它对参数的重参数化保持不变性,例如无论我们选择对方差 \sigma^2 还是精度 \gamma = 1/\sigma^2 建模,得到的推断结果是一致的。需要注意的是,Jeffrey先验是非正常先验(improper prior),它在整个正实数轴上的积分是发散的,但只要似然函数提供足够的信息,后验分布仍然是正常的。

联合后验分布

根据贝叶斯规则,信号和超参数的联合后验分布为

f(\boldsymbol{x}, \gamma_b, \gamma_1|\boldsymbol{y}) = \frac{f(\boldsymbol{y}|\boldsymbol{x}, \gamma_b)f(\boldsymbol{x}|\gamma_1)f(\gamma_b)f(\gamma_1)}{f(\boldsymbol{y})}

分子中四项依次是:似然函数、信号先验、噪声精度的Jeffrey先验、信号精度的Jeffrey先验。将高斯似然和高斯先验的具体形式代入,得到

f(\boldsymbol{x}, \gamma_b, \gamma_1|\boldsymbol{y}) = k\gamma_b^{N/2}\gamma_1^{N/2}\exp\left[-\gamma_b\|\boldsymbol{y} - \boldsymbol{H}\boldsymbol{x}\|^2 - \gamma_1\|\boldsymbol{D}\boldsymbol{x}\|^2\right]\frac{1}{\gamma_b}\frac{1}{\gamma_1}

其中 k 是归一化常数,N 是数据维度。指数项中的两个二次型分别对应数据拟合项和正则化项,而 \gamma_b^{N/2}\gamma_1^{N/2} 来自高斯分布的归一化因子,最后的 \frac{1}{\gamma_b}\frac{1}{\gamma_1} 来自Jeffrey先验。

Gibbs采样的条件分布

信号的条件分布

给定超参数 \gamma_b, \gamma_1 和数据 \boldsymbol{y},信号 \boldsymbol{x} 的条件分布为

f(\boldsymbol{x}|\boldsymbol{y}, \gamma_b, \gamma_1) = k\exp\left[-\gamma_b\|\boldsymbol{y} - \boldsymbol{H}\boldsymbol{x}\|^2 - \gamma_1\|\boldsymbol{D}\boldsymbol{x}\|^2\right]

这是一个高斯分布。展开指数项中的二次型并配方,可以得到该高斯分布的均值为

\text{均值} = (\boldsymbol{H}^t\boldsymbol{H} + \gamma_1/\gamma_b\boldsymbol{D}^t\boldsymbol{D})^{-1}\boldsymbol{H}^t\boldsymbol{y}

协方差矩阵为

\text{协方差矩阵} = (\gamma_b\boldsymbol{H}^t\boldsymbol{H} + \gamma_1\boldsymbol{D}^t\boldsymbol{D})^{-1}

均值表达式与正则化最小二乘解的形式完全一致,其中正则化参数 \mu = \gamma_1/\gamma_b

噪声精度的条件分布

给定信号 \boldsymbol{x} 和数据 \boldsymbol{y},噪声精度 \gamma_b 的条件分布为

f(\gamma_b|\boldsymbol{x}, \boldsymbol{y}) = k'\gamma_b^{N/2}\exp\left[-\gamma_b\|\boldsymbol{y} - \boldsymbol{H}\boldsymbol{x}\|^2\right]\frac{1}{\gamma_b}

整理后得到 \gamma_b^{N/2-1}\exp[-\gamma_b\|\boldsymbol{y} - \boldsymbol{H}\boldsymbol{x}\|^2],这是Gamma分布的核。具体而言,\gamma_b 服从形状参数为 N/2、尺度参数与残差平方和 \|\boldsymbol{y} - \boldsymbol{H}\boldsymbol{x}\|^2 相关的Gamma分布。

信号精度的条件分布

给定信号 \boldsymbol{x},信号精度 \gamma_1 的条件分布为

f(\gamma_1|\boldsymbol{x}) = k'\gamma_1^{N/2}\exp\left[-\gamma_1\|\boldsymbol{D}\boldsymbol{x}\|^2\right]\frac{1}{\gamma_1}

同样是Gamma分布的形式,其参数由正则化项 \|\boldsymbol{D}\boldsymbol{x}\|^2 决定。

Gibbs采样器的实现

信号采样的计算挑战

从信号的条件分布 f(\boldsymbol{x}|\boldsymbol{y}, \gamma_b, \gamma_1) 中采样需要处理高斯分布,这涉及两个主要的计算困难。第一,协方差矩阵 (\gamma_b\boldsymbol{H}^t\boldsymbol{H} + \gamma_1\boldsymbol{D}^t\boldsymbol{D})^{-1} 在高维情况下难以计算和存储,对于 N 维信号,这是一个 N \times N 的矩阵。第二,每次超参数 \gamma_b, \gamma_1 更新后,都需要重新计算并求逆这个协方差矩阵,计算代价为 O(N^3)

超参数采样

相比之下,超参数的采样相对简单。虽然条件分布是Gamma分布,形式比高斯分布复杂,但由于超参数是标量,从一维Gamma分布中采样可以使用标准的逆变换方法或接受-拒绝方法高效实现。

循环近似加速

当系统矩阵 \boldsymbol{H} 具有卷积结构时,可以利用循环矩阵近似来大幅加速计算。将 \boldsymbol{H} 近似为循环矩阵 \tilde{\boldsymbol{H}}

\tilde{\boldsymbol{H}} = \begin{bmatrix} h_P & h_{P-1} & \cdots & \cdots & h_0 & 0 & \cdots & \cdots & 0 \\ 0 & h_P & h_{P-1} & \cdots & \cdots & h_0 & 0 & \cdots & 0 \\ 0 & 0 & h_P & h_{P-1} & \cdots & \cdots & h_0 & & 0 \\ & & \ddots & \ddots & \ddots & & \ddots & \\ 0 & \cdots & \cdots & 0 & h_P & h_{P-1} & \cdots & \cdots & h_0 \\ h_0 & 0 & \cdots & \cdots & 0 & h_P & h_{P-1} & \cdots & h_1 \\ h_1 & h_0 & 0 & \cdots & \cdots & 0 & h_P & \cdots & h_2 \\ & \ddots & \ddots & & & & \ddots & \ddots & \\ h_{P-1} & \cdots & h_1 & h_0 & 0 & \cdots & \cdots & 0 & h_P \end{bmatrix}

循环矩阵的特点是每一行都是上一行的循环移位。这种结构的矩阵可以通过离散傅里叶变换(DFT)对角化:\tilde{\boldsymbol{H}} = \boldsymbol{F}^{-1}\boldsymbol{\Lambda}\boldsymbol{F},其中 \boldsymbol{F} 是DFT矩阵,\boldsymbol{\Lambda} 是对角矩阵。利用这个性质,矩阵求逆可以在频域中通过逐元素运算完成,计算复杂度从 O(N^3) 降低到 O(N\log N)(FFT的复杂度)。这使得大规模问题的Gibbs采样变得可行。

基于FFT的快速计算

循环近似下的解析解

当系统矩阵和正则化矩阵都用循环矩阵近似时,正则化最小二乘解可以写成

\hat{\boldsymbol{x}} = (\tilde{\boldsymbol{H}}^t\tilde{\boldsymbol{H}} + \mu_1\tilde{\boldsymbol{D}}^t\tilde{\boldsymbol{D}})^{-1}\tilde{\boldsymbol{H}}^t\boldsymbol{y}

其中 \tilde{\boldsymbol{H}}\tilde{\boldsymbol{D}} 分别是 \boldsymbol{H}\boldsymbol{D} 的循环近似。利用循环矩阵可以被DFT对角化的性质,设 \tilde{\boldsymbol{H}} = \boldsymbol{W}^\dagger\boldsymbol{\Lambda}_h\boldsymbol{W}\tilde{\boldsymbol{D}} = \boldsymbol{W}^\dagger\boldsymbol{\Lambda}_d\boldsymbol{W},其中 \boldsymbol{W} 是DFT矩阵(满足 \boldsymbol{W}\boldsymbol{W}^\dagger = \boldsymbol{I}),\boldsymbol{\Lambda}_h\boldsymbol{\Lambda}_d 是对角矩阵,其对角元素分别是 \boldsymbol{H}\boldsymbol{D} 第一行的DFT。将这些分解代入,解可以改写为

\hat{\boldsymbol{x}} = \boldsymbol{W}^\dagger(\boldsymbol{\Lambda}_h^\dagger\boldsymbol{\Lambda}_h + \mu_1\boldsymbol{\Lambda}_d^\dagger\boldsymbol{\Lambda}_d)^{-1}\boldsymbol{\Lambda}_h^\dagger\boldsymbol{W}\boldsymbol{y}
频域表示

定义频域变量 \mathring{\boldsymbol{x}} = \boldsymbol{W}\boldsymbol{x}\mathring{\boldsymbol{y}} = \boldsymbol{W}\boldsymbol{y},则频域中的解为

\mathring{\hat{\boldsymbol{x}}} = (\boldsymbol{\Lambda}_h^\dagger\boldsymbol{\Lambda}_h + \mu_1\boldsymbol{\Lambda}_d^\dagger\boldsymbol{\Lambda}_d)^{-1}\boldsymbol{\Lambda}_h^\dagger\mathring{\boldsymbol{y}}

由于 \boldsymbol{\Lambda}_h\boldsymbol{\Lambda}_d 都是对角矩阵,上述矩阵运算简化为逐元素运算。对于第 n 个频率分量

\mathring{\hat{x}}_n = \frac{\mathring{h}_n^*}{|\mathring{h}_n|^2 + \mu_1|\mathring{d}_n|^2}\mathring{y}_n \quad \text{pour} \quad n = 1, 2, \ldots, N

其中 \mathring{h}_n\mathring{d}_n 分别是 \boldsymbol{\Lambda}_h\boldsymbol{\Lambda}_d 的第 n 个对角元素,\mathring{h}_n^* 表示共轭。这个公式的形式是典型的维纳滤波器:分子 \mathring{h}_n^*\mathring{y}_n 对应匹配滤波,分母中 |\mathring{h}_n|^2 是系统响应的功率谱,\mu_1|\mathring{d}_n|^2 是正则化项在频域的贡献。整个计算只需要 O(N) 次复数运算,加上FFT的 O(N\log N) 复杂度。

傅里叶域中的采样

频域直接模型

在频域中,线性观测模型变为

\mathring{\boldsymbol{y}} = \boldsymbol{\Lambda}_h\mathring{\boldsymbol{x}} + \boldsymbol{b}

由于 \boldsymbol{\Lambda}_h 是对角矩阵,这个模型将原本耦合的问题解耦成 N 个独立的标量问题。

频域条件分布的优势

在频域中对 \mathring{\boldsymbol{x}} 进行采样具有显著的计算优势。条件分布 f(\mathring{\boldsymbol{x}}|\mathring{\boldsymbol{y}}, \gamma_b, \gamma_1) 仍然是高斯分布,但其协方差矩阵是对角的。这意味着各频率分量 \mathring{x}_n 之间条件独立,可以分别从一维高斯分布中采样。对角协方差矩阵的求逆是平凡的,只需对每个对角元素取倒数,计算复杂度为 O(N)

超参数采样

超参数 \gamma_b\gamma_1 的采样过程保持不变,仍然从各自的Gamma条件分布中抽取。唯一的区别是计算残差范数 \|\boldsymbol{y} - \boldsymbol{H}\boldsymbol{x}\|^2 和正则化项 \|\boldsymbol{D}\boldsymbol{x}\|^2 时可以利用Parseval定理在频域中进行。Parseval定理指出,信号在时域和频域中的能量相等,即 \|\boldsymbol{x}\|^2 = \frac{1}{N}\|\mathring{\boldsymbol{x}}\|^2。因此残差和正则化项可以直接在频域中计算,避免了额外的FFT运算。

整个Gibbs采样器在频域中实现时,每次迭代的主要计算是:从 N 个独立的一维高斯分布中采样得到 \mathring{\boldsymbol{x}},以及从两个Gamma分布中采样得到 \gamma_b\gamma_1。如果需要时域的样本,只需在最后进行一次逆FFT。这种实现方式使得大规模贝叶斯逆问题的MCMC求解成为可能。

变分贝叶斯近似方法

贝叶斯推断的基本框架

线性正向模型

在逆问题中,我们通常面对的是一个线性观测模型:

\boldsymbol{y} = \boldsymbol{H}\boldsymbol{x} + \boldsymbol{b}

其中 \boldsymbol{y} 是观测向量,\boldsymbol{x} 是我们想要估计的未知参数向量,\boldsymbol{H} 是已知的系统矩阵(描述从参数到观测的映射关系),\boldsymbol{b} 是噪声项。逆问题的目标就是从观测 \boldsymbol{y} 反推出 \boldsymbol{x}

贝叶斯规则

贝叶斯方法处理这个问题的核心工具是贝叶斯公式:

\Pr(\boldsymbol{x}|\boldsymbol{y}, C) = \frac{\Pr(\boldsymbol{y}|\boldsymbol{x}, C)\Pr(\boldsymbol{x}|C)}{\Pr(\boldsymbol{y}|C)}

这里 C 表示所有的背景知识和假设条件。等式左边 \Pr(\boldsymbol{x}|\boldsymbol{y}, C) 是后验分布,表示在观测到 \boldsymbol{y} 之后对 \boldsymbol{x} 的信念。等式右边的分子包含两部分:\Pr(\boldsymbol{y}|\boldsymbol{x}, C) 是似然函数,描述给定参数 \boldsymbol{x} 时观测到 \boldsymbol{y} 的概率;\Pr(\boldsymbol{x}|C) 是先验分布,表示观测之前对 \boldsymbol{x} 的先验信念。分母 \Pr(\boldsymbol{y}|C) 是边缘似然或证据,起归一化作用。

超越点估计的方法

传统方法往往只给出一个点估计值,但贝叶斯方法的优势在于能够给出完整的后验分布。获取后验分布有两大类方法:第一类是随机方法,以马尔可夫链蒙特卡洛(MCMC)为代表,通过生成大量样本,用样本的直方图来近似后验分布;第二类是解析近似方法,包括拉普拉斯近似和变分贝叶斯近似,它们试图用解析形式的分布来近似真实后验。

完整后验分布的必要性

点估计的局限性

点估计本质上是做一个决策,即从所有可能的 \boldsymbol{x} 中选择一个最优值。然而在很多场景下,仅有点估计是不够的。当需要将估计结果传递给下游任务时,点估计丢失了不确定性信息;当需要综合两个独立估计来做决策时,没有不确定性信息就无法进行最优融合;当进行递归处理时,每一步都需要传递完整的分布信息才能保证最优性。

递归处理中的应用

在马尔可夫模型的递归滤波问题中,后验分布的传递尤为关键。假设状态序列满足马尔可夫性质,则当前时刻 n 的后验分布可以写成:

\Pr(\boldsymbol{x}_n|\boldsymbol{y}_{1,...,n}, C) \propto \Pr(\boldsymbol{x}_n|\boldsymbol{y}_{1,...,n-1}, C) \times \Pr(y_n|\boldsymbol{x}_n, C)

这个式子说明当前后验正比于预测分布乘以当前观测的似然。其中预测分布 \Pr(\boldsymbol{x}_n|\boldsymbol{y}_{1,...,n-1}, C) 需要通过上一时刻的后验分布积分得到:

\Pr(\boldsymbol{x}_n|\boldsymbol{y}_{1,...,n-1}, C) \propto \int \Pr(\boldsymbol{x}_{n-1}|\boldsymbol{y}_{1,...,n-1}, C)\Pr(\boldsymbol{x}_n|\boldsymbol{x}_{n-1})d\boldsymbol{x}_{n-1} \times \Pr(y_n|\boldsymbol{x}_n, C)

这里 \Pr(\boldsymbol{x}_n|\boldsymbol{x}_{n-1}) 是状态转移概率。从这个递推公式可以看出,每一步都需要上一步的完整后验分布,而不仅仅是点估计。

根据后验分布的不同处理方式,产生了不同的滤波算法:如果后验分布恰好是高斯分布(线性高斯系统),则得到经典的卡尔曼滤波器;如果系统非线性但用高斯分布来近似后验,则得到扩展卡尔曼滤波器;如果用随机采样方法来表示后验分布,则得到粒子滤波器。这些方法的本质区别就在于如何表示和传递后验分布。

变分方法的理论基础

平均场近似的起源

变分方法的思想最早可以追溯到1900-1910年间物理学中的平均场理论。在多粒子系统中,每个粒子的存在概率取决于它与所有其他粒子的相互作用,这种相互依赖关系使得真实的联合分布极其复杂,通常无法精确计算。平均场近似的核心思想是用一个假设所有粒子相互独立的近似分布来替代真实分布。虽然这个假设在物理上不完全正确,但它使得计算变得可行,并且在很多情况下能给出足够好的近似结果。

变分方法的一般框架

变分方法的目标是寻找一个近似分布 q,使其尽可能接近真实分布 f。实现这一目标需要解决两个核心问题:首先要定义一个差异度量来衡量两个分布之间的距离;其次要在所有可能的近似分布中进行优化搜索,找到使差异最小的那个分布。由于我们要优化的对象是一个函数(分布本身),而不是有限维参数,这就构成了一个变分优化问题。

KL散度作为差异度量

变分贝叶斯与平均场的关系

变分贝叶斯方法可以看作平均场近似的一个特例,其特殊之处在于选择了Kullback-Leibler散度(简称KL散度)作为差异度量。

KL散度的定义

对于定义在 \mathbb{R}^n 上的两个概率密度函数 fg,KL散度定义为:

\forall f, g \in L_1(\mathbb{R}^n), \quad \text{KL}\{f(\boldsymbol{w}) \| g(\boldsymbol{w})\} = \int f(\boldsymbol{w}) \log\left(\frac{f(\boldsymbol{w})}{g(\boldsymbol{w})}\right) d\boldsymbol{w}

这个定义可以理解为:用分布 f 对对数比值 \log(f/g) 求期望。当 fg 相同时,对数比值处处为零,积分结果也为零;当两者不同时,由于对数函数的凸性,积分结果为正。

KL散度的基本性质

KL散度具有以下性质:

\text{KL}\{f(\boldsymbol{w}) \| g(\boldsymbol{w})\} \geq 0
\text{KL}\{f(\boldsymbol{w}) \| g(\boldsymbol{w})\} = 0 \quad \text{当且仅当} \quad f(\boldsymbol{w}) = g(\boldsymbol{w}) \quad \text{几乎处处成立}
\text{KL}\{f(\boldsymbol{w}) \| g(\boldsymbol{w})\} \neq \text{KL}\{g(\boldsymbol{w}) \| f(\boldsymbol{w})\}

第三条性质表明KL散度不是对称的,交换 fg 的位置会得到不同的结果。这意味着KL散度不是严格意义上的距离度量,但它仍然可以作为分布相似性的有效衡量标准。

两种KL散度的选择

f 是我们想要近似的真实分布,q 是我们选择的近似分布,那么存在两种不同的KL散度定义方式:

\text{KLD}_{RM} = \text{KL}\{f(\boldsymbol{w}) \| q(\boldsymbol{w})\}
\text{KLD}_{BV} = \text{KL}\{q(\boldsymbol{w}) \| f(\boldsymbol{w})\}

下标RM表示风险最小化(Risk Minimization),下标BV表示变分贝叶斯(Bayesian Variational)。这两种选择会导致完全不同的优化行为和近似特性。

KL散度与熵的关系

KL散度可以分解为熵和交叉熵的形式:

\text{KL}\{f(\boldsymbol{w}) \| q(\boldsymbol{w})\} = \int f(\boldsymbol{w}) \log(f(\boldsymbol{w})) d\boldsymbol{w} - \int f(\boldsymbol{w}) \log(q(\boldsymbol{w})) d\boldsymbol{w}
= -\mathcal{H}(f(\boldsymbol{w})) + \langle -\log q(\boldsymbol{w}) \rangle_{f(\boldsymbol{w})}

其中 \mathcal{H}(f) 是分布 f 的香农熵,\langle -\log q(\boldsymbol{w}) \rangle_{f(\boldsymbol{w})} 表示 -\log q 在分布 f 下的期望。因此KL散度本质上是一种相对熵,衡量的是用分布 q 来编码服从分布 f 的数据时所损失的信息量。\text{KLD}_{RM} 度量的是当我们用近似分布 q 代替真实后验分布 p 时所损失的信息。

变分贝叶斯优化问题

优化目标的形式化

变分贝叶斯方法将寻找最优近似分布表述为如下优化问题:

q_{opt}(\boldsymbol{w}) = \arg\min_{q \in L_1(\mathbb{R}^n)} \text{KL}\{q(\boldsymbol{w}) \| p(\boldsymbol{w})\} \quad \text{s.c.} \quad \int q(\boldsymbol{w}) d\boldsymbol{w} = 1

这里 p(\boldsymbol{w}) 是真实的后验分布,约束条件保证 q 是一个合法的概率分布(积分为1)。这是一个在函数空间中的优化问题,如果不加任何限制,最优解显然就是 q = p,但这没有意义,因为 p 正是我们无法计算的对象。

可分性假设

为了使优化问题可解,我们需要限制近似分布 q 的形式。最常用的假设是可分性假设,即假设 q 可以分解为各个分量的乘积:

q(\boldsymbol{w}) = q_1(\boldsymbol{w}_1) \ldots q(\boldsymbol{w}_J)

其中 \boldsymbol{w} 被划分为 J 个子向量 \boldsymbol{w}_1, \ldots, \boldsymbol{w}_J。可分性的程度由 J 的大小决定:当 J = nn\boldsymbol{w} 的维度)时,称为强可分性,此时每个分量都被假设为独立的,近似程度最大,计算最简单;当 J 较小时,称为弱可分性,此时计算代价增加,甚至可能导致问题不可解,但近似精度会更高。选择合适的分解方式需要在计算复杂度和近似精度之间权衡。

自由能与变分下界

模型证据的分解

变分贝叶斯方法的核心推导从模型证据(model evidence)开始。模型证据 p(\boldsymbol{y}|\mathcal{M}) 是观测数据在给定模型 \mathcal{M} 下的边缘似然,它的对数可以通过巧妙的数学变换分解为两部分。

首先,对数证据可以写成:

\log p(\boldsymbol{y}|\mathcal{M}) = \log \frac{p(\boldsymbol{w}, \boldsymbol{y}|\mathcal{M})}{p(\boldsymbol{w}|\boldsymbol{y}, \mathcal{M})}

这个等式来自贝叶斯公式的简单变形:联合分布等于后验乘以证据,即 p(\boldsymbol{w}, \boldsymbol{y}|\mathcal{M}) = p(\boldsymbol{w}|\boldsymbol{y}, \mathcal{M}) p(\boldsymbol{y}|\mathcal{M})

接下来,在分子分母同时乘以近似分布 q(\boldsymbol{w})

\log p(\boldsymbol{y}|\mathcal{M}) = \log \frac{q(\boldsymbol{w})p(\boldsymbol{w}, \boldsymbol{y}|\mathcal{M})}{q(\boldsymbol{w})p(\boldsymbol{w}|\boldsymbol{y}, \mathcal{M})}

由于左边不依赖于 \boldsymbol{w},可以对右边关于 q(\boldsymbol{w}) 取期望而不改变等式:

\log p(\boldsymbol{y}|\mathcal{M}) = \int \log \frac{q(\boldsymbol{w})p(\boldsymbol{w}, \boldsymbol{y}|\mathcal{M})}{q(\boldsymbol{w})p(\boldsymbol{w}|\boldsymbol{y}, \mathcal{M})} q(\boldsymbol{w}) d\boldsymbol{w}

将对数拆分为两项:

\log p(\boldsymbol{y}|\mathcal{M}) = \int q(\boldsymbol{w}) \log \left(\frac{p(\boldsymbol{w}, \boldsymbol{y}|\mathcal{M})}{q(\boldsymbol{w})}\right) d\boldsymbol{w} + \int q(\boldsymbol{w}) \log \left(\frac{q(\boldsymbol{w})}{p(\boldsymbol{w}|\boldsymbol{y}, \mathcal{M})}\right) d\boldsymbol{w}

第一项定义为自由能 \mathcal{F}(q, \boldsymbol{y}),第二项恰好是 q 与真实后验之间的KL散度:

\log p(\boldsymbol{y}|\mathcal{M}) = \mathcal{F}(q, \boldsymbol{y}) + \text{KL}\{q(\boldsymbol{w}) \| p(\boldsymbol{w}|\boldsymbol{y}, \mathcal{M})\}

由于KL散度恒非负,自由能 \mathcal{F}(q, \boldsymbol{y}) 构成了对数证据的下界。最小化 \text{KL}\{q(\boldsymbol{w}) \| p(\boldsymbol{w}|\boldsymbol{y}, \mathcal{M})\} 等价于最大化自由能 \mathcal{F}(q, \boldsymbol{y})。这个等价性使得我们可以避免直接计算真实后验,转而通过最大化自由能来寻找最优近似。

可分近似的最优解

最优分布的解析形式

假设近似分布具有可分形式 q(\boldsymbol{w}) = \prod_i q_i(w_i),对每个分量 q_i(w_i) 的优化问题为:

q_i(w_i) = \arg\max_{q_i(w_i)} \mathcal{F}(q, \boldsymbol{y}) \quad \text{s.c.} \quad \int q_i(w_i) dw_i = 1

通过变分计算可以得到最优解的解析形式:

q_i(w_i) = \frac{1}{Z_i} \exp\left[\langle \log p(\boldsymbol{y}, \boldsymbol{w}|\mathcal{M}) \rangle_{\prod_{j \neq i} q_j(w_j)}\right]

这里 Z_i 是归一化常数,确保 q_i 积分为1。尖括号表示期望,其定义为:

\langle h(\boldsymbol{w}) \rangle_{\prod_{j \neq i} q_j^{(k)}(w_j)} = \int h(\boldsymbol{w}) \prod_{j \neq i} q_j^{(k)}(w_j) dw_j

这个解的含义是:最优的 q_i 是联合对数概率关于所有其他变量取期望后的指数形式。每个分量的最优解都依赖于其他所有分量的当前值,因此需要迭代求解。

坐标上升迭代算法

由于各分量的最优解相互依赖,采用交替最大化(坐标上升)策略。在第 k+1 次迭代中,更新第 i 个分量:

q_i^{(k+1)}(w_i) = \frac{1}{Z_i} \exp\left[\langle \log p(\boldsymbol{y}, \boldsymbol{w}|\mathcal{M}) \rangle_{\prod_{j < i} q_j^{(k+1)}(w_j) \prod_{j > i} q_j^{(k)}(w_j)}\right]

更新 q_i 时,使用已经更新过的 q_1, \ldots, q_{i-1}(第 k+1 次迭代的结果)和尚未更新的 q_{i+1}, \ldots, q_J(第 k 次迭代的结果)。这种更新方式保证自由能单调不减,算法收敛到局部最优。

共轭先验的优势

当先验分布选自共轭先验族时,后验分布与先验属于同一分布族。此时每次迭代只需要更新分布的参数,而不需要重新计算整个分布的函数形式,大大简化了计算。

风险最小化KL散度的分析

另一种KL散度的优化

前面使用的是 \text{KL}\{q \| p\},现在考虑反向的KL散度 \text{KL}\{p \| q\},看看会得到什么结果。优化问题变为:

q_{opt}(w_i) = \arg\min_{q_i(w_i)} \int p(\boldsymbol{w}|\boldsymbol{y}) \log\left(\frac{p(\boldsymbol{w}|\boldsymbol{y})}{q(\boldsymbol{w})}\right) d\boldsymbol{w} \quad \text{s.c.} \quad \int q_i(w_i) dw_i = 1

由于 q(\boldsymbol{w}) = \prod_j q_j(w_j),只有 q_i 项与优化变量相关,问题简化为:

q_{opt}(w_i) = \arg\min_{q_i(w_i)} \int p(\boldsymbol{w}|\boldsymbol{y}) \log\left(\frac{p(\boldsymbol{w}|\boldsymbol{y})}{q_i(w_i)}\right) d\boldsymbol{w} \quad \text{s.c.} \quad \int q_i(w_i) dw_i = 1

将积分拆开,对 w_i 以外的变量 \boldsymbol{w}_{/i} 先积分:

q_{opt}(w_i) = \arg\min_{q_i(w_i)} \int \int -p(\boldsymbol{w}_{/i}, w_i|\boldsymbol{y}) \log(q_i(w_i)) d\boldsymbol{w}_{/i} dw_i \quad \text{s.c.} \quad \int q_i(w_i) dw_i

交换积分顺序后,内层积分 \int p(\boldsymbol{w}_{/i}, w_i|\boldsymbol{y}) d\boldsymbol{w}_{/i} 恰好是 w_i 的边缘后验分布 p(w_i|\boldsymbol{y})

q_{opt}(w_i) = \arg\min_{q_i(w_i)} \int -\log(q_i(w_i)) p(w_i|\boldsymbol{y}) dw_i \quad \text{s.c.} \quad \int q_i(w_i) dw_i = 1

这正是 \text{KL}(p(w_i|\boldsymbol{y}) \| q_i(w_i)) 的形式,其最小值在 q_i = p(w_i|\boldsymbol{y}) 时取得:

q_{opt}(w_i) = p(w_i|\boldsymbol{y})

这个结果表明:如果使用风险最小化方向的KL散度,最优的可分近似就是各个变量的边缘后验分布的乘积。然而这个结果在实践中用处不大,因为计算边缘后验本身就需要对高维积分,正是我们想要避免的。这也解释了为什么变分贝叶斯选择 \text{KL}\{q \| p\} 而非 \text{KL}\{p \| q\}

非监督逆问题示例

问题描述

考虑一个简单的非监督逆问题:从多次测量中估计一个未知量,同时估计描述数据噪声特性的最优分布。这里的非监督指的是噪声方差等参数也是未知的,需要从数据中学习。

观测模型

假设我们对同一个未知量 x_0 进行了 N 次独立测量,每次测量都被独立同分布的高斯噪声污染,噪声方差为 \sigma^2。第 i 次观测的模型为:

\forall i, \quad y_i = x_0 + b_i

其中 b_i 是均值为零、方差为 \sigma^2 的高斯噪声。

用向量形式可以紧凑地写成:

\boldsymbol{y} = \mathbf{1} x_0 + \boldsymbol{b}

其中 \mathbf{1} 是全1向量:

\mathbf{1} = \begin{pmatrix} 1 \\ \vdots \\ 1 \end{pmatrix}

这个模型虽然简单,但包含了非监督学习的核心挑战:我们不仅要估计信号 x_0,还要同时估计噪声方差 \sigma^2(或其精度 \gamma = 1/\sigma^2)。后续将展示如何用变分贝叶斯方法处理这个联合估计问题。

变分贝叶斯求解示例

模型假设

在这个非监督估计问题中,我们需要对模型做出具体的概率假设。噪声 b_i 服从均值为零的高斯分布,其精度(方差的倒数)记为 \gamma_b,这个精度是未知的。对于待估计的参数 x_0,我们也赋予它一个均值为零的高斯先验分布,先验精度记为 \gamma_1,同样是未知的。

由于 \gamma_b\gamma_1 都是未知的超参数,需要为它们指定超先验。这里采用非信息先验中的Jeffrey先验:

f(\gamma_b, \gamma_1 | C) = \frac{1}{\gamma_b} \frac{1}{\gamma_1}

Jeffrey先验对于尺度参数(如方差或精度)是常用选择,它在对数尺度上是均匀的,体现了对参数量级没有先验偏好。

似然函数

给定参数 x_0 和噪声精度 \gamma_b,观测数据 \boldsymbol{y} 的似然函数为多维高斯分布:

f(\boldsymbol{y}|x_0, \gamma_b, C) = \left(\frac{\gamma_b}{2\pi}\right)^{N/2} \exp\left[-\frac{\gamma_b \|\boldsymbol{y} - \mathbf{1}x_0\|^2}{2}\right]

将范数展开:

f(\boldsymbol{y}|x_0, \gamma_b, C) = \left(\frac{\gamma_b}{2\pi}\right)^{N/2} \exp\left[-\frac{\gamma_b(\mathbf{1}^t\mathbf{1}x_0^2 - 2x_0\mathbf{1}^t\boldsymbol{y} + \boldsymbol{y}^t\boldsymbol{y})}{2}\right]

这里 \mathbf{1}^t\mathbf{1} = N(全1向量的内积等于维度),\mathbf{1}^t\boldsymbol{y} = \sum_i y_i 是观测值的和。

先验分布

参数 x_0 的先验分布是均值为零、精度为 \gamma_1 的高斯分布:

f(x_0|\gamma_1, C) = \sqrt{\frac{\gamma_1}{2\pi}} \exp\left[-\frac{\gamma_1 x_0^2}{2}\right]

这个先验起到正则化的作用,\gamma_1 越大表示先验越强,x_0 被拉向零的力度越大。

联合后验分布

根据贝叶斯公式,三个未知量 (x_0, \gamma_b, \gamma_1) 的联合后验分布正比于似然乘以所有先验:

f(x_0, \gamma_b, \gamma_1|\boldsymbol{y}, C) \propto \left(\frac{\gamma_b}{2\pi}\right)^{N/2-1} \left(\frac{\gamma_1}{2\pi}\right)^{-1/2} \exp\left[-\frac{(N\gamma_b + \gamma_1)x_0^2 - 2\gamma_b x_0 \mathbf{1}^t\boldsymbol{y} + \gamma_b \boldsymbol{y}^t\boldsymbol{y}}{2}\right]

指数项中包含了 \gamma_bN/2-1 次幂(来自似然的 N/2 次幂和Jeffrey先验的 -1 次幂),\gamma_1-1/2 次幂(来自先验的 1/2 次幂和Jeffrey先验的 -1 次幂)。

可分近似族的选择

这个联合后验结构复杂,无法直接计算边缘分布。变分贝叶斯方法假设近似分布可以完全分解:

q(x_0, \gamma_b, \gamma_1) = q_x(x_0) q_b(\gamma_b) q_1(\gamma_1)

这里选择了最强的可分性假设,三个变量被视为相互独立。同时采用共轭先验的思路:q_x 是高斯分布,q_bq_1 是Gamma分布。

信号分布的更新

推导 q_x 的最优形式

根据变分贝叶斯的最优解公式,q_x 在第 k+1 次迭代的更新为:

q_x^{(k+1)}(x_0) \propto \exp\left[\langle \log p(\boldsymbol{y}, x_0, \gamma_b, \gamma_1|\mathcal{M}) \rangle_{q_b^k(\gamma_b) q_1^k(\gamma_1)}\right]

由于对数联合分布中关于 x_0 的项只出现在指数部分,取期望时只需将 \gamma_b\gamma_1 替换为它们在各自近似分布下的期望:

q_x^{(k+1)}(x_0) \propto \exp\left[-\frac{\widetilde{\gamma}_b \|\boldsymbol{y} - \mathbf{1}x_0\|^2}{2} - \frac{\widetilde{\gamma}_1 x_0^2}{2}\right]

这里 \widetilde{\gamma}_b\widetilde{\gamma}_1 分别是 \gamma_b\gamma_1 在当前近似分布下的期望值。

参数更新公式

由于 q_x 是高斯分布,其参数为方差 (\sigma_x^2)^{k+1} 和均值 m_x^{k+1}。配方后可以识别出:

(\sigma_x^2)^{k+1} = (N\widetilde{\gamma}_b + \widetilde{\gamma}_1)^{-1}
m_x^{k+1} = \frac{\mathbf{1}^t\boldsymbol{y}}{N\widetilde{\gamma}_b + \widetilde{\gamma}_1}

均值公式可以改写为 m_x^{k+1} = (\sigma_x^2)^{k+1} \widetilde{\gamma}_b \mathbf{1}^t\boldsymbol{y},这是似然信息(\widetilde{\gamma}_b \mathbf{1}^t\boldsymbol{y})与后验方差的乘积。当 \widetilde{\gamma}_1 \to 0(先验很弱)时,m_x^{k+1} \to \bar{y}(样本均值);当 \widetilde{\gamma}_1 很大时,m_x^{k+1} \to 0(被先验拉向零)。

期望值 \widetilde{\gamma}_b\widetilde{\gamma}_1 由Gamma分布的参数决定:

\widetilde{\gamma}_b = \frac{\alpha_b^k}{\beta_b^k}, \qquad \widetilde{\gamma}_1 = \frac{\alpha_1^k}{\beta_1^k}

这是Gamma分布 \mathcal{G}amma(\gamma|\alpha, \beta) 的期望值公式。

噪声精度分布的更新

Gamma分布的定义

精度参数的近似分布采用Gamma分布,其密度函数为:

\mathcal{G}amma(\gamma|\alpha, \beta) = \frac{\beta^\alpha}{\Gamma(\alpha)} \gamma^{\alpha-1} e^{-\beta\gamma}

其中 \alpha 是形状参数,\beta 是速率参数,\Gamma(\alpha) 是Gamma函数。Gamma分布的期望为 \alpha/\beta,方差为 \alpha/\beta^2

推导 q_b 的最优形式

q_b 应用变分更新公式:

q_b^{(k+1)}(\gamma_b) \propto \exp\left[\langle \log p(\boldsymbol{y}, x_0, \gamma_b, \gamma_1|\mathcal{M}) \rangle_{q_x^{k+1}(x_0) q_1^k(\gamma_1)}\right]

提取对数联合分布中与 \gamma_b 相关的项:

q_b^{(k+1)}(\gamma_b) \propto \exp\left[\frac{N}{2}\log\gamma_b - \frac{\gamma_b}{2}\langle\|\boldsymbol{y} - \mathbf{1}x_0\|^2\rangle_{q_x^{k+1}(x_0)}\right]

展开范数的期望,利用 \langle x_0^2 \rangle = (m_x^{k+1})^2 + (\sigma_x^2)^{k+1}

q_b^{(k+1)}(\gamma_b) \propto \exp\left[(\frac{N}{2}-1)\log\gamma_b - \frac{\gamma_b}{2}\langle\mathbf{1}^t\mathbf{1}x_0^2 - 2x_0\mathbf{1}^t\boldsymbol{y} + \boldsymbol{y}^t\boldsymbol{y}\rangle_{q_x^{k+1}(x_0)}\right]
q_b^{(k+1)}(\gamma_b) \propto \exp\left[\frac{N-2}{2}\log\gamma_b - \frac{\gamma_b}{2}\left[N((m_x^2)^{k+1} + (\sigma_x^2)^{k+1}) - 2m_x^{k+1}\mathbf{1}^t\boldsymbol{y} + \boldsymbol{y}^t\boldsymbol{y}\right]\right]
噪声精度的参数更新

比较上式与Gamma分布的形式,可以识别出参数:

\alpha_b^{k+1} = \frac{N}{2}
\beta_b^{k+1} = \frac{1}{2}\left(\|\boldsymbol{y} - \mathbf{1}m_x^{k+1}\|^2 + N(\sigma_x^2)^{k+1}\right)

形状参数 \alpha_b 固定为 N/2,反映了 N 个观测点提供的信息量。速率参数 \beta_b 包含两部分:残差平方和 \|\boldsymbol{y} - \mathbf{1}m_x^{k+1}\|^2 衡量当前估计与数据的拟合程度;N(\sigma_x^2)^{k+1} 是对 x_0 不确定性的修正,体现了变分方法考虑后验不确定性的特点。

先验精度分布的更新

q_1 的推导过程与 q_b 完全类似。q_1 也是Gamma分布,参数更新为:

\alpha_1^{k+1} = \frac{1}{2}
\beta_1^{k+1} = \frac{1}{2}\left((m_x^2)^{k+1} + (\sigma_x^2)^{k+1}\right)

形状参数 \alpha_1 = 1/2 反映了只有一个参数 x_0 受到这个先验的约束。速率参数 \beta_1x_0 的二阶矩的一半,即 (m_x^2)^{k+1} + (\sigma_x^2)^{k+1} = \langle x_0^2 \rangle

整个算法在 q_xq_bq_1 之间交替迭代,每次更新一个分布的参数,直到收敛。收敛后,m_x 给出 x_0 的点估计,\sigma_x^2 给出估计的不确定性,\widetilde{\gamma}_b 给出噪声精度的估计。

EM算法基础

算法动机

EM算法(Expectation-Maximization,期望最大化算法)是为了解决似然函数最大化问题而提出的。在很多实际问题中,直接最大化观测数据的对数似然 \log(p(\boldsymbol{y}|\boldsymbol{x}, C)) 是困难的,因为似然函数可能包含复杂的积分或求和,无法直接优化。EM算法通过引入隐变量(latent variables)将问题分解为两个相对简单的步骤,迭代进行直到收敛。算法的一个关键性质是每次迭代都保证似然函数不减,从而确保收敛性。

算法结构

EM算法的目标是最大化对数似然:

\log(p(\boldsymbol{y}|\boldsymbol{x}, C))

算法在E步和M步之间交替进行。

E步(期望步)计算所谓的Q函数:

Q(\boldsymbol{x}|\boldsymbol{x}^{(k)}) = \int \log(p(\boldsymbol{y}, \boldsymbol{z}|\boldsymbol{x}, C)) p(\boldsymbol{z}|\boldsymbol{y}, \boldsymbol{x}^{(k)}, C) d\boldsymbol{z}
= \text{E}\{\log(p(\boldsymbol{y}, \boldsymbol{z}|\boldsymbol{x}, C)) | \boldsymbol{y}, \boldsymbol{x}^{(k)}\}

这里 \boldsymbol{z} 是隐变量,f(\boldsymbol{y}, \boldsymbol{z}|\boldsymbol{x}, C) 称为扩展似然(complete-data likelihood),是同时包含观测变量和隐变量的联合分布。f(\boldsymbol{z}|\boldsymbol{y}, \boldsymbol{x}^{(k)}) 是在给定观测 \boldsymbol{y} 和上一步参数估计 \boldsymbol{x}^{(k)} 条件下隐变量的后验分布。Q函数本质上是扩展对数似然关于隐变量后验分布的期望。

M步(最大化步)对Q函数关于参数 \boldsymbol{x} 进行最大化:

\boldsymbol{x}^{(k+1)} = \arg\max_{\boldsymbol{x}} Q(\boldsymbol{x}|\boldsymbol{x}^{(k)})

EM算法的性质

优点

当E步的计算有显式解时,算法实现简单直接。相比于直接最大化原始似然,最大化扩展似然通常更容易,因为扩展似然的形式往往更简洁。算法保证似然函数单调递增,这一性质可以严格证明。

缺点

算法只保证收敛到局部最优,不同的初始值可能导致不同的收敛点。收敛速度未知,依赖于问题结构,在某些情况下可能很慢。

E步不可解时的扩展

当E步没有解析解时,需要使用近似方法。随机EM(SEM,Stochastic EM)通过采样来近似期望;蒙特卡洛EM(MCEM)使用蒙特卡洛积分来估计Q函数。

EM算法与变分贝叶斯的联系

贝叶斯框架下的EM

EM算法可以自然地扩展到贝叶斯框架。对数后验可以分解为:

\log(p(\boldsymbol{x}|\boldsymbol{y}, C)) = \log(p(\boldsymbol{y}|\boldsymbol{x}, C)) + \log(p(\boldsymbol{x}|C)) - \log(p(\boldsymbol{y}|C))

由于 \log(p(\boldsymbol{y}|C)) 不依赖于 \boldsymbol{x},最大化对数后验等价于最大化前两项之和。

在贝叶斯EM中,E步变为:

Q(\boldsymbol{x}|\boldsymbol{x}^{(k)}) = \text{E}\{\log(p(\boldsymbol{y}, \boldsymbol{z}|\boldsymbol{x}, C)) | \boldsymbol{y}, \boldsymbol{x}^{(k)}\} + \log(p(\boldsymbol{x}|C))

相比于标准EM,这里增加了先验项 \log(p(\boldsymbol{x}|C))

M步保持不变:

\boldsymbol{x}^{(k+1)} = \arg\max_{\boldsymbol{x}} Q(\boldsymbol{x}|\boldsymbol{x}^{(k)})
变分贝叶斯的简化视角

变分贝叶斯方法可以通过一种简化方式与EM联系起来。如果我们不追求完整的后验分布,而只用一个点来总结分布(点估计),这等价于将近似分布限制在Dirac分布族中。Dirac分布是集中在单点的极限分布,用 \delta(\boldsymbol{x} - \boldsymbol{m}) 表示。这种简化会牺牲近似精度,但大大简化了计算。

EM作为变分贝叶斯的特例

近似分布的设定

考虑参数 \boldsymbol{x} 和隐变量 \boldsymbol{z} 的联合近似分布,采用可分形式:

q(\boldsymbol{x}, \boldsymbol{z}) = q_x(\boldsymbol{x}) q_z(\boldsymbol{z})

\boldsymbol{x} 施加特殊约束:q_x 必须是Dirac分布:

q_x(\boldsymbol{x}) = \delta(\boldsymbol{x} - \boldsymbol{m})

q_z 不受形式限制,可以是任意分布。

隐变量分布的更新

按照变分贝叶斯的更新公式,q_z 的最优形式为:

q_z^{(k+1)}(\boldsymbol{z}) \propto \exp\left[\langle \log p(\boldsymbol{y}, \boldsymbol{x}, \boldsymbol{z}|\mathcal{M}) \rangle_{q_x^k(\boldsymbol{x})}\right]

由于 q_x^k(\boldsymbol{x}) = \delta(\boldsymbol{x} - \boldsymbol{m}^k) 是Dirac分布,关于它的期望等价于直接代入 \boldsymbol{x} = \boldsymbol{m}^k

q_z^{(k+1)}(\boldsymbol{z}) \propto \exp\left[\int_{\boldsymbol{x}} \log p(\boldsymbol{y}, \boldsymbol{x}, \boldsymbol{z}|\mathcal{M}) \delta(\boldsymbol{x} - \boldsymbol{m}^k) d\boldsymbol{x}\right]
\propto p(\boldsymbol{y}, \boldsymbol{m}^k, \boldsymbol{z}|\mathcal{M})
= p(\boldsymbol{z}|\boldsymbol{m}^k, \boldsymbol{y}, \mathcal{M})

这正是给定当前参数估计 \boldsymbol{m}^k 和观测 \boldsymbol{y} 时隐变量的真实后验分布,恰好对应EM算法E步中使用的分布。

参数分布的更新

q_x 的更新:

q_x^{(k+1)}(\boldsymbol{x}) \propto \exp\left[\langle \log p(\boldsymbol{y}, \boldsymbol{x}, \boldsymbol{z}|\mathcal{M}) \rangle_{q_z^{k+1}(\boldsymbol{z})}\right]
\propto \exp\left[\langle \log p(\boldsymbol{y}, \boldsymbol{z}|\boldsymbol{x}, \mathcal{M}) \rangle_{p(\boldsymbol{z}|\boldsymbol{m}^k, \boldsymbol{y}, \mathcal{M})} + \log p(\boldsymbol{x}|\mathcal{M})\right]

由于我们限制 q_x 必须是Dirac分布,需要找到使上式最大的点 \boldsymbol{m}^{k+1}

q_x^{(k+1)}(\boldsymbol{x}) = \delta(\boldsymbol{x} - \boldsymbol{m}^{k+1})
\boldsymbol{m}^{k+1} = \arg\max_{\boldsymbol{x}} \left[\langle \log p(\boldsymbol{y}, \boldsymbol{z}|\boldsymbol{x}, \mathcal{M}) \rangle_{p(\boldsymbol{z}|\boldsymbol{m}^k, \boldsymbol{y}, \mathcal{M})} + \log p(\boldsymbol{x}|\mathcal{M})\right]

这恰好是贝叶斯EM算法的M步。因此,EM算法可以视为变分贝叶斯方法的一个特例,其中参数的近似分布被限制为Dirac分布(点估计),而隐变量的近似分布则保持为真实后验。这种视角揭示了两种方法的内在联系,同时也说明了变分贝叶斯比EM更一般:变分贝叶斯允许参数也有完整的分布表示,从而能够量化参数估计的不确定性。

高维问题中的变分贝叶斯加速

研究背景

标准变分贝叶斯方法在高维问题中面临严重的计算挑战。这一部分介绍针对大规模问题的加速方法,涉及梯度算法、子空间方法等技术,以及相关的应用和研究前景。

已有的加速方法

Babacan等人在2011年提出的方法采用弱可分性假设,不对所有变量进行完全分解。均值的计算使用共轭梯度算法而非直接求解线性系统。协方差矩阵的计算通过Hessian矩阵对角线的逆来近似,避免了完整矩阵求逆。

Seeger等人在2011年提出的方法同样采用弱可分性假设。均值计算使用预条件共轭梯度算法以加速收敛。协方差矩阵的计算利用Fenchel对偶理论,将问题转化为对偶空间中更易处理的形式。

高维变分贝叶斯的挑战

可分性与计算代价的权衡

在高维问题中,可分性假设的强弱直接影响计算复杂度。弱可分性意味着变量之间保留部分相关性,这要求对大规模协方差矩阵求逆,计算代价高昂。强可分性假设所有变量独立,虽然避免了大矩阵运算,但导致类似Gauss-Seidel的逐分量更新方式,收敛速度很慢。

梯度方法的思路

一个自然的想法是采用梯度类优化方法,通过计算目标函数(自由能)的梯度方向并选择最优步长来加速收敛。然而这种方法面临理论困难:概率密度函数空间不具有Hilbert空间结构,无法直接定义内积和梯度;在无穷维空间中处理非负性约束(概率密度必须非负)时,标准的KKT条件不再适用。


评论