本文是周志华《机器学习》(西瓜书)第7章 贝叶斯分类器(Bayesian)的学习笔记,涵盖本章所有核心知识点,配有通俗类比与公式推导。
1贝叶斯决策论
贝叶斯决策论是概率框架下实施决策的基本方法。对于分类任务,在所有相关概率已知的理想情况下,最优分类器由贝叶斯公式给出:
📐 公式
P(c∣x)=P(x)P(x∣c)P(c)
- P(c):**先验概率**(在不知道样本长相的时候,猜它是 c 类的概率)
- P(x∣c):**类条件概率**(也叫"似然",已知是 c 类,样本长 x 样的概率)
- P(c∣x):**后验概率**(看到样本 x 后,它是 c 类的更新后的概率)
贝叶斯最优分类器选择后验概率最大的类:
📐 公式
h∗(x)=argc∈YmaxP(c∣x)
最小风险贝叶斯决策
引入决策风险后,选择条件风险最小的类:
📐 公式
R(ci∣x)=j=1∑NλijP(cj∣x)
其中 λij 是将 cj 误判为 ci 的损失。目标是 argminR(ci∣x)。
🍉 通俗类比
贝叶斯决策像医生看病。来了一个病人(样本 x),医生脑子里先有一个”这病常见不常见”的先验(P(c)),观察症状后更新为后验概率(P(c∣x)),最终选可能性最大的那个诊断。如果误诊某病的代价特别大(比如漏诊癌症),则引入风险权重(最小风险决策)。
2极大似然估计
现实中 P(x∣c) 未知。假设它服从某种参数化形式(如正态分布),用训练数据来估计参数 θ。
极大似然估计(MLE):选择使得观测数据出现概率最大的参数:
📐 公式
θ^MLE=argθmaxP(Dc∣θ)=argθmaxx∈Dc∏P(x∣θ,c)
为计算方便,取对数:
📐 公式
LL(θ)=x∈Dc∑lnP(x∣θ,c)
⚠️ 注意事项
MLE 严重依赖所假设的概率分布形式。如果假设正态分布而实际数据不是正态分布,MLE 的结果就会偏差很大。这就是所谓的**”模型假设偏误”**。
3朴素贝叶斯分类器
直接估计 P(x∣c)=P(x1,x2,…,xd∣c) 需要估计指数级参数(2d 量级)。
属性条件独立性假设(naive 的真谛):
📐 公式
P(x∣c)=i=1∏dP(xi∣c)
于是决策简化为:
📐 公式
hnb(x)=argcmaxP(c)i=1∏dP(xi∣c)
平滑:拉普拉斯修正
如果某属性值在训练集中从未出现,∏P(xi∣c)=0 会导致偏差。用拉普拉斯修正:
📐 公式
P^(c)=∣D∣+N∣Dc∣+1,P^(xi∣c)=∣Dc∣+Ni∣Dc,xi∣+1
🍉 通俗类比
朴素贝叶斯就像相亲评估——假设身高、长相、学历、收入相互独立(虽然现实不是这样),每个特征单独打分,乘起来就是总分。虽然独立性假设很”天真”(naive),但在很多实际场景中效果出乎意料地好。
💡 技巧提示
朴素贝叶斯之所以”naive”还能好用,因为它不要求估计准确的后验概率,只需要后验概率的相对顺序正确。即使概率估计有偏,只要最大值对应的类是对的就行。
4半朴素贝叶斯分类器
放松完全独立假设,允许每个属性最多依赖一个父属性(ODE: One-Dependent Estimator)。
| 方法 |
结构 |
如何选父属性 |
| SPODE |
所有属性依赖同一个超父 |
由专家指定超父 |
| TAN |
属性构成最大带权生成树 |
条件互信息最大 |
| AODE |
每个属性轮流当超父,集成 |
对多个 SPODE 加权平均 |
5贝叶斯网
用**有向无环图(DAG)**刻画属性间的依赖关系,是半朴素贝叶斯向完全概率图模型的推广。
📐 公式
P(x1,…,xd)=i=1∏dP(xi∣πi)
其中 πi 是节点 xi 的父节点集合。
三个基本结构
| 结构 |
形式 |
独立性 |
| 同父结构 |
x1←x3→x2 |
已知 x3 时 x1⊥x2 |
| V 型结构 |
x1→x3←x2 |
x3 未知时 x1⊥x2;已知 x3 时 反而依赖 |
| 顺序结构 |
x1→x3→x2 |
已知 x3 时 x1⊥x2 |
⚠️ 注意事项
V 型结构是反直觉的:x1→x3←x2,当 x3 未知时 x1 和 x2 独立,但一旦知道了 x3(孩子),两个原本独立的父母反而变得相关了。这叫做”解释消除”(explaining away)。
学习与推断
- 结构学习:搜索 + 打分(BIC、AIC、MDL)
- 参数学习:给定结构,用 MLE 或贝叶斯估计训练条件概率表
- 推断:精确推断(变量消去、团树)或近似推断(MCMC、变分)
💡 技巧提示
贝叶斯网的学习是 NP 难的,因为可能的结构数量随节点数超指数增长。
6EM 算法
当存在隐变量(未观测变量)时,极大似然估计不再有闭式解。EM 算法提供一个迭代求解框架。
算法:EM(Expectation-Maximization)
输入:观测变量 X,隐变量 Z,联合分布 P(X,Z|θ)
输出:模型参数 θ
E 步(期望):以当前参数 θ^t 为基础,计算隐变量的后验分布
Q(θ | θ^t) = E_{Z|X,θ^t}[ln P(X,Z|θ)]
M 步(最大化):最大化 Q 函数,更新参数
θ^{t+1} = arg max_θ Q(θ | θ^t)
反复迭代直到收敛。
🍉 通俗类比
EM 算法就像两人分账。你不知道谁赚了多少(隐变量未知),但你知道总账(观测数据)。先随便猜一个分成比例(E 步),根据这个比例重新算每个人的预期收入并更新分成(M 步),反复迭代直到双方满意。
EM 在高斯混合聚类中的应用
📐 公式
E 步:γji=∑k=1Kαk⋅p(xj∣μk,Σk)αi⋅p(xj∣μi,Σi)(第 j 个样本属于第 i 个分量的概率)
M 步:μi=∑jγji∑jγjixj,Σi=∑jγji∑jγji(xj−μi)(xj−μi)⊤,αi=m1∑jγji
7本章总结
📝 考试高频考点
- 贝叶斯公式:先验 × 似然 / 证据 = 后验
- 朴素贝叶斯的独立性假设:为什么它”错误”却又”有效”
- 拉普拉斯修正:防止零概率的平滑技巧
- 半朴素贝叶斯的三种结构:SPODE / TAN / AODE
- 贝叶斯网的三个基本结构:尤其是 V 型结构的反直觉独立性
- EM 算法的 E 步 M 步:特别是 GMM 中 E/M 步的具体公式