本文主要介绍了贝叶斯算法的基本原理以及基于Python的朴素贝叶斯分类算法的实现。
贝叶斯定理
我们先从理论方面来讲讲著名的贝叶斯定理- 条件概率
条件概率(又称后验概率)就是事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为P(A|B),读作“在B条件下A的概率”。
比如,在同一个样本空间 Ω 中的事件或者子集A与B,如果随机从 Ω 中选出的一个元素属于B,那么这个随机选择的元素还属于A的概率就定义为在B的前提下A的条件概率,所以: P(A|B)=|A∩B||B| ,接着分子、分母都除以 Ω 得到:
P(A|B)P(A∩B)P(B) - 联合概率
联合概率表示两个事件共同发生的概率,如:A与B的联合概率表示为 P(A∩B) 或者 P(A,B) - 边缘概率(先验概率)
边缘概率是某个事件发生的概率。在联合概率中,把最终结果中那些不需要的事件通过合并成它们的全概率,而消去它们(对离散随机变量用求和得全概率,对连续随机变量用积分得全概率),这称为边缘化(marginalization),比如A的边缘概率表示为 P(A) ,B的边缘概率表示为 P(B) 。 - 贝叶斯公式
首先,在事件B发生之前,我们对事件A的发生有一个基本的概率判断,称为A的先验概率,用 P(A) 表示;同理,事件B的先验概率可用 P(B) 表示。
在事件B发生之后,我们对事件A的发生概率重新评估,称为A的后验概率,用 P(A|B) 表示;同理,事件B的后验概率为 P(B|A)
根据条件概率的定义,在事件B发生的条件下事件A发生的概率是:
P(A|B)=P(A∩B)P(B)
同理,事件A发生的条件下时间B发生的概率是:
P(B|A)=P(A∩B)P(A)
整理与合并上述两条等式,便可以得到:
P(A|B)P(B)=P(A∩B)=P(B|A)P(A)
若
- 条件概率