AI 基础

贝叶斯定理是什么?

mm
将 Unite.AI 添加到您在 Google 上的首选来源

如果您正在学习数据科学或机器学习,很可能您以前已经听说过“贝叶斯定理”或“贝叶斯分类器”这些术语。这些概念可能会有些令人困惑,尤其是如果您不习惯从传统的、频率学的统计学角度思考概率问题。这个文章将尝试解释贝叶斯定理背后的原理以及它在机器学习中的应用。

什么是贝叶斯定理?

贝叶斯定理是一种计算条件概率的方法。传统的计算条件概率的方法是使用条件概率公式,计算两个事件同时发生的联合概率,然后除以第二个事件发生的概率。然而,条件概率也可以通过贝叶斯定理以稍微不同的方式计算。

当使用贝叶斯定理计算条件概率时,您需要遵循以下步骤:

  • 确定条件B为真的概率,假设条件A为真。
  • 确定事件A为真的概率。
  • 将两个概率相乘。
  • 除以事件B发生的概率。

这意味着贝叶斯定理的公式可以表示为:

P(A|B) = P(B|A)*P(A) / P(B)

这种计算条件概率的方法特别有用,当逆条件概率可以容易地计算出来,或者当计算联合概率太具有挑战性时。

贝叶斯定理的例子

让我们通过一个例子来解释贝叶斯定理的应用。假设您正在玩一个简单的游戏,多个参与者告诉您一个故事,您需要确定哪个参与者在对您撒谎。让我们用这个假设场景中的变量填充贝叶斯定理的公式。

我们尝试预测每个参与者是否在撒谎或说真话,因此,如果除了您之外还有三个参与者,类别变量可以表示为A1、A2和A3。他们撒谎或说真话的证据是他们的行为。就像玩扑克牌一样,您会寻找某些“线索”来判断一个人是否在撒谎,并使用这些信息来推断您的猜测。或者,如果您被允许询问他们,它将是任何证据表明他们的故事不成立的东西。我们可以将他们撒谎的证据表示为B。

为了明确,我们的目标是预测概率(A撒谎/说真话|给定他们行为的证据)。为此,我们需要确定B给A的概率,即他们行为的概率,假设这个人真正撒谎或说真话。您尝试确定在哪种条件下您看到的行为最有意义。如果您看到三种行为,您将为每种行为进行计算。例如,P(B1、B2、B3 * A)。您将为游戏中的每个参与者(除了您自己)执行此操作。这是公式中的这一部分:

P(B1, B2, B3,|A) * P|A

最后,我们只需将其除以B的概率。

如果我们收到任何关于这个等式中实际概率的信息,我们将重新创建我们的概率模型,考虑新的证据。这被称为更新先验概率,因为您更新了对先验事件发生概率的假设。

贝叶斯定理在机器学习中的应用

贝叶斯定理在机器学习中最常见的应用是通过朴素贝叶斯算法。

朴素贝叶斯用于二元和多类数据集的分类,朴素贝叶斯之所以得名,是因为分配给证据/属性的值(Bs在P(B1、B2、B3 * A)中)被假定为相互独立。它假设这些属性不会相互影响,以简化模型并使计算成为可能,而不是尝试计算每个属性之间的关系。尽管这个模型被简化,朴素贝叶斯仍然倾向于作为分类算法表现良好,即使这种假设可能并不成立(大多数情况下都是如此)。

还有常用的朴素贝叶斯分类器变体,例如多项式朴素贝叶斯、伯努利朴素贝叶斯和高斯朴素贝叶斯。

多项式朴素贝叶斯算法通常用于文档分类,因为它在解释文档中单词的频率方面非常有效。

伯努利朴素贝叶斯的工作方式与多项式朴素贝叶斯类似,但算法生成的预测是布尔值。这意味着,当预测一个类别时,值将是二元的,即是或否。在文本分类的领域中,伯努利朴素贝叶斯算法将根据单词是否出现在文档中为参数分配是或否的值。

如果预测器/特征的值不是离散的,而是连续的,高斯朴素贝叶斯可以使用。它假设连续特征的值是从高斯分布中采样出来的。

博客作者和程序员,专攻 Machine Learning Deep Learning 领域。Daniel 希望帮助他人利用 AI 的力量为社会做好事。