朴素贝叶斯

Python publisher01 36℃

学习机器学习最简单的算法可以说就是 朴素贝叶斯了,今天分享下自己的学习心得。

什么是贝叶斯,什么是朴素贝叶斯

贝叶斯概率以 18 世纪的一位神学家托马斯·贝叶斯 (Thomas Bayes) 的名字命名。贝叶斯概率引入先验知识和逻辑推理来处理不确定命题。另一种概率解释称为频数概率 (frequency probability),它只从数据本身获得结论,并不考虑逻辑推理及先验知识。

朴素贝叶斯中的朴素一词的含义是指:整个形式化过程,我们只做最原始、最简单的假设。

条件概率定义:

事件 A 在另外一个事件 B 已经发生条件下的发生概率。条件概率表示为 P(A|B),读作“在B条件下A的概率”。

举个栗子:假设现在有一个装了 7 块石头的罐子,其中 3 块是灰色的,4 块是黑色的,如果从罐子里随即取出一块石头,那么是灰色石头的可能性是多少?很显然,答案是3/7。

那么如果把这些石头分别放到两个桶中,A 桶中为 2 块灰色 2 块黑色,B 桶中为 1 块灰色 2 块黑色,那么取出灰色石头的概率又该如何计算呢?

在 A 桶中取出灰色石头的概念 P(灰色|A) = 2/4 = 0.5 = P(灰色,A) / P(A) = (1/4) / (1/2) = 0.5

即 P(灰色|A) = P(灰色,A) / P(A) 即 P(灰色,A) = P(A) x P(灰色|A)

同理 P(A,灰色) = P(灰色) x P(A|灰色)

即 P(灰色,A) = P(A,灰色) = P(A) x P(灰色|A) = P(灰色) x P(A|灰色)

因此:P(灰色|A) = P(灰色) x P(A|灰色) / P(A)

假如把这里的 A 理解为文本样本,灰色表示敏感词,那么我们就可以使用朴素贝叶斯来实现一个敏感词过滤系统。

其中,P(灰色), P(A|灰色), P(A) 都可以从训练数据很容易求得。明天分享下如何使用 Python 来实现它。

转载请注明:Python量化投资 » 朴素贝叶斯

喜欢 (0)or分享 (0)