16 贝叶斯分类的基本理论
系列进度
贝叶斯学习入门 · 第 16 / 24 篇
整理说明
这篇内容怎么整理
郭震 · 2026-06-04
阅读路线
先按这条路线读
先抓住主线,再回到代码、配置和图文细节,读起来会更稳。
贝叶斯学习的重点是把已有判断和新证据合在一起,并明确表达不确定性。阅读时可以按「贝叶斯分类器的基本思想 -> 先验概率、似然函数和边际概率 -> 先验概率 -> 似然函数」建立结构,再回到正文里的代码、案例或指标做验证。
读完后,用一个真实小任务复查:输入是什么,处理环节在哪里,输出是否可验收;失败时先查「贝叶斯分类器的基本思想」,再查「先验概率、似然函数和边际概率」。
在本篇中,我们将深入探讨贝叶斯分类的基本理论,这是贝叶斯学习和统计推断中一个重要的主题。贝叶斯分类的本质是通过先验知识和观察数据的结合,对未知的类别进行推断。相较于贝叶斯回归更关注于数值预测,贝叶斯分类则关注于基于特征对样本进行分类的问题。
贝叶斯分类器的基本思想
贝叶斯分类器基于贝叶斯定理,其形式如下:
理解贝叶斯分类时,先看类别先验、特征条件概率、证据归一化、后验比较和分类边界。
在上述公式中:
- 是给定特征 后类别 的后验概率;
- 是类别 的似然函数,即在类别 下观察到特征 的概率;
- 是类别 的先验概率;
- 是特征 的边际概率,用于标准化后验概率。
为了进行分类,我们需要选择概率最大的类别,常常采用以下规则:
先验概率、似然函数和边际概率
先验概率
《贝叶斯分类的基本理论》读到最后,可以把图里的流程当成检查表:问题是否明确,操作是否落地,判断标准是否能复用。
先验概率 是在没有任何观察数据的情况下对每个类别的信念。我们可以根据历史数据或领域知识设定这些概率。
例如,在一个肿瘤分类问题中,假设我们知道恶性肿瘤(类别 )的发生率为 10%,则 ,良性肿瘤(类别 )的发生率为 90%,则 。
似然函数
似然函数 则是在已知类别下特征的发生概率。这要求我们对特征的分布有一定的假设。在许多情况下,我们假设特征是独立的,并且可以用高斯分布、伯努利分布等来描述特征的分布。
例如,在我们的肿瘤分类问题中,特征可以是肿瘤大小、形态等。假设肿瘤大小在良性肿瘤中服从 ,而在恶性肿瘤中服从 ,即:
边际概率
边际概率 通常不需要显式计算,因为在分类中我们只需要比较后验概率。边际概率可以通过全概率公式计算:
贝叶斯分类器的实现
下面我们通过 Python 示例演示如何构建一个简单的贝叶斯分类器。我们使用的是 scikit-learn 中的 GaussianNB 来实现高斯贝叶斯分类器。
import numpy as np
from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 假设我们有以下特征和标签
X = np.array([[5], [6], [8], [9], [10], [3], [4], [7], [2], [1]])
y = np.array([0, 0, 0, 1, 1, 1, 0, 1, 1, 0]) # 0: 良性, 1: 恶性
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建并训练贝叶斯分类器
model = GaussianNB()
model.fit(X_train, y_train)
# 预测并计算准确率
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f'模型准确率: {accuracy:.2f}')
在这个例子中,我们创建了一个简单的二分类问题,使用高斯贝叶斯分类器来学习数据,并最终计算模型的准确率。
读到这里,可以把《贝叶斯分类的基本理论》整理成一张复盘表:先说清主线,再拿一个小任务检查结果。
读完《贝叶斯分类的基本理论》后,可以先挑一个小样例走完整流程,再判断哪些步骤已经能独立完成。
小结
本篇介绍了贝叶斯分类的基本理论,包括贝叶斯定理、先验概率、似然函数和边际概率的含义。我们还通过案例展示了如何使用 Python 实现一个基本的贝叶斯分类器。这些基础将为后续探索更复杂的贝叶斯分类技术提供理论支持。
接下来,我们将深入探讨朴素贝叶斯分类器,进一步了解其在实际中的应用。
继续阅读
从这篇继续找到相关教程
常见问题
读前先确认这三点
贝叶斯分类的基本理论适合谁读?
这是 贝叶斯学习入门 系列第 16 / 24 篇,适合正在学习贝叶斯学习入门,并且需要把概念落到操作步骤或判断标准里的读者。
读这篇贝叶斯学习入门教程要多久?
按中文技术文章阅读速度估算,通读大约 4 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。
这篇文章里的图文节点怎么用?
正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。
分享文章
转发到常用平台
微信/朋友圈可先复制链接
相关教程
从相近问题继续读
继续阅读