主页 topics 朴素贝叶斯 什么是朴素贝叶斯分类器?
使用 watsonx.ai 应用奈维贝叶斯 订阅 AI 最新消息
包含云朵、饼图、象征符号图形的拼贴插图
什么是朴素贝叶斯分类器?

朴素贝叶斯分类器是一种监督式机器学习算法,用于文本分类等分类任务。他们使用概率原理来执行分类任务。

朴素贝叶斯是生成式学习算法家族的一部分,也就是说,它会试图对给定类或类别的输入分布进行建模。与判别分类器(如逻辑回归)不同,它不会学习哪些特征对于区分类最重要。

AI 数据存储

了解将数据湖仓一体策略集成到您的数据架构的强大功能,包括扩展 AI 的增强功能和成本优化机会。

相关内容

立即注册,获取有关生成式 AI 的电子书

查看我们的教程,了解如何使用 Python 应用该分类器
贝叶斯统计简述

朴素贝叶斯也被称为概率分类器,因为它基于贝叶斯定理。如果不解释贝叶斯统计的基本原理,就很难解释这种算法。这个定理,也称为贝叶斯规则,允许我们“反转”条件概率。作为提醒,条件概率表示在某个事件发生的情况下另一个事件发生的概率,其公式如下所示:

贝叶斯定理的特点是它使用连续事件,其中后续获得的额外信息会影响初始概率。这些概率分别称为先验概率和后验概率。先验概率是指某事件在特定条件下被情境化之前的初始概率,也称为边际概率。后验概率是指观察到某一数据后发生事件的概率。

 

统计学和机器学习文献中用于证明这一概念的常见示例是医学检验(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 列。

朴素贝叶斯分类器的类型

朴素贝叶斯分类器不止一种。最常用的类型根据特征值的分布而有所不同。其中一些包括:

  • 高斯朴素贝叶斯 (GaussianNB):这是朴素贝叶斯分类器的一种变体,适用于高斯分布,即正态分布和连续变量。该模型通过找出每个类别的平均值和标准偏差进行拟合。
  • 多项式朴素贝叶斯 (MultinomialNB):这种类型的朴素贝叶斯分类器假定特征来自多项式分布。此变体在使用离散数据(例如频率计数)时很有用,通常应用于自然语言处理用例中,比如垃圾邮件分类。
  • 伯努利朴素贝叶斯 (BernoulliNB):这是朴素贝叶斯分类器的另一种变体,与布尔变量一起使用,即具有两个值的变量,例如 True 和 False 或 1 和 0。

所有这些都可以通过 Scikit Learn 实现(ibm.com 外部链接)Python 库(也称为 sklearn)。

朴素贝叶斯分类器的优点和缺点
优势
  • 较为简单:与其他分类器相比,朴素贝叶斯被认为是一种更简单的分类器,因为参数更容易估计。因此,它是数据科学和机器学习课程中最先学习的算法之一。
  • 扩展性好:与逻辑回归相比,朴素贝叶斯被认为是一种快速高效的分类器,在条件独立假设成立的情况下,其准确性相当高。它的存储要求也很低。
  • 可处理高维数据:诸如文档分类等用例可能具有很多维度,其他分类器很难对其进行管理。
缺点:
  • 受零频率影响:当训练集中不存在分类变量时,就会出现零频率。例如,假设我们试图找到给定类“垃圾邮件”的单词“先生”的最大似然估计器,但训练数据中不存在单词“先生”。在这种情况下,概率会为零,由于该分类器将所有条件概率相乘,这也意味着后验概率将为零。为了避免这个问题,可以利用拉普拉斯平滑法。
  • 不切实际的核心假设:虽然条件独立假设总体上表现良好,但该假设并不总是成立,导致错误的分类。
朴素贝叶斯分类器的应用

与许多其他算法一样,朴素贝叶斯属于数据挖掘算法家族,可将大量数据转化为有用的信息。朴素贝叶斯的一些应用包括:

  • 垃圾邮件过滤:垃圾邮件分类是文献中引用的朴素贝叶斯最常用的应用之一。要更深入地了解此用例,请查看 Oreilly 章节(ibm.com 外部链接)。
  • 文档分类:文档和文本分类密切相关。朴素贝叶斯的另一个常见用例是内容分类。想象一下新闻媒体网站的内容类别。所有内容类别都可以根据网站上每篇文章在主题分类法下进行分类。Federick Mosteller 和 David Wallace 在他们 1963 年的论文中首次应用了贝叶斯推理(ibm.com 外部链接)。
  • 情感分析:这是文本分类的另一种形式,通常用于市场营销,旨在更好地理解和量化特定产品和品牌的观点和态度。
  • 心理状态预测:利用 fMRI 数据,朴素贝叶斯已被用来预测人类之间不同的认知状态。这项研究(ibm.com 外部链接)旨在帮助更好地理解隐藏的认知状态,特别是在脑损伤患者中。
相关产品
IBM Cloud Pak for Data

IBM Cloud Pak for Data 是一个开放的、可扩展的数据平台,它提供了一个数据结构,使所有数据在任何云上都可用于 AI 和分析。

了解有关 IBM Cloud Pak for Data 的更多信息
IBM Watson Studio

构建、运行和管理 AI 模型。使用开源代码或可视化建模在任何云上准备数据并构建模型。预测并优化您的结果。

了解有关 IBM Watson Studio 的更多信息
watsonx.ai

采取下一步行动,开始为企业实施和扩展生成式 AI 和机器学习。

深入了解 watsonx.ai
资源 生成式 AI 技术的免费实践学习

了解 AI 和生成式 AI 的基本概念,包括提示工程、大型语言模型和最佳开源项目。

低熵分布的朴素贝叶斯分类器分析

在本文中,IBM® Research 通过实证方法证明了类条件特征分布熵的降低如何影响朴素贝叶斯分类器的误差。

影响朴素贝叶性能的数据特征分析

IBM® Research 使用蒙特卡洛模拟表明,朴素贝叶斯在两种情况下效果最佳:完全独立的特征和功能依赖的特征。

使用 Python 和 scikit-learn 的学习分类算法

深入了解解决基于分类的机器学习问题的基础知识,并对当前最常用的部分算法进行比较研究。

使用多项式朴素贝叶斯算法对数据进行分类

通过 scikit-learn 完成使用多项式朴素贝叶斯的常用文本分类任务(垃圾邮件过滤)。

采取后续步骤

使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。

深入了解 watsonx.ai 预约实时演示