Skip to content

第7章 贝叶斯分类器 ​

🎯 学习目标 ​

  • 理解贝叶斯决策论的基本原理和最优性
  • 掌握极大似然估计和最大后验估计的区别
  • 理解朴素贝叶斯分类器的"朴素"假设及其影响
  • 掌握拉普拉斯修正处理零概率问题
  • 了解半朴素贝叶斯和贝叶斯网的基本思想
  • 掌握 EM 算法处理含隐变量模型的基本思路

7.1 贝叶斯决策论 ​

📐 贝叶斯定理

贝叶斯定理是贝叶斯学派的基石,描述了在获得新证据后如何更新我们的信念。

贝叶斯定理 ​

P(c|x)=P(x|c)⋅P(c)P(x)
符号含义
P(c|x)后验概率
P(x|c)似然
P(c)先验概率
P(x)证据因子

核心思想

后验概率 = (似然 × 先验) / 证据。通过观察数据 x,更新对类别 c 的认知。

贝叶斯判定准则 ​

为最小化总体风险,贝叶斯判定准则选�使后验概率最大的类别:

h∗(x)=arg⁡maxcP(c|x)

等价于:

h∗(x)=arg⁡maxcP(x|c)⋅P(c)

✓ 优势

  • 理论最优(最小化期望风险)
  • 融合先验知识
  • 可解释性强

⚠️ 挑战

  • 需要知道先验概率
  • 需要估计类条件概率
  • 计算复杂度可能很高

7.2 极大似然估计 ​

📊 参数估计

极大似然估计(MLE)是频率学派估计参数的标准方法:选择使观测数据出现概率最大的参数。

似然函数与对数似然 ​

似然函数:

L(θ)=P(D|θ)=∏iP(xi|θ)

对数似然:

ℓ(θ)=log⁡L(θ)=∑ilog⁡P(xi|θ)

最大化得到参数估计:

θ^MLE=arg⁡maxθℓ(θ)

💡 为什么用对数?

将连乘变为求和,便于计算和优化,且不改变最优解。

MLE vs MAP ​

极大似然估计 (MLE)最大后验估计 (MAP)
公式θ^MLE=arg⁡maxP(D|θ)θ^MAP=arg⁡maxP(θ|D)
学派频率学派观点贝叶斯学派观点
先验不考虑先验知识融合先验 P(θ)
适用数据充足时效果好数据稀少时更稳健

7.3 朴素贝叶斯分类器 ​

🎭 "朴素"的假设

朴素贝叶斯分类器基于一个强假设:属性条件独立性假设。虽然这个假设在现实中往往不成立,但朴素贝叶斯在实践中表现出奇地好!

条件独立性假设 ​

完整的类条件概率:

P(x|c)=P(x1,x2,…,xd|c)

参数数量随维度指数增长!

通过朴素假设简化后:

P(x|c)=∏i=1dP(xi|c)

参数数量线性增长!

✓ 为什么有效?

  • 降低模型复杂度,避免过拟合
  • 所需训练数据量大幅减少
  • 训练和预测都非常快速
  • 即使假设不完全成立,分类效果仍然不错

⚠️ 局限性

  • 无法表达属性间的相关性
  • 预测的概率值不够准确
  • 特征高度相关时性能下降

拉普拉斯修正 ​

当训练集中某个属性值在某个类别下从未出现时,会导致零概率问题:整个后验概率都会变成 0!

问题:如果某个 P(xi|c)=0,则 P(c|x)=0×…=0。一个零值毁掉整个结果!

解决方案:拉普拉斯修正(加1平滑):

P^(xi|c)=Nic+1Nc+Ni

确保所有概率都非零。

朴素贝叶斯分类交互演示 ​

经典的"打网球"问题:根据天气条件预测是否适合打网球,理解贝叶斯公式的计算过程。

测试样本

预测结果

打球 = 是76.8%
76.8%
打球 = 否23.2%
最终预测
✓
适合打球

训练数据集 (14 条)

天气温度湿度风力打球
晴高高弱否
晴高高强否
阴高高弱是
雨适中高弱是
雨低正常弱是
雨低正常强否
阴低正常强是
晴适中高弱否
晴低正常弱是
雨适中正常弱是
晴适中正常强是
阴适中高强是
阴高正常弱是
雨适中高强否

💡 朴素贝叶斯公式

P(c|x) = P(c) × ∏ᵢ P(xᵢ|c) / P(x)
  • 条件独立假设:假设特征之间相互独立
  • 拉普拉斯平滑:避免零概率问题,P(x|c) = (count + 1) / (total + N)
  • 归一化:使后验概率和为1

7.4 半朴素贝叶斯分类器 ​

🔓 放松独立性假设

半朴素贝叶斯分类器适当考虑一部分属性间的相互依赖信息,在模型复杂度和分类性能之间寻求平衡。

方法全称说明
SPODESuper-Parent ODE所有属性依赖于同一个超父属性
TANTree Augmented Naive Bayes属性间形成树状依赖结构
AODEAveraged ODE集成多个SPODE模型

核心思想

在朴素贝叶斯(完全独立)和贝叶斯网(任意依赖)之间找到平衡点。

7.5 贝叶斯网 ​

🕸️ 概率图模型

贝叶斯网(Bayesian Network)借助有向无环图(DAG)来刻画属性之间的依赖关系,并使用条件概率表(CPT)来描述属性的联合概率分布。

贝叶斯网的组成 ​

1. 结构(网络拓扑):

  • 节点表示随机变量
  • 有向边表示依赖关系
  • 必须是有向无环图(DAG)
  • 父节点影响子节点

2. 参数(CPT):

  • 每个节点有条件概率表
  • P(X|Parents(X))
  • 根节点只有先验概率
  • 通过数据学习参数

联合概率分解:

P(x1,…,xn)=∏i=1nP(xi|Parents(xi))

推断与学习 ​

推断问题学习问题
目标给定证据变量的观测值,计算查询变量的后验概率分布从数据中学习贝叶斯网的结构和参数
方法精确推断:变量消除;近似推断:吉布斯采样参数学习:MLE/MAP;结构学习:评分搜索

7.6 EM 算法 ​

🔄 处理隐变量的利器

EM 算法(Expectation-Maximization)是一种迭代优化算法,专门用于含隐变量(latent variable)的概率模型的参数估计。当数据不完整或存在未观测变量时,极大似然估计无法直接求解,EM 算法提供了一种优雅的解决方案。

为什么需要 EM 算法? ​

在很多实际问题中,观测数据 X 背后存在未观测到的隐变量 Z。例如:

  • 高斯混合模型(GMM):知道数据来自多个高斯分布的混合,但不知道每个样本具体来自哪个分布
  • 缺失数据:部分属性值缺失

此时对数似然函数含有对隐变量的求和(或积分),难以直接优化:

LL(Θ|X)=ln⁡P(X|Θ)=ln⁡∑ZP(X,Z|Θ)

对数内部的求和使得我们无法将对数直接作用到各个分量上,传统的 MLE 求导令其为零的方法失效了。

算法步骤 ​

EM 算法通过交替执行两个步骤来迭代求解:

E 步(Expectation):基于当前参数 Θt,计算隐变量 Z 的后验分布,并求期望:

Q(Θ|Θt)=EZ|X,Θt[ln⁡P(X,Z|Θ)]

M 步(Maximization):最大化 Q 函数,更新参数:

Θt+1=arg⁡maxΘQ(Θ|Θt)

重复 E 步和 M 步,直到参数收敛(即 ∥Θt+1−Θt∥<ϵ)。

💡 直观理解:"鸡生蛋,蛋生鸡"

以高斯混合模型为例理解 EM 算法的思路:

  • 如果知道每个样本属于哪个高斯分布(隐变量已知),就能直接用 MLE 估计每个高斯的均值和方差 → 这就是 M 步
  • 如果知道每个高斯分布的参数,就能计算每个样本属于各个高斯分布的概率 → 这就是 E 步

两者互相依赖,EM 算法的巧妙之处在于:先猜一个初始参数,然后交替进行"猜归属"和"更新参数",逐步逼近最优解。

EM 算法的一般形式 ​

将 E 步和 M 步合并,EM 算法可以用一个统一的公式表达:

Θt+1=arg⁡maxΘ∫ZP(Z|X,Θt)ln⁡P(X,Z|Θ)dZ

其中:

  • P(Z|X,Θt) 是 E 步计算的隐变量后验分布(基于当前参数)
  • ln⁡P(X,Z|Θ) 是完整数据的对数似然
  • 积分(或求和)对隐变量取期望,得到 Q 函数
  • M 步对 Θ 最大化该期望
📖 从 Jensen 不等式理解 EM

EM 算法的理论基础来自 Jensen 不等式。由于 ln 是凹函数,对任意分布 q(Z) 有:

ln⁡P(X|Θ)=ln⁡∑Zq(Z)P(X,Z|Θ)q(Z)≥∑Zq(Z)ln⁡P(X,Z|Θ)q(Z)

右侧称为证据下界(ELBO)。当 q(Z)=P(Z|X,Θt) 时,不等式取等号,此时最大化 ELBO 等价于最大化 Q 函数。因此 EM 算法本质上是在逐步抬高似然函数的下界。

应用示例:高斯混合模型(GMM) ​

高斯混合模型是 EM 算法最经典的应用。假设数据由 K 个高斯分布混合而成:

P(x)=∑k=1Kαk⋅N(x|μk,Σk)

其中 αk 为混合系数(∑kαk=1),μk 和 Σk 分别为第 k 个高斯分布的均值和协方差矩阵。

隐变量 zj∈{1,2,…,K} 表示样本 xj 属于哪个高斯分布。

GMM 的 E 步:计算每个样本属于每个高斯分布的后验概率("责任"):

γjk=P(zj=k|xj,Θt)=αk⋅N(xj|μk,Σk)∑l=1Kαl⋅N(xj|μl,Σl)

GMM 的 M 步:基于后验概率更新各高斯分布的参数:

μknew=∑j=1Nγjkxj∑j=1Nγjk,Σknew=∑j=1Nγjk(xj−μknew)(xj−μknew)T∑j=1Nγjk,αknew=∑j=1NγjkN

💡 GMM 参数更新的直觉

  • 均值 μk:所有样本的加权平均,权重为样本属于该分布的概率
  • 协方差 Σk:加权协方差矩阵
  • 混合系数 αk:所有样本对该分布的平均归属概率

本质上就是"软分配"——每个样本以不同概率被分配到各个高斯分布,然后按权重统计每个分布的参数。

收敛性 ​

⚠️ 收敛保证与局限

  • ✅ 似然单调递增:每次迭代后 LL(Θt+1)≥LL(Θt),算法一定会收敛
  • ⚠️ 局部最优:EM 算法只能保证收敛到局部最优解,不保证全局最优
  • 💡 实践建议:多次随机初始化,取似然最大的结果;或使用 K-Means 等方法提供较好的初始值

📝 本章小结 ​

总结

  • ✅ 贝叶斯定理提供了从先验概率和似然得到后验概率的原理性框架
  • ✅ 贝叶斯判定准则在理论上是最优的,最小化期望风险
  • ✅ 朴素贝叶斯通过属性条件独立性假设大幅简化计算,虽然假设强但实际效果好
  • ✅ 拉普拉斯修正是处理零概率问题的标准方法,确保所有概率非零
  • ✅ 半朴素贝叶斯和贝叶斯网在模型复杂度和性能之间寻求更好的平衡
  • ✅ EM 算法通过交替执行 E 步和 M 步,解决含隐变量模型的参数估计问题
  • ✅ 贝叶斯方法特别适合小样本场景和需要融合先验知识的情况

基于周志华《机器学习》教材