python贝叶斯模型_从零开始学Python--朴素贝叶斯模型(理论部分)

本文介绍了朴素贝叶斯模型的理论基础,包括条件概率、全概率公式和贝叶斯公式。接着讨论了贝叶斯分类器的核心——计算样本属于特定类别的概率,并解释了如何处理不同类型的自变量数据,如连续、离散和二元类型。文章提到了高斯贝叶斯、多项式贝叶斯和伯努利贝叶斯分类器,以及它们适用的数据条件和概率计算方法。最后,鼓励读者参与讨论并期待下一期的实战案例分享。
摘要由CSDN通过智能技术生成

原标题:从零开始学Python--朴素贝叶斯模型(理论部分)

aa1f2beb01ed3614f3a8bdeeef9fa5d4.png

【知识铺垫】

在介绍如何使用贝叶斯概率公式计算后验概率之前,先回顾一下概率论与数理统计中的条件概率和全概率公式:

5826467bcff26856cf14b14d13ae038c.png

如上等式为条件概率的计算公式,表示在已知事件A的情况下事件B发生的概率,其中P(AB)表示事件A与事件B同时发生的概率。所以,根据条件概率公式得到概率的乘法公式:。

事件A的概率可以根据全概率公式计算得到:

d00c0fc7b1edee71e581faacf924e4f2.png

如上等式即为全概率公式,其中事件构成了一个完备的事件组,并且每一个均大于0。该公式表示,对于任意的一个事件A来说,都可以表示成n个完备事件组与其乘积的和。

【贝叶斯公式】

在具备上述的基础知识之后,再来看看贝叶斯公式。如前文所说,贝叶斯分类器的核心就是在已知X的情况下,计算样本属于某个类别的概率,故这个条件概率的计算可以表示为:

2b7f4731c445a9cc7a1f20aa355f2ef6.png

其中,表示样本所属的某个类别。假设数据集的因变量y一共包含k个不同的类别,故根据全概率公式,可以将上式中的分母表示成。对于上面的条件概率公式而言,样本最终属于哪个类别,应该将计算所得的最大概率值对应的类别作为样本的最终分类,所以上式可以表示为:

2b2ecb144b0f182abb8f94da35ecdda7.png

如上公式所示,对于已知的X,朴素贝叶斯分类器就是计算样本在各分类中的最大概率值。接下来详细拆解公式中的每一个部分,为获得条件概率的最大值,寻找最终的影响因素。分母是一个常量,它与样本属于哪个类别没有直接关系,所以计算的最大值就转换成了计算分子的最大值,即项未知的话,一般会假设每个类别出现的概率相等,只需计算的最大值,然而在绝大多数情况下,是已知的,它以训练数据集中类别的频率作为先验概率,可以表示为。

所以,现在的主要任务就是计算的值,即已知某个类别的情况下自变量为某种值的概率。假设数据集一共包含p个自变量,则可以表示成,进而条件概率可以表示为:

很显然,条件联合概率值的计算还是比较复杂的,尤其是当数据集的自变量个数非常多的时候。为了使分类器在计算过程中提高速度,提出了一个假设前提,即自变量是条件独立的(自变量之间不存在相关性),所以上面的计算公式可以重新改写为:

如上式所示,将条件联合概率转换成各条件概率的乘积,进而可以大大降低概率值的运算时长。但问题是,在很多实际项目的数据集中,很难保证自变量之间满足独立的假设条件。根据这条假设,可以得到一般性的结论,即自变量之间的独立性越强,贝叶斯分类器的效果就会越好;如果自变量之间存在相关性,就会在一定程度提高贝叶斯分类器的错误率,但通常情况下,贝叶斯分类器的效果不会低于决策树。

自变量X的数据类型可以是连续的数值型,也可以是离散的字符型,或者是仅含有0-1两种值的二元类型。通常会根据不同的数据类型选择不同的贝叶斯分类器,例如高斯贝叶斯分类器、多项式贝叶斯分类器和伯努利贝叶斯分类器。

【高斯贝叶斯分类器】

如果数据集中的自变量X均为连续的数值型,则在计算时会假设自变量服从高斯正态分布,所以自变量的条件概率可以表示成:

9d25163f9d164210efa3ed87c1ebb0a8.png

其中,表示第j个自变量的取值,属于类别的均值,为训练数据集中自变量属于类别的标准差。所以在已知均值和标准差时,就可以利用如上的公式计算自变量取某种值的概率。

【多项式贝叶斯分类器】

如果数据集中的自变量X均为离散型变量,就无法使用高斯贝叶斯分类器,而应该选择多项式贝叶斯分类器。在计算概率值时,会假设自变量X的条件概率满足多项式分布,故概率值的计算公式可以表示为:

其中,的取值;表示因变量为类别时自变量取的样本个数;表示数据集中类别的样本个数;为平滑系数,用于防止概率值取0可能,通常将该值取为1,表示对概率值做拉普拉斯平滑;n表示因变量的类别个数。

【伯努利贝叶斯分类器】

当数据集中的自变量X均为0-1二元值时(例如在文本挖掘中,判断某个词语是否出现在句子中,出现用1表示,不出现用0表示),通常会优先选择伯努利贝叶斯分类器。利用该分类器计算概率值时,会假设自变量X的条件概率满足伯努利分布,故概率值的计算公式可以表示为:

其中,为第j个自变量,取值为0或1;表示类别为时自变量取1的概率,该概率值可以使用经验频率代替,即

2fe892950f1800cc1849ef4afc92e762.png

其中,表示类别的样本个数;表示在类别为时,变量取1的样本量;为平滑系数,同样是为了避免概率为0而设置的;n为因变量中的类别个数。

OK,关于贝叶斯算法的理论知识我们就分享到这里,如果你有任何问题,欢迎在公众号的留言区域表达你的疑问,下一期我们将分享三种贝叶斯算法的实战案例。同时,也欢迎各位朋友继续转发与分享文中的内容,让更多的人学习和进步。返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值