朴素贝叶斯算法是一种基于著名贝叶斯定理的分类算法。那么让我们先了解一下Bayes定理是怎么说的,并为朴素贝叶斯算法定理建立自己的理解,它是如何工作的,它为什么被称作朴素? 贝叶斯定理在深入研究贝叶斯定理之前,我们需要了解一些术语- 1. 独立事件和从属事件 1. 边际概率 1. 联合概率 1. 条件概率 独立事件和从属事件 考虑两个事件A和B。当事件A的发生概率不依赖于事件B的发生时,则A和B是独立的事件。例如,如果你有两枚普通硬币,那么两枚硬币的正面概率都是0.5。因此,事件是独立的。 现在考虑一个包含5个球的盒子-2个黑色和3个红色。先画一个黑球的概率是2/5。现在从剩下的4个球中再抽出一个黑球的概率是1/4。在这种情况下,这两个项目是依赖的,因为第二次画黑球的概率取决于第一次走时画的是哪个球。 边际概率 边际概率只是事件的概率,与其他随机变量的结果无关,例如P(A)或P(B)。 联合概率 联合概率是两个不同事件同时发生的概率,即两个(或更多)同时发生的事件,例如P(A和B)或P(A,B)。 条件概率 条件概率是给定另一事件发生的一个(或多个)事件的概率,换句话说,它是当次要事件B为真实事件A发生的概率,例如P(A给定B)或P(A | B)。 理解所以考虑前面的例子,一个盒子有3个红色和2个黑色的球。在第一次出发时捡到红球的概率为2/5。这是P(A)。现在,从剩下的3个红球和1个黑球中,再画一个黑球的概率是1/4,即P(B | A)。现在这是绘制一个黑球的条件概率,因为一个黑球已经在第一次执行时被绘制出来了,这是事件a。 如果我们把这两个概率相乘,我们会得到1/10,这是联合概率P(A,B)。 将上述方程中P(A,B)和P(B)的值代入,我们得到P(B | A)=1/4。所以1/4是当A已经发生时事件B的条件概率(依赖事件)。 同样,我们也可以将P(A | B)定义为: 现在我们很清楚P(A,B)=P(B,A)。因此,将我们得到的两个方程等价: 这里,P(B)是先验概率,P(A | B)是似然概率,P(A)是边际概率,P(B | A)是后验概率。 朴素贝叶斯定理我们刚才讨论的Bayes定理非常简单,可以用于分类任务,无论是二分类还是多分类。 假设我们手头有一个分类机器学习问题。假设我们有5个特征X1,X2,X3,X4和X5,目标变量是Y。现在我们需要将数据拟合到这个Bayes定理中,这样它就能够预测Y类的概率,给定一组5个数据点(见Bayes规则的应用)。 我们得到上面的方程。这可以表现为: 这里π符号只是对似然概率的乘积求和。如果你仔细观察,分母或者边际概率对于所有的例子都是常数。因此,我们可以将上述等式的比例性定义为: 现在这将给出这两个类的概率。一个将更高(我们将其视为预测类),另一个将更低。因此,我们将使用它的argmax()来获取该值。 现在考虑使用下面的简单数据集,其中有两个表:Outlook(外出活动)和Temperature(温度)。这里的前景有三种可能性,即晴天、阴天和雨天,结果是肯定的/否定的人是否会打网球。 类似地,第二个表包含关于温度及其对结果是/否的影响的数据。 ![]() 是与否的总概率如下: ![]() 现在面临的问题是,如果天气晴朗,气温炎热,我们需要确定这个人是否会参加比赛。或者根据概率,我们需要找到P(Yes|Today) ,今天在哪里(晴朗,炎热)。这里的天气和温度只是我们数据集的两个特征。所以方程变成: ![]() 通过插入上表中的值,求解P(Yes|Today)和P(No|Today)的上述值: ![]() 所以从概率上看,很明显 P(No|Today)更高,所以这个例子的预测是'No'。但是,这些不是类概率,你可能已经注意到它们加起来不等于1。因此,我们需要规范化上述条件概率,以获得类概率: ![]() 为了得到No的类概率,我们可以简单地从1中减去这个概率。因此,No的概率为1–0.27=0.73。 因此,算法将类预测为'否'。 为什么叫'朴素'现在,说到最重要的问题(也是本文的标题),这个朴素的贝叶斯分类器有什么'朴素'的呢? 在推导5个特征的数据集方程时,我们只需乘以各个特征的所有条件概率,比如P(X1 | Y)P(X2 | Y)….P(X5 | Y)。当我们假设特征相互独立时,我们只能把总的条件概率写成特征的个别条件概率的乘积。这是我们在这里做的'天真'假设,是为了让贝叶斯定理对我们有用。 但是,在现实生活中,当特性彼此独立时,几乎从来没有这种情况。功能中总是有某种依赖关系。例如,如果一个特征是一个人的年龄,而另一个特征是年薪,那么在大多数情况下都有明显的依赖关系。 然而,我们仍然继续把这个定理应用于分类问题,甚至文本分类,它的效果出奇的好! 作者:Chayan Kathuria deephub翻译组 |
|
来自: taotao_2016 > 《概率》