Naive Bayes朴素贝叶斯分类算法

概率论是许多机器学习算法的基础,所以深刻理解概率论对学习机器学习有很大帮助

这里要说的朴素贝叶斯分类,就是基于概率论的

朴素贝叶斯分类理论基础:

我们在小学里就听老师讲过抛硬币时正面朝上的概率为0.5,这句话又代表着何含义呢?对于概率的理解往往有两种不同的方式,其一是所谓的频率论解释(Frequentist Interpretation)。这种观点中,概率代表着某个事件在较长范围内的出现频次。譬如这里的抛硬币问题可以阐述为,如果我们抛足够的次数,我们会观测到正面朝上的次数与反面朝上的次数基本相同。

另一种即时所谓的贝叶斯解释(Bayesian Interpretation),我们认为概率是用来衡量某件事的不确定性(uncertainty),其更多地与信息相关而不再是重复尝试的次数。用贝叶斯理论阐述抛硬币问题则为下一次抛硬币时正面朝上的可能性与反面朝上的可能性相差无几。贝叶斯解释的最大优势在于我们可以去为事件的不确定性建立具体的模型而不再依赖于多次试验得出的频次结果。譬如我们要去预测2020年世界杯的冠军,我们肯定不能让球队比赛很多次来观测频次计算概率,这件事只会发生零或一次,反正是无法重复发生的。

这里写图片描述

对于这个图片,我们可能学习出两个不同的东西,一个B1,一个B2

假设现在有(x,y),我们需要带入到B1和B2,看谁的概率比较大,就是属于哪个类别

概率论基础

条件概率

这个条件概率表示在y发生的前提下,x发生的概率

p(x|y)

贝叶斯定理

P(AB)=P(A)*P(B|A)=P(B)*P(A|B)

P(BA)=P(B)*P(A|B)=P(A)*P(B|A)

P(A|B)=P(B|A)*P(A)/P(B)

注意:这里是A和B之间不是相互独立的,如果是相互独立的话,P(AB)=P(A)*P(B),而且注意下面朴素贝叶斯模型中,A和B分别是属性和类别,是不相互独立的,而属性之间是相互独立的

P(A)是A的先验概率或边缘概率,称作"先验"是因为它不考虑B因素。

P(A|B)是已知B发生后A的条件概率,也称作A的后验概率。

P(B|A)是已知A发生后B的条件概率,也称作B的后验概率,这里称作似然度。

P(B)是B的先验概率或边缘概率,这里称作标准化常量。

P(B|A)/P(B)称作标准似然度。

后验概率=(似然度*先验概率)/标准化常量=标准似然度*先验概率

P(A|B)随着P(A)和P(B|A)的增长而增长,随着P(B)的增长而减少,即如果B独立于A时被观察到的可能性越大,那么B对A的支持度越小。

朴素贝叶斯分类器

在朴素贝叶斯模型中,属性之间是相互独立的,但是属性和类别之间不是相互独立的!!!!!不然可以直接用P(AB)=P(A)P(B),但是这里不能了。

以一个例子来看看吧

训练数据

计算每个类别的概率

然后计算每个属性在每个类别下的概率即P(xi|Y)

然后根据给定的X来判断哪个类别的概率大,就将它分到哪一类

比如这里是2和S,判断它属于哪一类。

即计算P(Y|x)的概率,因为x有很多属性

所以根据贝叶斯公式

P(Y|x)=P(Yx)/P(x)=P(Y)*P(x|Y)/P(x)

其中P(Y)/P(x)为某一个类别在所有属性的概率,这里是P(Y=1)和P(Y=-1),

P(x|Y)为每个属性在Y中的概率,就是上面计算的很多东西相乘。

拉普拉斯修正

在分类类别中,在每个分子+1,分母加上类别个数

这样每个属性在类别的概率就是

比如:

假设在文本分类中

有3个类,C1、C2、C3

在指定的训练样本中, 某个词语K1,在各个类中观测计数分别为0, 990, 10,

K1的概率为0, 0.99,0.01,这时候发下嘛K1的第一个概率为0

对这三个量使用拉普拉斯平滑的计算方法如下:
1/1003 = 0.001, 991/1003=0.988, 11/1003=0.011

朴素贝叶斯总结

朴素贝叶斯是生成模型,根据样本来生成模型。

优点:在数据较少的情况下任然有效,可以处理多类别问题

缺点:对于输入数据的准备方式较为敏感

适用数据类型:标称型数据

发布了66 篇原创文章 · 获赞 31 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43272605/article/details/103343264