M2-044M2: Classical Machine LearningNaive BayesMedium
Mastery:
Naive Bayes: 朴素贝叶斯为什么常用对数域计算?
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 大量小概率相乘会下溢为 0;取对数把乘积变求和。
📌 Key Takeaways
- •数值稳定且更快
- •等价于线性分类器(对数域)
📐 Mathematical Derivations
下溢问题:若一篇文档有 1000 个词,每个词的条件概率约 10⁻³,则乘积约 10⁻³⁰⁰⁰——远低于 float64 的最小正规数(约 10⁻³⁰⁸),直接下溢为 0,所有类别都变成 0 而无法比较。取对数后变为求和:log P(y)+Σⱼlog P(xⱼ|y),量级为 1000×(−7)≈−7000,完全在浮点范围内且能保持数值差异。<strong>额外好处</strong>:乘法变加法,计算更快(且避免浮点乘法累积误差);同时 log 概率的<strong>比较</strong>与概率的比较等价(log 单调递增),故 argmax 不变。<strong>线性分类器的等价性</strong>:展开 log P(y)ΠⱼP(xⱼ|y)=log P(y)+Σⱼlog P(xⱼ|y),对二分类比较两个类别可得决策函数形如 wᵀx+b,其中 wⱼ=log[P(xⱼ|y=1)/P(xⱼ|y=0)](对数似然比),b=log[P(y=1)/P(y=0)]——即 NB 在二值特征下<strong>等价于线性分类器</strong>,权重是似然比。
🏭 Production Trade-offs
实践要点:① <strong>log-sum-exp 的必要性</strong>——若需从 log 概率恢复归一化概率(如输出置信度),必须用 log-sum-exp 技巧(减 max 再 exp),否则 exp(−7000) 下溢为 0;② <strong>零概率与平滑</strong>——对数域中 log(0)=−∞ 会直接破坏求和,故平滑是必须的(不是可选优化);③ <strong>对数似然比的直觉</strong>——权重 wⱼ 正且大说明'该特征在正类中出现更频繁',这使 NB 的权重<strong>可解释</strong>(比神经网络的权重更直观);④ <strong>与逻辑回归的关系</strong>——NB 是生成式(建模 P(x|y)),LR 是判别式(直接建模 P(y|x));小样本下 NB 收敛更快(O(log n) vs O(n)),大样本下 LR 渐近误差更小——这是生成式 vs 判别式的经典权衡(Ng & Jordan 2002)。
⚠️ Common Interview Pitfalls
- ✕在线性域相乘导致下溢为 0
- ✕混淆生成式(NB)与判别式(LR)的适用场景
🎯 Interviewer Follow-ups
- ?为什么 NB 是对数线性模型?
- ?权重对应什么?(对数似然比)
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.