"概率论不过是把常识用数学公式表达出来。"
"Probability theory is nothing but common sense reduced to calculation."
🐍Python工具箱
matplotlib.pyplot.contour()绘制等高线
matplotlib.pyplot.contourf()绘制填充等高线
mpl_toolkits.mplot3d.Axes3D()创建3D坐标系
Axes3D.plot_surface()绘制3D曲面
statsmodels.nonparametric.kde.KDEMultivariate()多元KDE
本章概览
🎯 核心内容
- • 二元贝叶斯推断公式
- • 二元似然、先验、联合、证据
- • 二元后验概率3D曲面
- • 用两个特征分类鸢尾花
- • 对比一元和二元贝叶斯推断
📐 关键公式
- • 后验 = 联合 / 证据
- • 联合 = 似然 × 先验
- • 证据 = ∫∫ 联合 dx₁dx₂
- • 后验 ∝ 似然 × 先验
- • MAP分类决策边界
二元贝叶斯推断:更精准的分类
Bivariate Bayesian Inference: More Accurate Classification
在第18章和第19章,我们只用鸢尾花花萼长度这一个特征进行贝叶斯分类。 本节将探讨如何使用花萼长度和花萼宽度两个特征进行贝叶斯分类, 这就是二元贝叶斯推断 (Bivariate Bayesian Inference)。
🤔 为什么要用两个特征?
• 三个类别有重叠区域
• Versicolor和Virginica难以区分
• 分类准确率受限
• 增加一个维度的信息
• 类别区分更清晰
• 分类准确率提高
📊 从一元到二元:公式对比
• 二元:(X₁, X₂) ∈ ℝ²(二维)
• 二元:曲面(3D图)
• 二元:需要二元KDE
• 只是变量从x到(x₁,x₂)
🔵 二元似然概率 fX₁,X₂|Y(x₁,x₂|Ck)
Setosa类的二元PDF
Versicolor类的二元PDF
Virginica类的二元PDF
• 对每个类别的数据进行二元核密度估计
• 得到平滑的二元概率密度曲面
• 需要选择带宽参数h
• 假设服从二元高斯分布
• 估计均值向量μ和协方差矩阵Σ
• 使用二元高斯PDF公式
🟢 先验概率 pY(Ck)
🟣 二元联合概率 fX₁,X₂,Y(x₁,x₂,Ck)
• 将似然概率曲面按先验概率缩放
• 对于鸢尾花数据,缩放系数 = 1/3
• 三个类别的联合曲面高度相对关系保持不变
• 联合曲面比似然曲面低(乘以1/3)
🟠 二元证据因子 fX₁,X₂(x₁,x₂)
fX₁,X₂|Y(x₁,x₂|C₁) × (1/3) +
fX₁,X₂|Y(x₁,x₂|C₂) × (1/3) +
fX₁,X₂|Y(x₁,x₂|C₃) × (1/3)
• 只依赖于特征(x₁,x₂)
• 归一化常数
• 保证后验概率之和=1
• 在(x₁,x₂)处的高度求和
• 形成新的证据曲面
• 曲面积分 = 1
🔴 二元后验概率 fY|X₁,X₂(Ck|x₁,x₂)
• 比较大小,选择最大的
• 这就是最大后验概率 (MAP) 分类
fY|X₁,X₂(C₁|x₁,x₂) + fY|X₁,X₂(C₂|x₁,x₂) + fY|X₁,X₂(C₃|x₁,x₂) = 1
0 ≤ fY|X₁,X₂(Ck|x₁,x₂) ≤ 1, 对所有k
后验概率值越大,分类置信度越高
📊 交互式可视化:从2D到3D
• 支持旋转和缩放
• 实时参数调整
• 多视角对比
• 理解概率关系
• 体验分类过程
• 决策边界位置
🎲 似然概率:二维特征的概率密度
Likelihood: Bivariate PDF (Sepal Length & Width)
选择类别
视图模式
带宽 h
视角
图1:似然概率 PDF 曲面 fX₁,X₂|Y(x₁,x₂|C1)
• 二维高斯核密度估计
• fX₁,X₂|Y(x₁,x₂|Ck)
• 曲面下体积 = 1
• 偏积分得边缘分布
• 等高线:平面投影
• 三类对比:区域重叠
• 交互旋转:多角度观察
• 带宽调节:平滑度控制
🎯 联合概率:可以作为分类标准
Joint Probability: Classification Criterion
选择类别
视图模式
带宽 h
视角
📐 公式1:联合概率计算
联合概率曲面的体积 = pY(Ck) = 1/3
图5:联合概率 PDF 曲面 fX₁,X₂,Y(x₁,x₂,C1)
• Joint = Likelihood × Prior
• 体积 = pY(Ck) = 1/3
• 先验仅起缩放作用
• 可作为分类标准
• 高度最大的类别为预测结果
• 等价于比较后验概率
• 无需计算证据因子
• 简化分类过程
🔍 证据因子:和分类无关
Evidence Factor: Independent of Classification
视图模式
带宽 h
视角
显示控制
📐 公式2-3:证据因子计算(全概率定理)
• 根据全概率定理,证据因子等于所有联合概率之和
• 体积验证:1/3 + 1/3 + 1/3 = 1
• 证据因子与分类无关,描述样本数据的整体分布
图8:叠加联合概率曲面,估算证据因子
三个联合概率曲面
证据因子(叠加结果)
• 与分类无关(所有类别共享)
• 全概率定理:Σ联合概率
• 体积 = 1
• 起归一化作用
• 垂直叠加求和
• 1/3 + 1/3 + 1/3 = 1
• 形成证据因子曲面
• 良好描述数据分布
🎯 后验概率:分类的依据
Posterior Probability: Classification Criterion
选择类别
视图模式
带宽 h
视角
📐 公式4-5:后验概率
• 也叫成员值 (membership score)
• 三个后验概率之和恒等于1
• 后验 = 联合 / 证据 = (似然 × 先验) / 证据
图10:后验概率 fY|X₁,X₂(C1|x₁,x₂) 曲面
• 成员值 (membership score)
• Posterior = Joint / Evidence
• 三个后验之和 = 1
• 分类的直接依据
• 分类切换的临界线
• 将平面分为三个区域
• 每个区域对应一个类别
• argmax Posterior
🎯 21.1 关键要点
• 从一维扩展到二维
• 公式结构保持不变
• 提高分类准确率
• 先验:pY(Ck) = 1/3
• 联合:似然 × 先验
• 证据:Σ 联合
• 后验:联合 / 证据
• 数学优雅:公式结构完全一致,贝叶斯推断可扩展到任意维度
• 3D可视化:交互式3D图帮助理解复杂的概率关系
• MAP分类:argmax后验概率 = 最佳分类决策
• 实际应用:多特征分类更准确,更接近实际问题
分类决策边界与实际应用
Decision Boundaries and Practical Applications
在21.1节中,我们详细讲解了二元贝叶斯推断的五个核心要素。 本节将探讨如何利用后验概率进行分类决策, 重点关注决策边界的形成和分类准确率的提升。
🎯 MAP分类决策:回顾与深入
且
P(C₁|x₁,x₂) > P(C₃|x₁,x₂)
且
P(C₂|x₁,x₂) > P(C₃|x₁,x₂)
且
P(C₃|x₁,x₂) > P(C₂|x₁,x₂)
📐 决策边界的形成
• 形状取决于似然分布
• 使用KDE:边界平滑
• 使用高斯:边界可能是二次曲线
• 三条边界围成三个区域
• 边界两侧属于不同"国家"
• 边界上的点:难以决策
• 远离边界:分类置信度高
• 靠近边界:分类不确定性大
📊 对比:一元 vs 二元分类
两个阈值点分割
• 重叠区域多
• 准确率受限
• 难以区分C₂和C₃
三条边界曲线
• 区分更清晰
• 准确率提高
• 更接近实际
• 一元分类准确率:~85%
• 二元分类准确率:~95%
• 提升幅度:约10个百分点
增加的第二个特征(花萼宽度)提供了互补信息, 使得原本在一元空间中重叠的样本,在二元空间中可以被更好地分离。
🌍 实际应用场景
特征:体温、血压、心率、血糖等
类别:健康、疑似、确诊
先验:疾病流行率数据
特征:关键词频率、发件人、链接数量等
类别:正常邮件、垃圾邮件
先验:历史垃圾邮件比例
特征:用户年龄、历史行为、商品属性等
类别:喜欢、不喜欢、不确定
先验:用户群体偏好统计
特征:收入、信用记录、负债率、年龄等
类别:低风险、中风险、高风险
先验:历史违约率数据
特征:颜色直方图、纹理特征、边缘信息等
类别:猫、狗、鸟、其他
先验:不同物体出现频率
需要综合多个维度的信息
可以利用历史数据或领域经验
不仅给出分类结果,还给出置信度
可以随新数据不断更新模型
⚖️ 优势与局限
🚀 扩展到多元贝叶斯推断
对于 d 个特征 X₁, X₂, ..., Xd,贝叶斯推断公式为:
实际上有4个特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度
使用全部4个特征的四元贝叶斯推断,分类效果会进一步提升
• 信息更全面
• 准确率更高
• 更符合实际问题
• 可视化困难(4D+)
• 计算复杂度上升
• 需要更多样本
• 贝叶斯网络:建模特征间的依赖关系
• 深度贝叶斯:结合深度学习和贝叶斯方法
• MCMC方法(第22章):处理复杂后验分布
🎯 21.2 关键要点
• 三个决策区域
• 决策边界形成
• 曲线而非直线
• 准确率提升
• 从点到曲线
• 信息更丰富
• 垃圾邮件过滤
• 推荐系统
• 风险评估
• 维度优势:更多特征→更多信息→更高准确率
• 广泛应用:从医疗到金融,贝叶斯分类无处不在
• 优势局限:理论优雅但计算复杂,需权衡选择
• 可扩展性:原理可推广到任意维度,但需克服挑战
• 实践价值:概率性输出、融合先验、迭代学习的独特优势
朴素贝叶斯假设与计算优化
Naive Bayes Assumption and Computational Optimization
在21.1和21.2节中,我们学习了完整的二元贝叶斯推断。 然而,在实际应用中,随着特征维度的增加, 计算复杂度会指数级增长。 本节将介绍一个重要的简化假设——朴素贝叶斯假设, 以及相关的计算优化技巧。
⚠️ 维度灾难(Curse of Dimensionality)
• 样本密度:n
• 计算简单
• 样本密度:√n
• 复杂度平方增长
• 样本密度:n^(1/d)
• 指数级增长
维度每增加1,需要的样本量呈指数增长。 例如,1D需要100个样本,2D需要10,000个,3D需要1,000,000个!
KDE需要计算每个查询点到所有训练样本的距离, d维空间中的距离计算成本为O(d),总复杂度O(nd)
需要存储d维协方差矩阵(d×d), 以及所有样本的d维坐标
🎯 朴素贝叶斯假设
• 样本高效:每个特征独立估计
• 易于实现:分别做一维KDE
• 可解释性:每个特征独立作用
• 鲁棒性强:部分特征缺失也能工作
• 信息损失:忽略特征间协同效应
• 概率偏差:后验概率可能不准确
• 决策边界:限制为轴对齐形状
• 性能受限:准确率可能低于完整模型
因为这个假设过于简单,甚至可以说有点"天真"。 现实中的特征往往是相关的(如花萼长度和宽度通常正相关), 但朴素贝叶斯"天真地"假设它们独立。 尽管假设不成立,但在很多实际问题中效果依然很好!
🔗 条件独立 vs 独立
X₁和X₂在整体数据中可以相关。
例如:花萼长和宽通常正相关
给定类别后,X₁和X₂条件独立。
例如:给定是Setosa,长宽独立
• 全局相关:学习时间长的学生,成绩通常较高
• 类内独立:但如果限定"优秀学生"这个子群体, 学习时间和最终成绩可能就不那么相关了(都很高)
• 全局相关:整体数据中,花萼长度和宽度有相关性
• 类内独立:但限定在Setosa类内部, 朴素贝叶斯假设长度和宽度的变化相互独立
⚡ 计算复杂度对比
| 方法 | 似然估计 | 参数数量 | 样本需求 | 预测复杂度 |
|---|---|---|---|---|
| 完整贝叶斯 (二元) | 二维KDE fX₁,X₂|Y(x₁,x₂|Ck) | 高斯:5参数 (μ₁, μ₂, σ₁₁, σ₂₂, σ₁₂) | O(n²) 需要密集采样 | O(d²) 协方差矩阵计算 |
| 朴素贝叶斯 (二元) | 两个一维KDE fX₁|Y · fX₂|Y | 高斯:4参数 (μ₁, σ₁, μ₂, σ₂) | O(2n) 分别对每维采样 | O(d) 独立计算相乘 |
三维:14→6(57%减少)
d维:d(d+3)/2 → 2d
只需在每个维度上有足够样本
并行计算每个维度
🛠️ 朴素贝叶斯实现步骤
• 按类别分组:C₁(Setosa)、C₂(Versicolor)、C₃(Virginica)
• 每类各50个样本
• (鸢尾花数据类别均衡)
• 使用该类的样本估计 fXi|Y(xi|Ck)
• 方法1:一维KDE(第17章)
• 方法2:假设高斯分布,估计均值μ和方差σ²
• ŷ = argmaxk P(Ck|x₁,x₂)
• 可以跳过归一化(证据因子)
🤔 何时使用朴素贝叶斯?
作为baseline,快速验证思路
如果准确率不够,再用完整模型
通过特征变换减少相关性
部分特征独立,部分联合建模
🔬 朴素贝叶斯的变体与扩展
参数:每类每特征估计μ和σ²
适用:连续特征,如身高、体重、温度
参数:每类每词的出现概率
适用:文本分类、词袋模型
参数:每类每特征的概率p
适用:文档中词是否出现、二元特征
方法:允许某些特征对之间有依赖
优势:在完整模型和朴素贝叶斯间权衡
🎯 21.3 关键要点
• 似然分解为乘积
• 计算复杂度降低
• 样本需求减少
• 假设强信息损失
• 准确率可能降低
• 权衡性能效率
• 高维数据首选
• 实时系统友好
• 多种变体可选
• 朴素假设:条件独立简化,从O(n^d)降到O(nd)
• 意外有效:虽然假设不成立,但实际效果常出人意料地好
• 实践平衡:在准确率和效率间找到最佳权衡点
• 灵活扩展:多种变体适应不同数据类型
• 入门首选:作为baseline快速验证想法
章节总结与实践指南
Chapter Summary and Practical Guidelines
在本章的前三节中,我们深入学习了二元贝叶斯推断的完整体系。 本节将对整章内容进行系统总结, 并提供实践指南,帮助你在实际项目中灵活运用贝叶斯方法。
🗺️ 本章知识地图
• 五个核心要素详解
• 3D交互可视化
• 公式结构保持一致
• 决策边界形成
• 五大实际应用
• 优势与局限分析
• 条件独立假设
• 计算复杂度降低
• 多种变体扩展
• 方法选择决策树
• 实践经验总结
• 未来学习方向
📚 贝叶斯分类章节对比
| 章节 | 主题 | 特征数 | 关键内容 | 可视化 |
|---|---|---|---|---|
| Ch18 | 贝叶斯分类入门 | 1个 (花萼长度) | • 似然、先验、联合 • 证据、后验 • 一维KDE • 基础MAP分类 | 2D曲线图 |
| Ch19 | 深入贝叶斯分类 | 2个 (长度+宽度) | • 二维KDE • 3D曲面 • 等高线投影 • 独立vs条件独立 | 3D曲面 等高线 |
| Ch20 | 贝叶斯推断入门 | 1个 (参数θ) | • 参数推断 • 迭代学习 • Beta先验 • MAP vs MLE | 分布演化 迭代更新 |
| Ch21 | 深入贝叶斯推断 | 2个 (长度+宽度) | • 二元推断完整框架 • 决策边界 • 朴素贝叶斯 • 实践应用 | 3D交互 决策边界 |
重点是如何分类鸢尾花(类别预测)
重点是如何估计参数分布(参数推断)
使用单个特征或参数
使用多个特征或参数
🌳 方法选择决策树
(Ch18, Ch19)
(Ch20, Ch21)
可行
权衡
推荐
强先验+朴素贝叶斯
参数方法
KDE或完整模型
追求最高准确率
平衡性能效率
📐 核心公式速查表
✅ 实践实施检查清单
⚠️ 常见陷阱与解决方案
🔮 未来学习方向
• 课程:CS228: Probabilistic Graphical Models (Stanford)
• 实践:PyMC3, Stan (概率编程语言)
• 应用:scikit-learn (朴素贝叶斯实现)
🎓 第21章总结
现在你具备了在实际项目中应用贝叶斯方法的能力。