# 第八章 既然我们要深入到 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 采样出一堆“可能的对手策略”来做决策更有优势? ---