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

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