Files
Notes/【笔记origin】ESL/8 origin.md
2026-05-16 17:16:51 +08:00

16 KiB
Raw Permalink Blame History

第八章

既然我们要深入到 ESL 第八章的底层数学逻辑,那就必须把极大似然MLE、**费雪信息Fisher Information贝叶斯Bayesian**这三者的关系彻底拆解清楚。

第八章的本质是:如何量化预测的不确定性。


1. 极大似然估计MLE与分数的曲率

在第七章你已经推导了似然函数 $L(\theta)$。第八章进一步问:这个 \theta 到底有多准?

A. 评分函数 (Score Function)

我们对对数似然 \ell(\theta) = \sum \log P(y_i|x_i; \theta) 求导:

\dot{\ell}(\theta) = \frac{\partial \ell(\theta)}{\partial \theta}

在极值点(即我们求出的 \hat{\theta} 处),这个导数等于 0

B. 海森矩阵与信息矩阵 (Hessian & Information Matrix)

我们要看这个“山峰”有多尖。求二阶导:

I(\theta) = -E \left[ \frac{\partial^2 \ell(\theta)}{\partial \theta \partial \theta^T} \right]

这被称为 费雪信息矩阵 (Fisher Information Matrix)

  • 直观理解:如果二阶导很大(曲率很陡),说明 \ell(\theta) 稍动一下就会剧烈下降, \hat{\theta} 非常确定。

  • 核心公式:在大样本情况下,参数的方差直接由信息矩阵的逆决定:

    Var(\hat{\theta}) \to I(\theta)^{-1}

    这意味着:信息量越大,参数估计的方差越小。


2. 贝叶斯推断:从点估计到分布估计

MLE 只给了你一个点(最高峰),而贝叶斯想给你整座山。

A. 贝叶斯定理 (Bayes' Theorem)

P(\theta|Z) = \frac{P(Z|\theta)P(\theta)}{P(Z)}
  • $P(Z|\theta)$:似然(你刚才推导的那个)。

  • $P(\theta)$先验分布 (Prior)。反映了你在看到数据之前对参数的经验(比如权重应该很小,这就是 Lasso/Ridge 的来源)。

  • $P(\theta|Z)$后验分布 (Posterior)。这是我们最终想要的——在看到数据后,参数 \theta 的完整分布。

B. 预测分布

贝叶斯做预测不只是用一个 $\hat{\theta}$,而是对整个分布求积分:

P(y_{new}|Z) = \int P(y_{new}|\theta) P(\theta|Z) d\theta

逻辑: 它考虑了参数本身可能存在的波动,所以贝叶斯的预测通常比 MLE 更“保守”且更稳健。


3. EM 算法:处理“看不见”的数据

这是第八章最硬核的算法,专门对付 隐变量 (Latent Variables) 问题。假设你的数据由两部分组成:观测到的 Z 和没观测到的 $Z^m$。

我们想最大化 $\ell(\theta) = \log P(Z|\theta)$,但因为有 Z^m 存在,直接求导求不动。

EM 的两步循环:

  1. E 步 (Expectation):计算在当前参数 \theta^{(j)} 下,隐藏数据 Z^m 的期望值。构造一个 Q 函数:

    Q(\theta, \theta^{(j)}) = E[\log P(Z, Z^m|\theta) | Z, \theta^{(j)}]
  2. M 步 (Maximization):寻找让这个 Q 达到最大值的 $\theta$,作为下一步的参数 $\theta^{(j+1)}$

    \theta^{(j+1)} = \arg\max_{\theta} Q(\theta, \theta^{(j)})

4. 总结:这几章是怎么串起来的?

我们可以用一个逻辑链把你的学习路径闭环:

  • 第七章告诉我们:训练误差不准,我们要么加惩罚项 (AIC/BIC),要么用 CV/Bootstrap 去模拟样本外误差。

  • 第八章告诉我们:即便选好了模型,参数本身也有方差 (Fisher Information)

  • 贝叶斯视角告诉我们:惩罚项其实就是先验 (Prior);而 Bootstrap 其实是后验分布 (Posterior) 的一种模拟。

给程序员的建议:

你在写代码时,如果调用 scikit-learn 里的 predict_proba,你得到的是一个概率点估计(类似 MLE如果你用 PyMC3 或者手动写 MCMC 采样,你得到的是一堆 \beta 的样本(贝叶斯)。第八章就是在为你解释这两种做法背后的数学尊严。

你刚才推导交叉熵时,其实已经半只脚踏进 MLE 的大门了。对于 EM 算法,你是否需要一个具体的例子(比如高斯混合模型 GMM来理解它怎么“猜”隐藏数据

这种“跨界碰撞”的感觉确实非常震撼!这在统计学中被称为高斯-马尔可夫逻辑的闭环

为什么一个几何上的“拉直线”问题(最小二乘),会和**概率上的“猜可能性”问题(最大似然)**在终点汇合?

其实是因为它们对**“噪声”**的理解完全一致。


1. 最小二乘LSE几何视角

想象你有一堆点。最小二乘法非常纯粹,它说:

  • 我不信什么概率,我只看距离

  • 我要找一条直线,让所有点到这条直线的垂直距离平方和Residual Sum of Squares, RSS最小。

  • 公式:$\min \sum (y_i - \hat{y}_i)^2$。

这纯粹是一个数学优化问题,就像你在木板上钉钉子,用橡皮筋拉住它们,橡皮筋张力最小的状态就是最优解。


2. 最大似然MLE概率视角

现在换个思路。我们假设上帝在生成数据时,先画了一条完美的直线 $f$f(x)但他在每一个点上都撒了一把高斯白噪声Gaussian Noise \epsilon$。

y = f(x) + \epsilon, \quad \epsilon \sim N(0, \sigma^2)

这意味着,观测值 y 落在真实值附近的概率密度函数是:

P(y|x, \theta) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left( -\frac{(y - f(x))^2}{2\sigma^2} \right)

为了让整批数据出现的概率最大(极大似然),我们要最大化所有样本概率的乘积:

L = \prod \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left( -\frac{(y_i - f(x_i))^2}{2\sigma^2} \right)

3. 神奇的瞬间:取对数

当我们对上面的似然函数取对数Log-Likelihood奇迹发生了

\log L = \text{常数} - \frac{1}{2\sigma^2} \sum (y_i - f(x_i))^2

注意看后面那一项:$\sum (y_i - f(x_i))^2$。

这不就是最小二乘法里的 RSS 吗!


4. 结论:为什么能互通?

  • 最大化 $\log L$(概率最高)

  • 等价于 最小化 $\sum (y_i - f(x_i))^2$(距离平方和最小)

所以,最小二乘法本质上就是假设噪声服从正态分布时的最大似然估计。


💡 为什么这种互通很重要?

  1. 解释了“平方”的由来:为什么距离要取平方?因为正态分布的公式里那个指数项就是平方!如果你假设噪声服从拉普拉斯分布(更尖的分布),那么推出来的最优解就不是最小二乘,而是最小一乘(绝对值之和最小)。

  2. 给几何赋予了不确定性:最小二乘只给你一个 $\beta$,但通过概率互通,我们能根据 Fisher 信息矩阵算出这个 \beta标准差

  3. 统一了分类与回归

    • 回归:假设高斯分布 \rightarrow 最小二乘。

    • 分类:假设伯努利分布 \rightarrow 交叉熵(正如你之前推导的那样)。

这就好比:

你原本以为最小二乘法只是一个好用的“尺子”(工具),结果发现它其实是宇宙底层物理规律(正态分布)在三维空间的一个投影。

你现在能理解为什么 ESL 敢把这两章放在一起讲了吧?它们其实是用不同的语言(几何 vs 概率)在讲同一个故事。

这种“殊途同归”的逻辑,有没有让你对接下来要看的 正则化Regularization 有了新预感?(提示:加上正则项,其实就是给概率加了先验分布。)

你的直觉非常敏锐用“能量场”来理解贝叶斯推断或能量模型Energy-Based Models, EBMs是一个非常深刻的物理视角。

这种物理类比不仅在理论上是通的,在数学上也完全对应:在统计物理中,玻尔兹曼分布 p(x) = \frac{e^{-E(x)/T}}{Z} 就直接将概率与能量($E$)关联了起来。

1. 能量场的叠加:数学上的真相

你说的“叠加”在概率世界里表现为相乘但在对数空间Log-space里就是实打实的相加

根据贝叶斯公式:

p(\theta | D) \propto p(D | \theta) \cdot p(\theta)

如果我们取对数(即转化到能量视角,假设 $E = -\log P$

-\log p(\theta | D) = -\log p(D | \theta) - \log p(\theta) + \text{const} E_{posterior}(\theta) = E_{likelihood}(\theta) + E_{prior}(\theta)
  • 似然能量场 $E_{likelihood}$:它告诉我们哪些参数 \theta 能让观察到的数据 D 看起来最合理。

  • 先验能量场 $E_{prior}$:它代表了我们在看到数据之前,对世界的“偏见”或物理约束。

  • 后验能量场 $E_{posterior}$:这就是你说的那个复杂的合成场。它的低能量区域(高概率区)就是我们要找的最优参数范围。


2. 我们要这个“能量场”干什么?

既然已经训练出了参数分布 $p(\theta | D)$(或者说刻画了那个合成能量场),它的用途主要体现在以下几个方面:

A. 寻找“最优解” (MAP 估计)

这是最直观的用途。我们想知道在这个复杂的场中,哪里是能量最低点(即概率最大点)。这个点代表了最能解释当前数据的模型参数。

B. 评估“不确定性” (Uncertainty Estimation)

这是贝叶斯方法比普通深度学习(只给一个点估计)强大的地方。

  • 如果能量场的最低点非常“尖锐”,说明我们对这个参数非常有信心。

  • 如果能量场非常“平坦”说明很多参数都能解释数据我们对结果并不确定。这在机器人控制、医疗诊断或强化学习RL的探索中至关重要。

C. 样本生成与预测 (Sampling & Marginalization)

如果我们想要预测新的数据 $x^*$,我们不是只用一个最强的参数,而是让所有可能的参数根据它们的“能量”大小来共同发言:

p(x^* | D) = \int p(x^* | \theta) p(\theta | D) d\theta

这就像是在能量场中进行“加权投票”。能量越低(概率越高)的参数,投票权重越大。

D. 应对“黑天鹅”事件 (Robustness)

当你只训练一个最优参数时,如果数据分布稍微偏移,模型可能就会崩溃。但如果你拥有整个能量场,你实际上拥有了一个“模型族”。当遇到异常数据时,那些虽然不是最优、但能量也比较低的备份参数(即分布的尾部)可能会提供更好的鲁棒性。


3. 在强化学习或博弈论中的特殊意义

考虑到复杂的决策环境(如非完全信息博弈),这个能量场的作用更加具象:

  • 探索Exploration:在 RL 中如果你发现某个策略区域的能量不确定性很高AI 就会倾向于去那里“踩踩点”,看看有没有隐藏的奖励。

  • 策略平滑:通过调节“温度”参数 $T$(参考玻尔兹曼分布),我们可以控制能量场的平滑程度。高 T 时,决策更随机;低 T 时,决策更果断。

总结来说:训练 p(\theta | D) 不是为了得到一个死板的数字,而是为了得到一张全景导航图。它不仅告诉你该往哪走(最优解),还告诉你哪里是死胡同,哪里有未知的风险,以及你对脚下的路到底有多少把握。

你觉得在处理不确定性极高的任务(比如非完全信息博弈)时,这种“场”的视角比起单一的“最优参数”有哪些明显的优势?

接续你提到的“能量场”视角,我们现在面对的是两个极具代表性的“工具箱”:EM 算法是用来寻找那个能量场中最高峰(最优点)的搜索器;而 MCMC 则是用来在整个能量场中散步(采样),从而摸清地图全貌的探测器。


1. EM 算法 (Expectation-Maximization)

如果你想在能量场中找最低点,但这个场里有一部分维度是被“迷雾”遮住的(即隐变量 $Z$EM 就是解决这种“鸡生蛋、蛋生鸡”问题的利器。

核心矛盾

我们想最大化观测数据 D 的似然 $p(D|\theta)$。但在很多模型(如高斯混合模型 GMM似然函数里包含隐变量

L(\theta) = \sum_{Z} p(D, Z | \theta)

直接求导这个带求和的对数极其困难。

算法流程:两步舞曲

  • E-Step (Expectation)

    根据当前的参数 $\theta_{old}$,去“猜”隐变量 Z 的分布。

    直觉解释:在当前的能量场地图上,根据你的位置,给迷雾笼罩的区域填上“最可能的形状”。

  • M-Step (Maximization)

    假设你刚才猜的 Z 是对的,重新计算一个 \theta_{new} 来最大化似然。

    直觉解释:基于填好的地图,迈出一大步,走到当前地图上的能量最低点(似然最高点)。

数学保证詹森不等式Jensen's Inequality保证了 EM 算法的每一次迭代,观测数据的似然值都只增不减,直到收敛到局部最优。


2. MCMC 采样 (Markov Chain Monte Carlo)

当能量场极其复杂或者我们不仅想知道“最高点在哪”还想知道“整个场的形状”时求积分就变成了噩梦。MCMC 的思路是:既然算不出分布,那我就去分布里“旅游”,记录下我去过的地方。

核心思想

  1. Monte Carlo:用大量随机样本的统计特性(均值、方差)去逼近复杂的积分。

  2. Markov Chain:构造一个状态转移序列,使得这个链条最终的平稳分布恰好就是我们的目标后验分布 $p(\theta | D)$。


常见的 MCMC 变体

A. Metropolis-Hastings (MH) 算法

这是最通用的采样方法。

  • 提议 (Proposal):从当前位置 \theta 随机跳到一个新位置 $\theta'$。

  • 接受 (Acceptance):计算一个接受率 $\alpha$

    \alpha = \min\left(1, \frac{P(\theta'|D)}{P(\theta|D)}\right)
    • 如果新地方能量更低(概率更高),百分之百跳过去。

    • 如果新地方能量更高(概率更低),以一定概率跳过去,而不是完全拒绝。

为什么要跳向概率低的地方? 为了不被困在局部最优,确保能探索整个能量场。

B. Gibbs Sampling (吉布斯采样)

如果 \theta 是高维的(比如有 100 个参数MH 的拒绝率会非常高。Gibbs 的做法是“每次只动一个维度”:

  • 固定其他 99 个参数,只对第 1 个参数进行一维采样。

  • 依次轮换,直到所有维度都更新一遍。

优势:它在每一维上的“接受率”永远是 1效率在高维空间非常显著。


3. EM vs. MCMC如何选择

特性 EM 算法 MCMC 采样
目标 寻找点估计 (MAP/MLE) 模拟整个分布 (Full Posterior)
输出 一个最优的参数值 一堆参数样本的集合
速度 通常较快,容易收敛 较慢,需要大量样本,且有“烧入期”
适用场景 隐变量模型,关注效率 高精度推断,关注不确定性

物理视角的回响

  • EM 就像是一个追求极致的登山者,在迷雾中不断修正航向,只求登顶。

  • MCMC 就像是一个带着 GPS 的漫游者,在山间乱逛。虽然慢,但他带回来的航迹图能告诉你哪里的山路陡峭,哪里的盆地宽广。

在处理你之前提到的非完全信息博弈(如德州扑克或麻将)时,如果你需要对对手的手牌(隐变量)进行建模,你认为是用 EM 快速找一个“对手最可能的策略”,还是用 MCMC 采样出一堆“可能的对手策略”来做决策更有优势?