核心要点

  • 理解条件独立假设与贝叶斯公式

  • 区分 Multinomial NB(词频)与 Bernoulli NB(是否出现)

  • 能说明拉普拉斯平滑的作用

  • 举出垃圾邮件、文本分类等经典应用

简要回答

朴素贝叶斯用贝叶斯定理 + 特征条件独立假设做文本分类:用训练集估计 $P(c|w_1...w_n) \propto P(c)\prod P(w_i|c)$。Multinomial NB 配合词频/TF-IDF 广泛用于垃圾邮件过滤与短文本分类,小数据上极快且稳健。

标准回答

核心思想:给定文档词序列,选使后验概率最大的类别 $c^* = \arg\max_c P(c)\prod_i P(w_i|c)$。

朴素假设:给定类别,各词出现相互独立——显然不成立,但实践中常有效(「依赖地狱」反而帮助泛化)。

常见变体

  • Multinomial NB:适合词频/TF 计数(新闻分类)
  • Bernoulli NB:二值特征(词是否出现,短文本)
  • Gaussian NB:连续特征(较少用于纯文本)

训练:统计各类别词频,拉普拉斯平滑处理未见词,避免零概率。

NLP 应用

  • 垃圾邮件检测(经典 baseline)
  • 情感/主题粗分类
  • 语言识别、作者归属

优缺点

  • ✅ 训练推断极快、小样本友好、可解释(看 log 似然贡献最大的词)
  • ❌ 独立性假设限制语义建模;对长文档词序不敏感

现代场景常被 BERT 超越,但仍适合冷启动与资源受限边缘部署。参考 文本分类

常见误区

⚠️ 常见踩坑

写错公式或忘记平滑;把 Multinomial 与 Bernoulli 混用场景;不说独立性假设的局限。

追问

追问 1为什么「朴素」假设反而有效?

分类只需比较后验相对大小,不必精确估计概率;错误的相关性在各类间可能部分抵消。高维稀疏下全协方差矩阵难估计,独立性简化了参数学习。

追问 2TF-IDF 和词频哪个配 NB 更好?

Multinomial NB 理论上配合原始词频(多项分布);实践中 TF-IDF + 离散化或直接用词频都常见。Bernoulli 用二值化词出现特征。

追问 3如何处理否定词(如 not good)?

词袋下「not」和「good」被拆成独立特征,丢了「不」的作用。常用补救:加 bigram 让「not_good」成一个特征;做否定范围标记,把否定词到下个标点间的词加 NEG_ 前缀(NEG_good);或保留否定词不当停用词去掉。这是 NB 条件独立假设的固有短板,深度模型才能较好建模。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。