郭震 AI公众号:郭震AI

17 贝叶斯分类之朴素贝叶斯分类器

发布日期:

最近更新:

分类: 贝叶斯学习

预计阅读: 4 分钟

阅读次数: 0

预计阅读4 分钟
结构重点4 个
图文要点6 张
正文规模1.9k 字

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

独立整理围绕 4 个结构重点拆成环境、步骤、验证点和常见误区,尽量让读者能照着复现。
图文对照保留 6 张和配置、流程、判断结果有关的图片,方便快速定位正文重点。
持续校对工具、模型和命令变化较快,后续优先修正入口、参数和风险提醒。

阅读路线

先按这条路线读

先抓住主线,再回到代码、配置和图文细节,读起来会更稳。

图文要点

先看本文图文节点

按图先建立主线,再跳回正文核对步骤、配置和判断标准。

贝叶斯分类之朴素贝叶斯分类器结构图查看大图
贝叶斯分类之朴素贝叶斯分类器结构图

贝叶斯学习的重点是把已有判断和新证据合在一起,并明确表达不确定性。阅读时可以按「朴素贝叶斯分类器的基础 -> 例子:文本分类 -> 实现朴素贝叶斯分类器 -> 先验」建立结构,再回到正文里的代码、案例或指标做验证。

贝叶斯分类之朴素贝叶斯分类器核对图查看大图
贝叶斯分类之朴素贝叶斯分类器核对图

读完后,用一个真实小任务复查:输入是什么,处理环节在哪里,输出是否可验收;失败时先查「朴素贝叶斯分类器的基础」,再查「例子:文本分类」。

在上一篇中,我们探讨了贝叶斯分类的基本理论,介绍了贝叶斯定理、先验概率、似然函数以及后验概率的定义和计算方法。今天,我们将进一步深入到具体的分类模型——朴素贝叶斯分类器。这一分类器是概率图模型中特别简单而又强大的模型,广泛应用于文本分类、垃圾邮件检测等问题。

朴素贝叶斯分类器的基础

朴素贝叶斯分类器基于贝叶斯定理,假设特征之间是条件独立的。这一假设简化了计算,使得我们可以使用简单的概率计算来进行分类,其基本公式为:

贝叶斯分类之朴素贝叶斯分类器应用检查卡查看大图
贝叶斯分类之朴素贝叶斯分类器应用检查卡

练习《贝叶斯分类之朴素贝叶斯分类器》时,建议把输入条件、处理动作和可见结果写在一起,方便下次复查。

贝叶斯分类之朴素贝叶斯分类器应用复盘卡查看大图
贝叶斯分类之朴素贝叶斯分类器应用复盘卡

复习《贝叶斯分类之朴素贝叶斯分类器》时,建议把关键概念、操作步骤和可见结果放在同一页里回看。

P(CX1,X2,,Xn)=P(C)P(X1,X2,,XnC)P(X1,X2,,Xn)P(C | X_1, X_2, \ldots, X_n) = \frac{P(C) \cdot P(X_1, X_2, \ldots, X_n | C)}{P(X_1, X_2, \ldots, X_n)}

根据朴素假设,我们可以将条件概率分解为:

P(X1,X2,,XnC)=P(X1C)P(X2C)P(XnC)P(X_1, X_2, \ldots, X_n | C) = P(X_1 | C) \cdot P(X_2 | C) \cdots P(X_n | C)

因此,我们可以将后验概率转化为:

P(CX1,X2,,Xn)P(C)P(X1C)P(X2C)P(XnC)P(C | X_1, X_2, \ldots, X_n) \propto P(C) \cdot P(X_1 | C) \cdot P(X_2 | C) \cdots P(X_n | C)

在这个公式中,P(C)P(C) 是先验概率,P(XiC)P(X_i | C) 是似然概率,而 P(X1,X2,,Xn)P(X_1, X_2, \ldots, X_n) 是常量项,通常可以忽略。

例子:文本分类

考虑一个文本分类的例子,我们要分类一组电子邮件为“垃圾邮件”和“非垃圾邮件”。我们可以通过以下步骤实现朴素贝叶斯分类器:

  1. 数据预处理:将邮件拆分为单词并建立词汇表。
  2. 特征提取:计算每个单词在“垃圾邮件”和“非垃圾邮件”中出现的概率。
  3. 建立模型:基于已计算的概率来进行分类。

数据收集与处理

假设我们有以下三封邮件:

  • 邮件1:"免费 赚取 现金"
  • 邮件2:"重要 会议时间"
  • 邮件3:"赚取 免费 现金 机会"

标签:

  • 邮件1 : 垃圾邮件
  • 邮件2 : 非垃圾邮件
  • 邮件3 : 垃圾邮件

构建词汇表:["免费", "赚取", "现金", "重要", "会议", "时间", "机会"]

计算概率

接下来,我们计算每个单词在两类邮件中出现的概率。

  • 先验概率

    • P(垃圾邮件)=23P(\text{垃圾邮件}) = \frac{2}{3}
    • P(非垃圾邮件)=13P(\text{非垃圾邮件}) = \frac{1}{3}
  • 似然概率: 假设我们使用拉普拉斯平滑(避免零概率问题),我们计算每个单词在两类中的条件概率。

以单词 "免费" 为例:

  • 在垃圾邮件中出现:2次
  • 在非垃圾邮件中出现:0次
  • 词汇表大小:7

所以单词 "免费" 的概率为:

P(免费垃圾邮件)=2+14=34P(\text{免费} | \text{垃圾邮件}) = \frac{2 + 1}{4} = \frac{3}{4} P(免费非垃圾邮件)=0+14=14P(\text{免费} | \text{非垃圾邮件}) = \frac{0 + 1}{4} = \frac{1}{4}

同样可以计算其他单词的概率。

实现朴素贝叶斯分类器

我们可以使用Python的sklearn库来实现一个朴素贝叶斯分类器。以下是一个例子:

朴素贝叶斯分类器判断卡查看大图
朴素贝叶斯分类器判断卡

学习朴素贝叶斯分类器时,先看类别先验、词或特征似然、平滑方法、后验比较和独立性假设的局限。

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.pipeline import make_pipeline

# 训练集
emails = [
    "免费 赚取 现金",
    "重要 会议时间",
    "赚取 免费 现金 机会"
]
labels = ["垃圾邮件", "非垃圾邮件", "垃圾邮件"]

# 创建模型
model = make_pipeline(CountVectorizer(), MultinomialNB())

# 训练模型
model.fit(emails, labels)

# 测试邮件
test_email = ["重要 现金 机会"]
print(model.predict(test_email))  # 预测结果

总结

在本篇教程中,我们介绍了朴素贝叶斯分类器的基本概念及其工作原理,并通过一个文本分类的例子演示了如何实现这一分类器。在实践中,朴素贝叶斯分类器因其简单高效而被广泛应用。

贝叶斯学习阅读地图卡查看大图
贝叶斯学习阅读地图卡

进入《贝叶斯分类之朴素贝叶斯分类器》正文前,可以先扫一遍配图:它在问什么、要分清哪些概念、哪一步值得动手、最后用什么标准验收。

接下来,我们将探讨如何对构建的模型进行评估与改进,以保证模型的准确性与高效性。

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

贝叶斯分类之朴素贝叶斯分类器适合谁读?

这是 贝叶斯学习入门 系列第 17 / 24 篇,适合正在学习贝叶斯学习入门,并且需要把概念落到操作步骤或判断标准里的读者。

读这篇贝叶斯学习入门教程要多久?

按中文技术文章阅读速度估算,通读大约 4 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。

这篇文章里的图文节点怎么用?

正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...