您的位置:首页 > 大数据

【分类】朴素贝叶斯算法学习

2016-07-27 18:28 281 查看
有一段时间没有推演算法了,用分类算法里据说挺简单的朴素贝叶斯来练习一下。

朴素贝叶斯公式如下:

  P(C/W) = P(C) * P(W/C) / P(W)

C:类别

W:文章

公式左侧:

P(C/W) : 某文本属于某类别的概率

公式右侧:

P(C):先验概率,某个类别的文本数 / 总文本数。 

                  我理解这个值是用来总体调节概率的。比如说某个类别在训练材料中出现的频率特别低,考虑训练材料取材的真实性,我们认为这个类别在实际的环境中存在的概率也会很低。因此乘以先验概率是用来调节总体概率的。

P(W/C): P(W/C) = P(w1, w2, w3,  ... wn / C) =  [b]∏ P(wi / C)[/b]

                  P(w1, w2, w3,  ... wn / C) 是指一篇文章中的每一个词对于某个类别的概率。即这个类别的所有文章中,含有这个词的文章数/总文章数得出的概率。从P(w1, w2, w3,  ... wn / C) 到 ∏ P(wi / C) 之间这步推演,是这个算法之所以称为”朴素贝叶斯“的原因。”朴素“指的是忽略组成一篇文章的各个词之间的影响因素,我们认为出现任何一个词的概率都是独立的,不互相影响的。因此P(w1,
w2, w3,  ... wn / C)等于每个词对于这个类别的概率之积,即所有词对于类别的概率组成了文章对于类别的概率。

P(W):∑(P(W/Ci) * P(Ci))

                  这篇文章出现在各个类别的概率之和。

根据这个公式我猜想,在训练的时候我们应当得到这些值:

1. 文章总数

2. 各类别的文章数目

3. 对于每个词,保存包含这个词的文章在每个类别的篇数。并对此类记录建立索引

这样在输入一个新的文章时,可以快速套用贝叶斯公式得到概率。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  贝叶斯 算法 大数据