python贝叶斯算法的论文_朴素贝叶斯算法从入门到Python实践

本文深入探讨朴素贝叶斯分类算法,包括理论基础、公式推导、参数估计、算法流程和优缺点。通过Scikit-learn库实现高斯朴素贝叶斯、多项式朴素贝叶斯和伯努利朴素贝叶斯模型,并与其他分类算法进行性能对比,展示在实际数据集上的应用效果。
摘要由CSDN通过智能技术生成

1,前言

很久不发文章,整理些干货,希望相互学习吧。进入主题,本文主要时说的为朴素贝叶斯分类算法。与逻辑回归,决策树一样,是较为广泛使用的有监督分类算法,简单且易于理解(号称十大数据挖掘算法中最简单的算法)。但其在处理文本分类,邮件分类,拼写纠错,中文分词,统计机器翻译等自然语言处理范畴较为广泛使用()或许主要得益于基于概率理论),本文主要为小编从理论理解到实践的过程记录。

2,公式推断

贝叶斯定理预习知识:我们知道当事件A和事件B独立时,P(AB)=P(A)(B),若事件不独立,则P(AB)=P(A)P(B|A)。其为两件事件同时发生时的一般公式(无论事件A和B是否独立)。当然也可以写成P(AB)=P(B)P(A|B),表示若要两件事同事发生,则需要事件B发生后,事件A也要发生,由上可知:

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

推出P(B|A)=P(B)P(A|B)/ P(A)

其中P(B)为先验概率,P(B|A)为B的后验概率,P(A|B)为A的后验概率(在这里也为似然值),P(A)为A的先验概率(在这也为归一化常量),下面为朴素贝叶斯算法的数学推导过程:

式推断

由上推导可知,其实朴素贝叶斯法就是在贝叶斯定理基础上,加上特征条件独立假设,对特定输入的X(样本,包含N个特征),求出后验概率最大值时的类标签Y(如是否为垃圾邮件),理解起来比逻辑回归要简单多,有木有,这也是本算法优点之一,当然运行起来由于得益于特征独立假设,运行速度也更快。

3,参数估计

3.1. 极大似然估计:

至此,我们知道朴素贝叶斯方法的学习就是对概率P(Y=ck)和P(X(j)=x(j)|Y=ck)的估计。其实,我们可以用极大似然估计法估计上述先验概率和条件概率。

极大似然估计

其中I(x)为指示函数,若括号内成立,则计1,否则为0。李航的课本直接给出了用极大似然(MLE)估计求出的结果,并没给推导过程,具体推导过程可在知乎上搜索极大似然估计法推出朴素贝叶斯法中的先验概率估计公式。

3.2. 贝叶斯估计:

贝叶斯较为常见的问题为0概率问题。为此,需要平滑处理,主要使用拉普拉斯平滑,如下所示:

贝叶斯估计

K是类的个数,Sj是第j维特征的最大取值。实际上平滑因子λ=0即为最大似然估计,这时会出现提到的0概率问题;而λ=1则避免了0概率问题,这种方法被称为拉普拉斯平滑。

4,算法流程

算法流程

5,****素贝叶斯算法优缺点

优点&#

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值