朴素贝叶斯理论推导与三种常见模型

本文详细介绍了朴素贝叶斯分类器的理论基础,包括贝叶斯定理和特征条件独立假设,并探讨了三种常见模型:多项式模型、高斯模型和伯努利模型。通过实例和Python代码实现,帮助读者深入理解朴素贝叶斯算法的原理和应用。
摘要由CSDN通过智能技术生成

朴素贝叶斯(Naive Bayes)是一种简单的分类算法,它的经典应用案例为人所熟知:文本分类(如垃圾邮件过滤)。很多教材都从这些案例出发,本文就不重复这些内容了,而把重点放在理论推导(其实很浅显,别被“理论”吓到),三种常用模型及其编码实现(Python)。

如果你对理论推导过程不感兴趣,可以直接逃到三种常用模型及编码实现部分,但我建议你还是看看理论基础部分。

另外,本文的所有代码都可以从我的github获取


1. 朴素贝叶斯的理论基础

朴素贝叶斯算法是基于贝叶斯定理与特征条件独立假设的分类方法。

这里提到的贝叶斯定理特征条件独立假设就是朴素贝叶斯的两个重要的理论基础。

1.1 贝叶斯定理

先看什么是条件概率

P(A|B)表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率。其基本求解公式为: P(A|B)=P(AB)P(B)

贝叶斯定理便是基于条件概率,通过P(A|B)来求P(B|A):

P(B|A)=P(A|B)P(B)P(A)

顺便提一下,上式中的分母P(A),可以根据全概率公式分解为:

P(A)=ni=1P(Bi)P(A|Bi)


1.2 特征条件独立假设

这一部分开始朴素贝叶斯的理论推导,从中你会深刻地理解什么是特征条件独立假设。

给定训练数据集(X,Y),其中每个样本x都包括n维特征,即 x=(x1,x2,x3,...,xn) ,类标记集合含有k种类别,即 y=(y1,y2,...,yk)

如果现在来了一个新样本x,我们要怎么判断它的类别?从概率的角度来看,这个问题就是给定x,它属于哪个类别的概率最大。那么问题就转化为求解 P(y1|x),P(y2|x),...,P(yk|x) 中最大的那个,即求后验概率最大的输出: argmaxykP(yk|x)

P(yk|x) 怎么求解?答案就是贝叶斯定理:

P(yk|x)=P(x|yk)P(yk)P(x)

根据全概率公式,可以进一步地分解上式中的分母:

P(yk|x)=P(x|yk)P(yk)kP(x|yk)P(

评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值