16 贝叶斯分类的基本理论
在本篇中,我们将深入探讨贝叶斯分类的基本理论,这是贝叶斯学习和统计推断中一个重要的主题。贝叶斯分类的本质是通过先验知识和观察数据的结合,对未知的类别进行推断。相较于贝叶斯回归更关注于数值预测,贝叶斯分类则关注于基于特征对样本进行分类的问题。
贝叶斯分类器的基本思想
贝叶斯分类器基于贝叶斯定理,其形式如下:
$$
P(C|X) = \frac{P(X|C)P(C)}{P(X)}
$$
在上述公式中:
- $P(C|X)$ 是给定特征 $X$ 后类别 $C$ 的后验概率;
- $P(X|C)$ 是类别 $C$ 的似然函数,即在类别 $C$ 下观察到特征 $X$ 的概率;
- $P(C)$ 是类别 $C$ 的先验概率;
- $P(X)$ 是特征 $X$ 的边际概率,用于标准化后验概率。
为了进行分类,我们需要选择概率最大的类别,常常采用以下规则:
$$
\hat{C} = \arg\max_{C} P(C|X)
$$
先验概率、似然函数和边际概率
先验概率
先验概率 $P(C)$ 是在没有任何观察数据的情况下对每个类别的信念。我们可以根据历史数据或领域知识设定这些概率。
例如,在一个肿瘤分类问题中,假设我们知道恶性肿瘤(类别 $C_1$)的发生率为 10%,则 $P(C_1) = 0.1$,良性肿瘤(类别 $C_2$)的发生率为 90%,则 $P(C_2) = 0.9$。
似然函数
似然函数 $P(X|C)$ 则是在已知类别下特征的发生概率。这要求我们对特征的分布有一定的假设。在许多情况下,我们假设特征是独立的,并且可以用高斯分布、伯努利分布等来描述特征的分布。
例如,在我们的肿瘤分类问题中,特征可以是肿瘤大小、形态等。假设肿瘤大小在良性肿瘤中服从 $\mathcal{N}(5, 2^2)$,而在恶性肿瘤中服从 $\mathcal{N}(10, 3^2)$,即:
$$
P(X|C_1) = \frac{1}{\sqrt{2\pi}\cdot 3} \exp\left(-\frac{(X-10)^2}{2\cdot 3^2}\right)
$$
$$
P(X|C_2) = \frac{1}{\sqrt{2\pi}\cdot 2} \exp\left(-\frac{(X-5)^2}{2\cdot 2^2}\right)
$$
边际概率
边际概率 $P(X)$ 通常不需要显式计算,因为在分类中我们只需要比较后验概率。边际概率可以通过全概率公式计算:
$$
P(X) = \sum_{C} P(X|C)P(C)
$$
贝叶斯分类器的实现
下面我们通过 Python 示例演示如何构建一个简单的贝叶斯分类器。我们使用的是 scikit-learn 中的 GaussianNB
来实现高斯贝叶斯分类器。
1 | import numpy as np |
在这个例子中,我们创建了一个简单的二分类问题,使用高斯贝叶斯分类器来学习数据,并最终计算模型的准确率。
小结
本篇介绍了贝叶斯分类的基本理论,包括贝叶斯定理、先验概率、似然函数和边际概率的含义。我们还通过案例展示了如何使用 Python 实现一个基本的贝叶斯分类器。这些基础将为后续探索更复杂的贝叶斯分类技术提供理论支持。
接下来,我们将深入探讨朴素贝叶斯分类器,进一步了解其在实际中的应用。
16 贝叶斯分类的基本理论