摘要:
1.算法概述
2.算法推导
3.算法特性及优缺点
4.注意事项
5.实现和具体例子
内容:
1.算法概述
贝叶斯分类算法是统计学的一种分类方法,其分类原理就是利用贝叶斯公式根据某对象的先验概率计算出其后验概率,然后选择具有最大后验概率的类作为该对象所属的类。
之所以称之为"朴素",是因为贝叶斯分类只做最原始、最简单的假设:
1,所有的特征之间是统计独立的;
2,所有的特征地位相同。那么假设某样本x有a1,...,aM个属性
那么有:P(x)=P(a1,...,aM) = P(a1)*...*P(aM);这里给出NB的模型函数:
根据变量的分布不同,NB也分为以下3类:
朴素贝叶斯的高斯模型(连续变量,符合高斯分布)
朴素贝叶斯的多项式模型(离散变量,符合多项分布),NLP分类中典型假设
朴素贝叶斯的伯努利模型(离散变量,符合二项分布),在文本分类的情境中,被用来训练和使用这一分类器的是词语同现向量
2.算法推导
贝叶斯定理:
其中P(A|B)是在B发生的情况下A发生的可能性。
在贝叶斯定理中,每个名词都有约定俗成的名称:
P(A)是A的先验概率或边缘概率。之所以称为"先验"是因为它不考虑任何B方面的因素。
P(A|B)是已知B发生后A的条件概率,也由于得自B的取值而被称作A的后验概率。
P(B|A)是已知A发生后B的条件概率,也由于得自A的取值而被称作B的后验概率。
P(B)是B的先验概率或边缘概率,也作标准化常量(normalizing constant).
由贝叶斯公式和各特征相互独立的情况下,将贝叶斯公式A替换为y,B替换为X;得到如下公式:
y的后验概率的计算方法:
1,离散分布-当特征属性为离散值时,只要统计训练样本中各个划分在每个类别中出现的频率即可用来估计P(a|y)。
2,连续分布-当特征属性为连续值时,通常假定其值服从高斯分布(正态分布)。
即:,而
取对数:
实际项目中,概率P往往是值很小的小数,连续的微小小数相乘容易造成下溢出使乘积为0或者得不到正确答案。一种解决办法就是对乘积取自然对数,将连乘变为连加,ln(AB)=lnA+lnB。
3.算法特性及优缺点
优点:算法简单、所需估计参数很少、对缺失数据不太敏感。另外朴素贝叶斯的计算过程类条件概率等计算彼此是独立的,因此特别适于分布式计算。朴素贝叶斯属于生成式模型,收敛速度将快于判别模型(如逻辑回归);对缺失数据不太敏感
缺点:因为朴素贝叶斯分类假设样本各个特征之间相互独立,这个假设在实际应用中往往是不成立的,从而影响分类正确性;不能学习特征间的相互作用;对输入数据的表达形式很敏感。
4.注意事项
Laplace校准:
修改后的表达式为:每个z=j的分子都加1,分母加k。
5.实现和具体例子
文本分类:http://blog.jasonding.top/2015/04/23/Machine%20Learning%20Experiments/【机器学习实验】使用朴素贝叶斯进行文本的分类
垃圾邮件过滤:吴恩达的斯坦福公开课