朴素贝叶斯算法

引言

bayes在统计学上是一个非常重要的概念,直接导致了一个流派的诞生,本章我们首先回顾一下bayes公式,以及其在统计学上的一些概念,然后将其引入到机器学习中,引出朴素贝叶斯算法。朴素贝叶斯算法在垃圾邮件过滤等问题上应用广泛,是一个很简单且很实用的算法。

Bayes定理

在数学上,我们用贝叶斯定理表示随机事件的条件概率,即 表示事件B发生的情况下A发生的概率。

通过下图,我们可以得到下面的公式

kmeans

这个简单的公式就是bayes公式。

将上面的公式做一下变化,可以得到

其中 我们称之为先验概率, 我们称之为 给定条件B下的 的后验概率。

这个公式就有意义了,我们就将后验概率和先验概率以及条件概率结合到了一起了。

那么这个公式有什么用呢?我们继续向下看。

朴素贝叶斯

所谓的朴素贝叶斯就是指满足了两个基本条件假设的算法:

1) 贝叶斯定理
2) 特征条件独立

为什么要强调特征独立假设呢?其实这个是朴素贝叶斯和贝叶斯的本质区别,我们继续向下看。

假设给定训练数据 其中表示特征,为标签,假设取值为,那么我们希望得到下面的模型,即给定特征,求标签,即最大化概率

根据Bayes定理,有:

而根据之前的特征独立假设,有:

所以有:

因为分母相等,所以实际上 取决于分子,因此我们只要计算出先验概率以及条件概率的累积 ,就可以算出来特征属于每一个类别的概率大小顺序,那么概率最大对应的标签就是特征的对应的类别。

因此问题转化为了最大化下面的公式:

那么问题就转化为了需要估计参数

极大似然估计

这里我们用极大似然估计来计算上面的两个概率,这两个概率就是朴素贝叶斯模型中的参数

假设特征的取值范围为,则有:

bayes估计

上面我们用了极大似然估计,然而极大似然估计可能会出现概率值为0的情况,这个影响后验概率的计算,因此引入贝叶斯估计,即条件概率改为如下的公式:

先验概率修改为:

一般情况下可以取

朴素贝叶斯算法

有了上面的推导,我们可以得到朴素贝叶斯的算法,如下所示:

1) 根据训练数据求取先验概率和条件概率

(这里也可以采用贝叶斯估计的公式)

2) 根据给定特征,计算

3) 确定特征的类别

实例分析

显示 Gitment 评论