Files
Baysian_Canonical_Identific…/temp.md
T
2025-11-05 08:36:42 +08:00

174 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
好的,让我们从头开始,结合关键公式,详细讲解一下这篇文章。
### 1. 问题的起点:贝叶斯模型更新 (Bayesian Model Updating)
**在科学和工程中,我们经常有一个数学模型 **$G$** 来描述一个物理系统,但模型中包含未知的参数 **$\theta$** **^1^^1^^1^^1^。我们通过实验测量得到一组数据 **$d$** ^2^。**贝叶斯更新** 的目的就是利用这些测量数据 **$d$** 来反推参数 **$\theta$** 的概率分布 ^3^^3^^3^^3^^3^^3^^3^^3^^3^。
这是通过贝叶斯定理实现的,它是本文所有工作的基础:
$$
p_{d}(\theta)=c_{E}^{-1}L(\theta)p_{0}(\theta)
$$
我们来拆解这个公式:
* **$p_{d}(\theta)$:后验概率密度函数 (Posterior PDF)**。这是我们**想要的结果**,即在“看到”测量数据 $d$ 之后,参数 $\theta$ 的概率分布 。
* **$p_{0}(\theta)$:先验概率密度函数 (Prior PDF)**。这是我们**开始的地方**,即在“看到”数据 *之前*,我们对 $\theta$ 的已有认知或假设。
* **$L(\theta)$:似然函数 (Likelihood Function)**。它描述的是:**如果** 参数真的是 $\theta$,那么我们“看到”测量数据 $d$ 的概率有多大 [cite: 102]。
* **$c_{E}$:模型证据 (Model Evidence)**。这是一个归一化常数,它保证 $p_{d}(\theta)$ 的总概率积分为1 [cite: 102]。它的计算公式为:
$$
$$c\_{E}=\\int\_{\\mathbb{R}^{n}}L(\\theta)p\_{0}(\\theta)d\\theta
$$
$c_{E}$ 本身也很有用,它可以用来比较不同模型的好坏 [cite: 37, 105]。
**挑战** **:在参数 **$\theta$** 维度很高(高维问题)时,这个后验分布 **$p_{d}(\theta)$** 非常复杂,几乎不可能直接求解,连 **$c_{E}$** 的积分也算不出来 **^4^^4^^4^^4^。
### 2. 求解方法:序列蒙特卡洛 (SMC)
**为了解决这个难题,论文使用了 ****序列蒙特卡洛 (SMC)** 方法 ^5^。
**SMC 的核心思想是“逐步逼近”:它不试图一步到位从 **$p_{0}(\theta)$**(先验)跳到 **$p_{d}(\theta)$**(后验),而是构建一系列平滑过渡的中间分布 **$f_{l}(\theta)$** **^6^^6^^6^^6^。
最常用的方法是“退火”或“回火”(tempering),通过一个指数 **$\beta_l$** 来实现:
$$
f_{l}(\theta)\propto L(\theta)^{\beta_{l}}p_{0}(\theta), \quad \text{其中 } 0 = \beta_{0} < \beta_{1} < \dots < \beta_{L} = 1
$$[cite\_start][cite: 174-175]
本文重排并清理了数学公式与格式,确保在常见 Markdown 渲染器中正确显示(提示:需要支持数学渲染的环境,如 VS Code 预览的数学渲染或 GitHub 的内置 KaTeX/MathJax)。
### 1. 问题的起点:贝叶斯模型更新 (Bayesian Model Updating)
在科学和工程中,我们经常有一个数学模型 $G$ 来描述物理系统,但模型中包含未知参数 $\theta$。我们通过实验测量得到一组数据 $d$。贝叶斯更新的目标是利用测量数据 $d$ 反推参数 $\theta$ 的后验分布。
这是通过贝叶斯定理实现的:
$$
p_{d}(\theta) = c_{E}^{-1} \, L(\theta) \, p_{0}(\theta)
$$
其中 $c_E$(模型证据)保证后验归一:
$$
c_{E} = \int_{\mathbb{R}^{n}} L(\theta) \, p_{0}(\theta) \, d\theta.
$$
当参数维度很高时,$p_d(\theta)$ 的形状可能非常复杂,直接计算甚至连证据 $c_E$ 的积分都很难。
### 2. 求解方法:序列蒙特卡洛 (SMC)
SMC 的核心思想是“逐步逼近”:不从先验 $p_0(\theta)$ 一步跳到后验 $p_d(\theta)$,而是构建一系列中间分布 $f_l(\theta)$,常见做法是退火/回火(tempering):
$$
f_{l}(\theta) \propto L(\theta)^{\beta_{l}} \, p_{0}(\theta), \quad 0=\beta_0 < \beta_1 < \cdots < \beta_L = 1.
$$
- 当 $\beta_0 = 0$ 时,$f_0(\theta) \propto p_0(\theta)$(先验)。
- 当 $\beta_L = 1$ 时,$f_L(\theta) \propto L(\theta) p_0(\theta)$(后验)。
从 $f_{l-1}$ 到 $f_l$SMC 通常包含三步:
1) 重加权(Reweighting):根据新的 $\beta_l$ 重新计算粒子权重;
2) 重采样(Resampling):复制高权重、淘汰低权重粒子(会导致样本贫化);
3) 移动(Moving):在保持 $f_l$ 不变的前提下,对粒子做若干步 MCMC 以恢复多样性。
### 3. “移动”步骤的经典算法:pCN
pCN(预条件 Crank–Nicolson)在高维问题中表现稳健,尤其适用于高斯先验 $p_0(\theta)=\mathcal{N}(0,I)$ 的情形。其提议为:
$$
v = \sqrt{1-s^{2}}\, \theta_{0} + s\, \xi, \quad \xi \sim \mathcal{N}(0, I), \; s\in[0,1].
$$
对应的 MetropolisHastings 接受率在退火分布 $f_l \propto L^{\beta_l} p_0$ 下可简化为:
$$
\alpha(\theta_{0}, v) = \min\left\{1, \frac{L(v)^{\beta_{l}}}{L(\theta_{0})^{\beta_{l}}} \right\}.
$$
关键点:先验项在接受率中相互抵消,接受与否仅由似然的相对变化决定,这使 pCN 的性能对参数维度不敏感。
然而,pCN 的提议协方差等同于先验(单位阵),在后期 $f_l$ 已经很“窄”且相关性强时,方向上不自适应,效率会下降。
---
### 4. 新算法一:cov-pCN(协方差信息 pCN
思想:在第 $l$ 步,利用带权样本估计目标分布 $f_l$ 的协方差 $\hat{\Sigma}_{f_l}$,并让提议分布适应该协方差结构。
令 $\hat{\Sigma}_{f_l} = W L W^{\top}$ 为特征分解,则广义 pCN 提议为:
$$
v = A\,\theta_0 + s\, W L^{1/2} \xi, \quad \xi \sim \mathcal{N}(0,I),
$$
其中
$$
A = \sqrt{I - s^{2} \hat{\Sigma}_{f_l}} = W\, \sqrt{I - s^{2} L} \, W^{\top}.
$$
这样构造可保持接受率与 pCN 同型:
$$
\alpha(\theta_{0}, v) = \min\left\{1, \frac{L(v)^{\beta_{l}}}{L(\theta_{0})^{\beta_{l}}} \right\},
$$
但提议方向对齐于 $f_l$ 的主协方差方向,混合更高效。
---
### 5. 新算法二:pc-M(主成分 M–H)
思想:高维协方差的主要方差集中在少数主方向上。仅沿主成分方向做随机游走即可。
做特征分解 $\hat{\Sigma}_{f_l} = W L W^{\top}$,取前 $n_r$ 个特征对 $(\rho_k, c_k)$,按权重(如与 $\rho_k$ 相关)随机选方向 $k$,然后:
$$
v = \theta_0 + s\, \rho_k\, c_k\, \xi, \quad \xi \sim \mathcal{N}(0,1).
$$
这是普通随机游走(RWM),接受率为:
$$
\alpha(\theta_0, v) = \min\left\{1, \frac{f_l(v)}{f_l(\theta_0)} \right\}
= \min\left\{1, \frac{L(v)^{\beta_l} \, p_0(v)}{L(\theta_0)^{\beta_l} \, p_0(\theta_0)} \right\}.
$$
---
### 6. 协方差矩阵的估计与递归更新
两种新算法都依赖于“好的”协方差估计 $\hat{\Sigma}_{f_l}$。
1) 初始估计:用重采样前的带权样本估计均值 $\hat{\mu}_{f_l,0}$ 和协方差
$$
\hat{\Sigma}_{f_l,0} = \sum_{j=1}^{J} w_j\, (\theta_j - \hat{\mu}_{f_l,0})(\theta_j - \hat{\mu}_{f_l,0})^{\top}.
$$
2) 递归更新:每获得 $J_a$ 个新样本就批量更新一次,降低特征分解开销($O(n^3)$)。令步长为 $\gamma_{\mathrm{iter}}$,则
$$
\hat{\Sigma}_{f_l,\mathrm{iter}} = \hat{\Sigma}_{f_l,\mathrm{iter-1}} \\
\quad + \; \gamma_{\mathrm{iter}} \Bigg[ \frac{1}{J_a} \sum_{j=1}^{J_a}
(\theta_j - \hat{\mu}_{f_l,\mathrm{iter-1}})(\theta_j - \hat{\mu}_{f_l,\mathrm{iter-1}})^{\top}
\; - \hat{\Sigma}_{f_l,\mathrm{iter-1}} \Bigg].
$$
这是标准的递归平均思想,用 $\gamma$ 平衡新旧信息。
### 7. 实验结论(摘要)
- 高维(如 236 维水文层析)问题中,需要较多退火步数(如约 40)才能从先验到后验;
- 标准 pCN 在较早阶段接受率就显著下降,移动步骤失效;
- cov-pCN 的接受率下降更慢,多数退火步骤中仍能有效“移动”粒子;
- 在难问题上,cov-pCN 的均值误差、失配与不确定性更优。
总之:在 SMC 中引入自适应协方差的 cov-pCN,通常比标准 pCN 更稳健高效,尤其是需要大量退火步骤的复杂高维反问题。
$$