朴素贝叶斯相关概念
2016-09-18 21:26
127 查看
朴素贝叶斯
朴素贝叶斯是贝叶斯分类器里的一种方法。之所以称它朴素,原因就在于做出了特征条件全部独立的假设,但实际上,特征相互之间很大程度上都不是独立的,都有一些内在联系。但是,实践证明这因素也并未产生多大影响。基于以上,可以总结,
1. 当样本特征数量比较多,且相关性比较大时,不适宜用朴素贝叶斯分类器,可以采用更好的如决策树等。
2. 当样本特征相关性不是那么强时,便可采用。
数学模型
首先来回忆一下贝叶斯定理:- P(A)、P(B) 分别是事件A、B发生的先验概率。之所以称为‘先验’,是因为这个概率是我们根据经验和分析而得出的,比如根据伯努利大数定律,我们用事件发生的频率来计算发生的概率。
- P(A|B)、P(B|A)分别是在事件B/A发生的条件下,事件A/B发生的概率,也就是所说的后验概率。
接着建立朴素贝叶斯模型:
输入空间 X∈Rn ,输出空间是类别标记集合 Y={C1,C2,C3…Ck}
P(X,Y)是X和Y的联合概率分布。训练数据T={(x1,y1),(x2,y2,)(x3,y3)…,(xn,yn)} 是由P(X,Y)独立同分布产生。要注意的是,这里的xi实际上是一个多维向量,yi代表的是分类的标签。
P(X,Y)实际上就通过训练数据集学习出来的。P(X,Y)=P(Y=Ck)*P(X=x|Y=Ck) 。具体的,
P(Y=Ck)可以通过训练样本内各个类别的数目来计算。
P(X=x|Y=Ck) = P(X1=x1,···,Xn=xn | Y=Ck),当假设各条件独立时,就变为了:
当我们对给定的输入数据x,可以通过学习到的模型计算其后验概率P(Y=Ck|X=x),要注意的是,这里是对所有类别标签Ck∈Y进行分别计算,最后将后验概率最大的类作为x的类别输出:
根据以上公式可以看到,对于所有Ck,根据全概率,都是相同的,也就是我们只要比较分子就可以了。所以,最后的模型是:
拉普拉斯平滑:
在计算后验概率时,有时候会出现所要估计的概率值为0的情况,也就是可能在某一个类别下,某特征并未出现过。解决这种问题的方法就是,分子加上一,分母加上特征的个数,即:以上,λ通常取为1,即为拉普拉斯平滑。
实例
关于一个论坛垃圾账号分类的例子,详见下面这篇文章:http://blog.csdn.net/wy250229163/article/details/51767843