上一篇:决策树
1. 简单理论介绍
1.1 贝叶斯定理
了解贝叶斯定理之前,需要先了解下条件概率。P(A|B)表示在事件B已经发生的条件下事件A发生的概率:
P(A|B)=P(AB) P(B)daf afdfd
假如我们已经知道了P(A|B),但是现在我们想要求P(B|A),也就是在事件A发生的条件下事件B发生的概率,这时贝叶斯定理就派上用场了。
P(B|A)=P(A|B)P(B) P(A)daf afdfd
1.2 朴素贝叶斯分类原理
朴素贝叶斯分类是以贝叶斯定理为基础的,之所以称为“朴素”,是因为整个过程只做最原始、最简单的假设。假设我们现在有一个训练数据集,该数据集的特征向量为,n表示特征的个数,同时也有该数据集的类别标签向量
,s表示类别的个数,现在就是要计算
,i=[0,s-1],也就是说根据现有的这些特征来计算它所属类别标签中的每个类别的概率,最后取概率最大的分类标签为结果。那么如何计算
呢?由贝叶斯定理可得:
假设特征之间互相独立,则:
由于分母P(w)的值都一样,所以只需计算分子就可以了,即:
接下来我们用一个例子来说明下朴素贝叶斯分类原理,该例子来源于阮一峰的《朴素贝叶斯分类器的应用》。根据某社区网站的抽
样统计,该站10000个账号中有89%为真实账号(设为C0),11%为虚假账号(设为C1),P(C0)=0.89,P(C1)=0.11。
接下来,就要用统计资料判断一个账号的真实性。假定某一个账号有以下三个特征:
W0: 日志数量/注册天数
W1: 好友数量/注册天数
W2: 是否使用真实头像(真实头像为1,非真实头像为0)
W0 = 0.1
W1 = 0.2
W2 = 0
根据上面的三个特征去判断这个账号是否真实。
方法是计算P(W0|C=0)P(W1|C=0)P(W2|C=0)P(C=0)和P(W0|C=1)P(W1|C=1)P(W2|C=1)P(C=1)的值,如果前者大,说明为真实账
号,否则为虚假账号。
虽然上面这些值可以从统计资料得到,但是这里有一个问题:W0和W1是连续变量,不适宜按照某个特定值计算概率。一个技巧是
将连续值变为离散值,计算区间的概率。比如将W0分解成[0, 0.05]、(0.05, 0.2)、[0.2, +∞]三个区间,然后计算每个区间的概率。在
我们这个例子中,W0等于0.1,落在第二个区间,所以计算的时候,就使用第二个区间的发生概率。
P(W0|C=0) = 0.5, P(W0|C=1) = 0.1
P(W1|C=0) = 0.7, P(W1|C=1) = 0.2
P(W2|C=0) = 0.2, P(W2|C=1) = 0.9
因此:
<