什么是朴素贝叶斯分类器?

什么是朴素贝叶斯分类器?

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

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

小球在轨道上滚动的三维设计

最新的 AI 新闻 + 洞察分析

在每周的 Think 时事通讯中,发现专家精选的有关 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 列。

朴素贝叶斯分类器的类型

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

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

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

专家荟萃 | 播客

解码 AI:每周新闻摘要

加入我们的世界级专家团队,包括工程师、研究人员、产品负责人等,他们将穿透 AI 的喧嚣,为您带来最新的 AI 新闻和见解。

朴素贝叶斯分类器的优点和缺点

优势

  • 较为简单:与其他分类器相比,朴素贝叶斯被认为是一种更简单的分类器,因为参数更容易估计。因此,它是数据科学和机器学习课程中最先学习的算法之一。
  • 扩展性好:与逻辑回归相比,朴素贝叶斯被认为是一种快速高效的分类器,在条件独立假设成立的情况下,其准确性相当高。它的存储要求也很低。
  • 可处理高维数据:诸如文档分类等用例可能具有很多维度,其他分类器很难对其进行管理。

缺点:

  • 受零频率影响:当训练集中不存在分类变量时,就会出现零频率。例如,假设我们试图找到给定类“垃圾邮件”的单词“先生”的最大似然估计器,但训练数据中不存在单词“先生”。在这种情况下,概率会为零,由于该分类器将所有条件概率相乘,这也意味着后验概率将为零。为了避免这个问题,可以利用拉普拉斯平滑法。
  • 不切实际的核心假设:虽然条件独立假设总体上表现良好,但该假设并不总是成立,导致错误的分类。

朴素贝叶斯分类器的应用

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

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

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

了解 watsonx.ai
人工智能 (AI) 解决方案

借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。

深入了解 AI 解决方案
AI 咨询与服务

通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。

深入了解人工智能服务
采取后续步骤

一站式访问跨越 AI 开发生命周期的功能。利用用户友好型界面、工作流并访问行业标准 API 和 SDK,生成功能强大的 AI 解决方案。

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