朴素贝叶斯

发布时间:2024年01月01日

??????? 这是一种基于贝叶斯定理和特征条件独立假设的分类方法。

??????? 所谓独立条件,就是两个事件之间相互之间没有影响,在机器学习中,就要求特征之间没有联系,实际上,这种要求一般是无法满足的。

????????? 对于结果,我们可以根据发生过的情况来推测。表示为p(y/x),也就是在特征x的提示下,y发生的概率。

1.朴素贝叶斯的基本原理

现在我们从一个简单问题开始。比如有一条狗会因为主人的一句话做出三个反应,分布是

y = {蹲下,站立,转圈}。

主人可以发的指令分别是

x={乖狗狗, 可爱狗狗, 调皮狗狗, 笨蛋狗狗};

其中,狗狗做出的反应是可以计算出来,比如

p{蹲下} = 0.2,p{站立}=0.5, p{转圈}=0.3;

而p{X = x/Y = y}是可以分别计算出来的。因为我们可以重复口令100次,然后统计各个情况,计算出各个情况的概率。这种概率是观察到的,所以叫做先验概率。比如我们发现狗蹲下的时候,口令"调皮狗狗"出现了20次,所以p{X=调皮狗狗/Y=蹲下} = 0.2

我们的目标是,根据主人发出的口令计算出狗可能采用的动作的概率,这个叫做后验概率;

P{Y=y/X=x}

也就是根据出现的现象计算出可能的结果。

这种计算方法使用的是条件概率公式

p\{Y=y_i/X=x_i\} = \frac{p\{X=x_i,Y=y_i\}}{p\{X=x_i\}}

分子可以带入乘法公式,分母可以使用全概率公式。

乘法公式:p\{X=x_i,Y=y_i\} = p\{X=x_i/Y=y_i\}*p\{Y=y_i\}

全概率公式:p\{Y=y_i\}=\sum_{k=1}^{k=n}p\{X=x_i/Y=y_i\}*p\{Y=y_i\}

带入上式即可。

根据独立假设条件,如果有很多条件,那么我们就可以连乘求出对应的概率公式。

比如条件概率的公式,每一个特征可能多种可能的时候,下面公式就能计算取不同特征的组合预测的概率

p\{X=x_i/Y=y_i\}=p\{X^{1}=x_{i}^{1},X^{2}=x_{i}^{2},...,X^{N}=x_{i}^{n}/Y=y_i\}=p\{X^{1}=x_{i}^{1}/Y=y_i\}*p\{X^{1}=x_{i}^{1}/Y=y_i\}*...*p\{X^{N}=x_{i}^{N}/Y=y_i\}

比如X=x1,而x1有三个特征x11,x12,x13

求p(x=x1/y=1)的概率

可以转化为[p(x=x11/y=1)*p(x=x12/y=1)*p(x=x13/y=1)]*p(y=1)

写公式有点麻烦,全概率公式也是这么一个逻辑。

总结一下就是:条件发生时,同一个特征的不同取值的概率乘积

在实际中分母值其实是固定的,我们可以不用管这个了。

2.后验概率最大化

训练过程的损失函数为0-1损失函数,当结果与预期一致,则等于1,不一致等于0

训练过程也很简单,只需要计算P(x/y)就行了.

3.不同的概率分布

虽然是独立同分布,但是分布情况也有所不一样,主要是高斯分布,多项式分布,伯努利分布。sklearn中都是实现了。

4.优点和缺点

优点是:计算很快,因为再计算之前要处理好先验概率,后面就只需要进行乘积了。对于多分类也很有效。

缺点:独立同分布很难满足,对于连续数值类型,要求它满足正态分布。

在进行朴素贝叶斯分类的时候,要消去相关特征

文章来源:https://blog.csdn.net/weixin_42581560/article/details/135321306
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。