M2-043M2: Classical Machine LearningNaive BayesMedium
Mastery:

Naive Bayes: 比较高斯、多项式、伯努利三种朴素贝叶斯。

📐 Mathematical Definition
Gaussian: P(xj∣y)=N(μjy,σjy2)\text{Gaussian}:\ P(x_j\mid y)=\mathcal N(\mu_{jy},\sigma_{jy}^2)
⚡ Executive Summary
Core Concept: 高斯适合连续特征;多项式适合计数(词频);伯努利适合二值出现/不出现。

📌 Key Takeaways

  • •
    文本分类多项式常优于伯努利(考虑词频)
  • •
    短文本伯努利可能更好

📐 Mathematical Derivations

三种变体对应不同的特征似然假设:① <strong>高斯 NB</strong>——假设 P(xⱼ|y)=N(μ_{jy},σ²_{jy}),适合<strong>连续特征</strong>(需估计每类每特征的均值与方差,共 2Kp 个参数);前提是特征在类内近似正态,若特征偏态(如收入)可先做变换。② <strong>多项式 NB</strong>——假设特征向量是<strong>计数</strong>(如词频、TF-IDF 权重),P(x|y) 用多项分布建模,等价于'从类别的词分布中独立抽词';适合<strong>文本分类</strong>且<strong>考虑词频</strong>。③ <strong>伯努利 NB</strong>——假设每个特征是<strong>二值</strong>(出现/不出现),显式建模'不出现'的惩罚项 (1−p_{jy});适合<strong>短文本</strong>(此时'是否出现'比'出现几次'更重要)与二值特征场景。

🏭 Production Trade-offs

选择依据与要点:① <strong>文本分类的经验规律</strong>——长文档用<strong>多项式 NB</strong>(词频信息有价值),短文本(如推文、标题)用<strong>伯努利 NB</strong>(出现与否更关键,且显式惩罚未出现词);Rennie et al. (2003) 的实验支持这一规律。② <strong>TF-IDF 的处理</strong>——多项式 NB 假设计数,若用 TF-IDF(连续值)需注意:可将 TF-IDF 视为加权计数(近似成立),或改用高斯 NB(但通常效果较差);实践中多项 NB + 词频(或对数词频)常最稳。③ <strong>特征选择的必要性</strong>——NB 对无关特征敏感(它们的条件独立假设最易被违反且贡献噪声),故常配合<strong>卡方/MI 特征选择</strong>(保留 top-k 特征)显著提升效果。④ <strong>对数域计算</strong>——所有变体都应在对数域累加(log P(y)+Σlog P(xⱼ|y)),避免下溢;多项式 NB 的 sklearn 实现即内部用对数。⑤ <strong>与线性模型的关系</strong>——NB 在对数域是<strong>线性分类器</strong>,权重为对数似然比 log[P(xⱼ|y=1)/P(xⱼ|y=0)]。
⚠️ Common Interview Pitfalls
  • ✕
    对短文本用多项式 NB 而不考虑伯努利
  • ✕
    不对连续特征做分布检查就套用高斯 NB
🎯 Interviewer Follow-ups
  • ?
    长文本该选哪个?
  • ?
    为什么多项式 NB 需要 log 域计算?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM2-042: Naive Bayes: 为什么需要拉普拉斯平滑?给出公式。📋Back to BankNext →M2-044: Naive Bayes: 朴素贝叶斯为什么常用对数域计算?