机器学习(五):贝叶斯算法

持续更新中。。。


贝叶斯定理相关公式

  • 先验概率P(A):在不考虑任何情况下,A事件发生的概率
  • 条件概率P(B|A):A事件发生的情况下,B事件发生的概率
  • 后验概率P(A|B):在B事件发生之后,对A事件发生的概率的重新评估。条件概率和后验概率区别
  • 全概率:如果B和B’构成样本空间的一个划分,那么事件A的概率为:B和B’的概率分别乘以A对这两个事件的概率之和。
  • 贝叶斯定理: $$P(B_i|A)=\frac{P(AB_i)}{P(A)}=\frac{P(B_i)P(A|B_i)}{\sum_j P(B_j)P(A|B_j)}$$

贝叶斯不同于SVM、逻辑回归与决策树等判别式模型,它属于生成式模型(LDA、HMM等)。
贝叶斯思想可以概括为先验概率+数据=后验概率,后验概率就是我们要求的。


朴素贝叶斯

朴素贝叶斯模型(Naive Bayesian Model)的朴素(Naive)的含义是很简单地假设样本特征彼此独立. 这个假设现实中基本上不存在, 但特征相关性很小的实际情况还是很多, 所以很多时候这个模型仍然能够工作得很好。

如果样本特征属性关联很大,朴素贝叶斯就没法很好解决这类问题,可以考虑使用贝叶斯网络。


高斯朴素贝叶斯

Gaussian Naive Bayes是指当 特征属性为连续值时,而且分布服从高斯分布
那么在计算 P(x|y) 的时候可以直接使用高斯分布的概率公式:

因此只需要计算出各个类别中此特征项划分的各个均值和标准差


伯努利朴素贝叶斯

Bernoulli Naive Bayes是指当 特征属性为连续值时,而且分布服从伯努利分布,
那么在计算 P(x|y) 的时候可以直接使用伯努利分布的概率公式:

伯努利分布是一种离散分布,只有两种可能的结果。1表示成功,出现的概率为p;
0表示失败,出现的概率为q=1-p;其中均值为E(x)=p,方差为Var(X)=p(1-p)


多项式朴素贝叶斯

Multinomial Naive Bayes是指当 特征属性服从多项分布,从而对于每个类别y,
参数为θy =(θy1, θy2,…,θyn),其中n为特征属性数目,那么P(xi|y)的概率为θyi


贝叶斯网络

当多个特征属性之间存在着某种相关关系的时候,使用朴素贝叶斯算法就没法解决这类问题,那么贝叶斯网络就是解决这类应用场景的一个非常好的算法。

把某个研究系统中涉及到的随机变量,根据是否条件独立绘制在一个有向图中,就形成了贝叶斯网络。

贝叶斯网络(BN),又称有向无环图模型,是一种概率图模型,根据概率图的拓扑结构,考察一组随机变量{X1, X2,…,Xn}及其N组条件概率分布的性质。

一般而言,贝叶斯网络的有向无环图中的节点表示随机变量,可以是可观察到的变量,或隐变量,未知参数等等。连接两个节点之间的箭头代表两个随机变量之间的因果关系(也就是这两个随机变量之间非条件独立),如果两个节点间以一个单箭头连接在一起,表示其中一个节点是“因”,另外一个是“果”,从而两节点之间就会产生一个条件概率值。

注意:每个节点在给定其直接前驱的时候,条件独立于其后继。

更多细节见我整理的PDF文件。


如何用贝叶斯算法实现垃圾邮件检测

原文:https://github.com/SunnyMarkLiu/NaiveBayesSpamFilter

原文:https://blog.csdn.net/Gane_Cheng/article/details/53219332


当你输入错误单词时,搜索引擎会进行拼写检查并提示正确单词,如何用贝叶斯算法实现相关逻辑