贝叶斯与概率建模的假设纪律
R — 原文 (Reading)
"估计结果的准确性严重依赖于所假设的概率分布形式是否符合潜在的真实数据分布。在现实 应用中,欲做出能较好地接近潜在真实分布的假设,往往需在一定程度上利用关于应用任务本身 的经验知识,否则若仅凭'猜测'来假设概率分布形式,很可能产生误导性的结果。"
— 周志华《机器学习》第7章7.2节
"朴素贝叶斯分类器采用了属性条件独立性假设,但在现实任务中这个假设往往很难成立。于是, 人们尝试对属性条件独立性假设进行一定程度的放松,由此产生了一类称为'半朴素贝叶斯 分类器'(semi-naive Bayes classifiers)的学习方法。"
— 周志华《机器学习》第7章7.4节
I — 方法论骨架 (Interpretation)
概率建模的全部自由度来自你愿意声明多强的假设——这是一门"用假设换可行性、同时被假设绑死正确性"的交易术。四条纪律:
- 分布形式先于参数。MLE 只在给定分布族内找最优参数;族选错了,参数再优也是错模型,且 MLE 的"最优性"光环会掩盖这一归因。分布形式要靠领域知识和画图论证,不能拍脑袋套高斯。
- 独立性假设是可调旋钮不是开关。朴素贝叶斯的属性条件独立太强→半朴素(SPODE/TAN/AODE 放松一阶依赖)→贝叶斯网(任意依赖)。谱系背后是一架天平:假设越弱、模型表达力越强、需要的样本越多——k 增大所需样本指数增长。按手头数据量选档位,别直奔表达力最强的。
- 隐变量问题用交替固定破鸡生蛋。参数和隐变量互相不知道时,EM 先固定一方估另一方再反转,循环至收敛;k-means 是它的硬分配特例。代价:只收敛到局部最优,初值敏感,须多组初值取优。
- 推断算不动就降级,且降级有路线之分。精确推断 NP 难后:变分推断是确定性近似(快、延迟可控、可能系统性偏差),MCMC 是随机性近似(渐近正确、慢、有 burn-in 和极端概率失效坑)。按延迟预算选路。
A1 — 书中的应用 (Past Application)
案例 1: 医疗诊断与门禁系统的代价不对称 (c08)
- 问题: 医疗诊断漏诊致命误诊烦人;门禁系统误放致命误拦烦人——两种错误的后果结构完全不同,标准错误率却把它们当等价。
- 方法论的使用: 作者引入代价矩阵把不对称显式化,并指出通常只需关心代价比值而非绝对值;进一步在第3章展示把样本数比换成代价比即得代价敏感学习——这正是"把领域知识写成先验/权重注入决策"的入口。
- 结论: 判决阈值应随代价比定量偏移,目标从"错误次数最少"改为"总体代价最小"。
- 结果: 代价矩阵成为连接性能度量(第2章)、不平衡处理(第3章)、贝叶斯决策的统一接口。
A2 — 触发场景 (Future Trigger) ★
用户会在什么情境下需要这个 skill?
- 用朴素贝叶斯做文本分类/风控评分,想知道属性相关性到底要不要处理、怎么处理。
- 用高斯假设给重尾分布的数据(收入、保险索赔)估"典型值",怀疑方向就错了。
- GMM/k-means 聚类结果每次跑都不一样,不知道是代码 bug 还是方法本性。
- 贝叶斯网上节点太多精确推断跑不动,要在变分和 MCMC 里选一个。
- 回归残差明显重尾仍坚持高斯似然,审稿人/同事质疑。
语言信号 (用户的话里出现这些就应激活)
- "naive Bayes 的 independence assumption 太强了怎么办 / 朴素贝叶斯假设不成立"
- "MLE 应该用什么分布 / maximum likelihood 的分布假设"
- "EM 不收敛 / 每次结果不一样 / 局部最优怎么破"
- "GMM 和 k-means 什么关系"
- "贝叶斯网推断太慢 / variational inference vs MCMC 怎么选"
与相邻 skill 的区分(定稿口径)
- 与
ml-pitfall-audit的区别(depends-on 单向):审计 skill 只问"分布形式假设对吗"(x27);本 skill 以该假设审查为第一步,给出审查之后的完整建模执行路径(选谱系档位、EM 初值纪律、推断降级选型)。 - 与
ml-theory-compass的区别:理论罗盘讲 f20/f24 背后"假设换可行性"的一般原理与 MDL 模型比较;本 skill 是概率建模场景的具体操作版——一个画地图,一个走路段。 - 与
ml-imbalanced-learning的区别:代价矩阵是两站共享的统一接口(m⁻/m⁺ ↔ cost₊/cost₋ 可互换);不平衡视角归 imbalanced-learning,概率建模中的先验/代价注入归本 skill。 - 与
ml-dimensionality的区别:高维下独立性谱系档位选择与距离结构互相制约(k 增大样本指数增长 vs 维数灾难),两 skill 在 p≫n 场景需联合使用。
E — 可执行步骤 (Execution)
当 skill 被激活后, agent 应按以下步骤执行:
锁定所有显式假设清单
- 完成标准: 列出当前建模方案声明的每一条假设(分布族、独立性阶数、隐变量个数、视图/聚类桥接),无遗漏。
逐一审查分布形式假设
- 完成标准: 每条分布假设附证据(领域知识来源/Q-Q 图/拟合优度检验),禁止"默认正态"。重尾数据改厚尾分布或稳健/非参方法;凡基于分布假设的结论附脆弱性说明。
- 判停条件: 若分布族无法论证也无法更换(如业务强制),明确标注"结论以该假设成立为前提"后再继续,不得静默带过。
按数据量在独立性谱系上选档
- 完成标准: 报告 n 与特征相关结构复杂度的匹配判断——小样本从 TAN(k=1) 类半朴素起步,数据涨两个数量级再逐级放宽依赖阶;给出所选档位的样本需求理由(k 增大样本指数增长)。
含隐变量则配置 EM 纪律
- 完成标准: 写明 E/M 步各固定什么、收敛判据、以及"必到局部最优"的预期管理——多组初值取优、报告初值敏感性。
推断不可行则按约束降级
- 完成标准: 若精确推断复杂度否决,按延迟预算选型——实时场景走变分(声明系统性偏差风险)、离线场景可用 MCMC(声明 burn-in 与吉布斯采样在近 0/1 概率处的失效坑);输出中标注所选近似的误差方向未知这一事实。
B — 边界 (Boundary) ★
不要在以下情况使用此 skill
- 用户只是想要判别式模型的预测性能对比(LR vs XGBoost)——本 skill 处理的是概率生成式的假设纪律,不是通用模型选型。
- 数据充足、特征天然独立、任务简单——朴素贝叶斯直接用即可,上贝叶斯网是过度工程。
- 因果图模型(do-calculus/因果发现)——书中几乎缺席因果视角,超出本 skill 能力边界。
作者在书中警告的失败模式
- MLE 分布猜错全盘误导 (x27): 分布形式靠猜会系统性误导;更隐蔽的是归因陷阱——"假设错了"常被伪装成"参数没调好",残差重尾仍坚持高斯似然就是典型。
- EM 局部最优: 只保证收敛到局部最优,初值敏感——单次运行的结果不可信。
- 吉布斯采样极端概率失效: 条件分布接近 0/1 时采样停滞——用 MCMC 前检查概率结构。
作者的盲点 / 时代局限
- 未讨论现代变分推断(VAE/normalizing flows)与贝叶斯深度学习的进展;MCMC 部分停留在吉布斯/Metropolis 基础款,HMC/NUTS 缺席。
- i.i.d. 假设贯穿全书,概率图的时序漂移/概念漂移场景无覆盖。
- 因果推断视角整体缺席——"相关性≠因果性"类陷阱缺少系统防线(阶段 0 批判确认)。
容易混淆的邻近方法论
- 贝叶斯学派 vs 极大似然频率派: 书中 MLE 是点估计;真正的贝叶斯后验更新(含先验)书中着墨少——用户说"贝叶斯方法"时要先澄清指哪个。
- EM vs 梯度下降: 混合模型的对数似然求和项爆炸使梯度法失效,EM 是非梯度替代——两者不是竞争关系而是适用域不同。
相关 skills
- depends-on: ml-pitfall-audit(x27 分布形式假设审查是本 skill 执行链的第一步)
- contrasts-with: ml-theory-compass("假设换可行性"的操作版 vs 一般原理版;f23 MDL 视角下的模型比较归罗盘)
- composes-with: ml-imbalanced-learning(代价矩阵同源接口:再缩放比值 ↔ 代价比), ml-dimensionality(独立性档位 × 维数灾难在 p≫n 场景联合决策)
审计信息
- 验证通过: V1 ✓ / V2 ✓ / V3 ✓
- 素材单元: f20, f21, f22, f24, f07 / c08 / x27
- skill_version: 0.0.1
- 蒸馏时间: 2026-08-24