朴素贝叶斯分类器是一种监督式机器学习算法,用于文本分类等分类任务。他们使用概率原理来执行分类任务。
朴素贝叶斯是生成式学习算法家族的一部分,也就是说,它会试图对给定类或类别的输入分布进行建模。与判别分类器(如逻辑回归)不同,它不会学习哪些特征对于区分类最重要。
了解将数据湖仓一体策略集成到您的数据架构的强大功能,包括扩展 AI 的增强功能和成本优化机会。
立即注册,获取有关生成式 AI 的电子书
朴素贝叶斯也被称为概率分类器,因为它基于贝叶斯定理。如果不解释贝叶斯统计的基本原理,就很难解释这种算法。这个定理,也称为贝叶斯规则,允许我们“反转”条件概率。作为提醒,条件概率表示在某个事件发生的情况下另一个事件发生的概率,其公式如下所示:
贝叶斯定理的特点是它使用连续事件,其中后续获得的额外信息会影响初始概率。这些概率分别称为先验概率和后验概率。先验概率是指某事件在特定条件下被情境化之前的初始概率,也称为边际概率。后验概率是指观察到某一数据后发生事件的概率。
统计学和机器学习文献中用于证明这一概念的常见示例是医学检验(ibm.com 外部链接)。例如,假如有一位名叫 Jane 的人接受了一项检验,以确定自己是否患有糖尿病。假设患糖尿病的总体概率为 5%,这将是我们的先验概率。但是,如果她的检验结果呈阳性,那么就会更新先验概率以考虑这一额外信息,然后它就成为我们的后验概率。此示例可使用以下方式表示,即贝叶斯定理:
然而,由于我们对先验概率的了解不太可能精确到其他变量,例如饮食、年龄、家族史等,因此通常会利用随机样本的概率分布,将方程简化为 P(Y|X) = P(X|Y)P(Y) / P(X)
朴素贝叶斯分类器的工作方式有所不同,因为它们在几个关键假设下运行,因此被称为“朴素”。它假设在朴素贝叶斯模型中,预测变量是有条件独立的,或者与模型中的任何其他特征无关。它还假设所有特征对结果的影响均等。尽管这些假设在现实场景中经常被违反(例如,电子邮件中的后续单词取决于它前面的单词),但通过简化分类问题,使其更易于计算处理。也就是说,现在每个变量只需要一个概率,这反过来使模型计算变得更容易。尽管存在这种不切实际的独立性假设,但分类算法表现良好,尤其是在样本量较小的情况下。
考虑到这一假设,我们现在可以更仔细地重新审视朴素贝叶斯分类器的各个部分。与贝叶斯定理类似,它将使用条件概率和先验概率,通过以下公式计算后验概率:
现在,假设一个文本分类用例,来说明朴素贝叶斯算法的工作原理。想象一个电子邮件提供商,其希望改进其垃圾邮件过滤器。训练数据将包括已被归类为“垃圾邮件”或“非垃圾邮件”的电子邮件的单词。然后,计算类条件概率和先验概率,以得出后验概率。朴素贝叶斯分类器将通过返回给定邮件的一组类别中具有最大后验概率的类别来运行(即“垃圾邮件”或“非垃圾邮件”)。该计算可以使用以下公式表示:
由于每个类都引用同一段文本,我们实际上可以从这个等式中消除分母,将其简化为:
然后,根据测试数据集的性能评估基于训练数据集的学习算法的准确性。
为了进一步解释这一公式,我们将更深入地了解构成这一公式的各个部分。类条件概率是电子邮件中每个单词的个别可能性。这些概率通过每个类别(即“垃圾邮件”或“非垃圾邮件”)中的每个单词的频率来计算,也称为最大似然估计 (MLE)。在此示例中,如果我们要检查短语“尊敬的先生”,我们只需计算这些单词在所有垃圾邮件和非垃圾邮件中出现的频率。这可以用下面的公式表示,其中 y 是“尊敬的先生”,x 是“垃圾邮件”。
先验概率正是我们之前用贝叶斯定理描述过的。基于训练集,我们可以计算电子邮件是“垃圾邮件”或“非垃圾邮件”的总体概率。类标签“垃圾邮件”的先验概率将可以表示如下:
当两个值相乘时,先验概率充当类条件概率的“权重”,从而得出个别的后验概率。然后,计算最大后验 (MAP) 估计值,以分配垃圾邮件或非垃圾邮件的类标签。朴素贝叶斯方程的最终表示可以表示如下:
或者,它可以在对数空间中表示,因为朴素贝叶斯通常以这种形式使用:
评估分类器的一种方法是绘制混淆矩阵,该矩阵将在矩阵中绘制实际值和预测值。通常,行表示实际值,而列表示预测值。许多指南会将这一图形表示为 2 x 2 的图,如下所示:
但是,如果要预测从 0 到 9 的图像,则会得到一个 10 x 10 的图。如果您想知道分类器将 4 和 9 的图像“混淆”的次数,您只需要检查第 4 行和第 9 列。
朴素贝叶斯分类器不止一种。最常用的类型根据特征值的分布而有所不同。其中一些包括:
所有这些都可以通过 Scikit Learn 实现(ibm.com 外部链接)Python 库(也称为 sklearn)。
与许多其他算法一样,朴素贝叶斯属于数据挖掘算法家族,可将大量数据转化为有用的信息。朴素贝叶斯的一些应用包括:
IBM Cloud Pak for Data 是一个开放的、可扩展的数据平台,它提供了一个数据结构,使所有数据在任何云上都可用于 AI 和分析。
构建、运行和管理 AI 模型。使用开源代码或可视化建模在任何云上准备数据并构建模型。预测并优化您的结果。
采取下一步行动,开始为企业实施和扩展生成式 AI 和机器学习。
了解 AI 和生成式 AI 的基本概念,包括提示工程、大型语言模型和最佳开源项目。
在本文中,IBM® Research 通过实证方法证明了类条件特征分布熵的降低如何影响朴素贝叶斯分类器的误差。
IBM® Research 使用蒙特卡洛模拟表明,朴素贝叶斯在两种情况下效果最佳:完全独立的特征和功能依赖的特征。
深入了解解决基于分类的机器学习问题的基础知识,并对当前最常用的部分算法进行比较研究。
通过 scikit-learn 完成使用多项式朴素贝叶斯的常用文本分类任务(垃圾邮件过滤)。