机器学习算法系列(六)-- 朴素贝叶斯

这篇具有很好参考价值的文章主要介绍了机器学习算法系列(六)-- 朴素贝叶斯。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

机器学习算法系列之 – 朴素贝叶斯

朴素贝叶斯法是基于概率统计,特征条件独立假设的分类方法,是一种非常常用的机器学习算法;通常用于处理文本分类和情感分析等自然语言处理任务中。相对于其他复杂的模型,朴素贝叶斯算法具有简单、易于实现、高效和良好的准确性等特点。

算法基础

概率论基础

条件概率

事件B已经发生的条件下,事件A发生的概率,称为事件A在给定事件B的条件概率,表示为P(A|B)
P ( A ∣ B ) = P ( A ∣ B ) P ( B ) P(A|B)= \frac{P(A|B)}{P(B)} PAB=P(B)P(AB)
其中,P(A∩B)=P(A|B)P(B)=P(B|A)P(A)

全概率公式

假设:样本空间S是由两个事件A与A’组成的和。如下图中,红色部分是事件A,绿色部分是事件A’,它们共同构成了样本空间S,且无交集
机器学习算法系列(六)-- 朴素贝叶斯
此时,依据全概率公式,事件B发生的概率P(B):
P ( B ) = P ( A ′ ∩ B ) + P ( A ∩ B ) = P ( B ∣ A ′ ) P ( A ′ ) + P ( B ∣ A ) P ( A ) P(B)=P(A'∩B)+P(A∩B)=P(B|A')P(A')+P(B|A)P(A) P(B)=P(AB)+P(AB)=P(BA)P(A)+P(BA)P(A)

总结 全概率公式: P ( B ) = ∑ i = 1 n P ( B ∣ A i ) P ( A i ) P(B)=\sum_{i=1}^{n}P(B|A_i)P(A_i) P(B)=i=1nP(BAi)P(Ai)

事件独立性

当公式P(A1,A2,…,An)=P(A1)P(A2)…P(An)成立时,则称A1,A2,…,An为相互独立的事件。表示每个事件发生的概率互不影响。

贝叶斯定理

关于概率方面的基础(正概率问题、逆概率问题,先验概率、后验概率)请读者自行了解,贝叶斯属于逆概率问题。我们先来看看贝叶斯公式的表达
P ( A ∣ B ) = P ( A ) P ( B ∣ A ) P ( B ) P(A|B)=P(A)\frac{P(B|A)}{P(B)} P(AB)=P(A)P(B)P(BA)

其中,P(A|B) 是指后验概率,即在给定观测到的 B 事件发生之后,A 事件发生的概率;P(A) 是指先验概率,即在没有任何其他信息的情况下,A 事件发生的概率;P(B|A) 是指似然度或条件概率,即在 A 事件已经发生的情况下,B 事件发生的概率;P(B) 是指证据因子,即 B 事件发生的概率,二者比值构成一个可能性函数。

贝叶斯定理核心思想

基于贝叶斯公式来进行分类。

它假设所有特征之间都是独立同分布的,从而化了模型计算的过程。

在文本分类中,我们可以使用朴素贝叶斯算法来计算一个文档属于某个类别的概率。

具体而言,我们可以首先根据训练数据集,计算每个单词(或者 n-gram 构成的词组)在每个类别中出现的概率,以及每个类别先验概率。然后可以使用贝叶斯公式来计算文档属于每个类别的概率,并选择概率最大的类别作为该文档的分类结果。

  • 也就是,在主观判断的基础上,先估计一个值(先验概率),然后根据观察的新信息不断修正(可能性函数)

也就是:新信息出现后A的概率=A的概率 x 新信息带来的调整

贝叶斯决策论

算法概述

对于给定的训练数据集,首先基于特征条件独立假设学习输入输出的联合概率分布;然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。实现方法简单有效,学习与预测的效率都很高,很常用。

贝叶斯决策论(Bayesian decision theory):概率框架下实施决策
的基本方法。对于分类任务,在所有相关概率已知的情形下,贝叶
斯决策论考虑如何基于概率和误判损失来选择最优的类别标记

  • 期望损失
    N种可能的类别标记 Y = { c 1 , c 2 , c 3 , . . . , c N } , λ i j Y=\{c_1,c_2,c_3,...,c_N\},\lambda_{ij} Y={c1,c2,c3,...,cN},λij表示将一个真实标记为 c j c_j cj的样本误分类为 c i c_i ci产生的损失,也叫“条件风险”:
    机器学习算法系列(六)-- 朴素贝叶斯
    于是,贝叶斯判定准则:为最小化总体风险,只需要每个样本选择那
    个能使条件风险R(c|x)最小的类别标记,即
    h ∗ ( x ) = a r g m i n c ∈ Y R ( c ∣ x ) h^*(x)=arg min_{c\in Y}R(c|x) h(x)=argmincYR(cx)
    此处h为贝叶斯最优分类器

假设目标是最小化分类错误率,则误判损失 λ i j \lambda_{ij} λij可以写为

机器学习算法系列(六)-- 朴素贝叶斯
此时条件风险: R ( c ∣ x ) = 1 − P ( c ∣ x ) R(c|x)=1-P(c|x) R(cx)=1P(cx)
于是,最小化分类错误率的贝叶斯分类器为:
h ∗ ( x ) = a r g   m a x c ∈ Y P ( c ∣ x ) h^*(x)=arg\ max_{c\in Y}P(c|x) h(x)=arg maxcYP(cx)
即对每个样本x,选择能使后验概率P(c|x)最大的类别标记

贝叶斯分类模型

朴素贝叶斯分类模型

朴素贝叶斯通过训练数据集学习联合概率分布P(X,Y)。具体要先学习先验概率分布P(Y= c k c_k ck)以及条件概率分布P(X=x|Y= c k c_k ck),进一步学习到联合概率分布。

其中后验概率的计算根据贝叶斯定理进行

朴素贝叶斯法实际上是生成数据的机制,所以属于生成模型。条件独立假设等于是说用于分类的特征,在类确定的条件下都是条件独立的。这一假设使朴素贝叶斯法变得简单,但有时会牺牲一定的分类准确率,在分类对给定的输入x通过学习到的模型计算后验概率分布P(c|x),将后验概率最大的类作为x的类输出。

最后得到 朴素贝叶斯分类器的表达式:
y = a r g   m a x c k P ( Y = c k ) ∏ j P ( X j = x j ∣ Y = c k ) y=arg\ max_{c_k}P(Y=c_k)\prod_jP(X^j=x^j|Y=c_k) y=arg maxckP(Y=ck)jP(Xj=xjY=ck)

后验概率最大化的含义(朴素贝叶斯原理)

等价于期望风险最小化。
首先,假设选择0-1损失函数:
L ( Y , f ( X ) ) = { 1 , Y ≠ f ( X ) 0 , Y = f ( X ) L(Y,f(X))= \begin{cases} 1,Y\neq f(X)\\ 0,Y=f(X) \end{cases} L(Y,f(X))={1Y=f(X)0Y=f(X)
f(X)为分类决策函数。此时期望风险函数为
R e x p ( f ) = E [ L ( Y , f ( X ) ) ] R_{exp}(f)=E[L(Y,f(X))] Rexp(f)=E[L(Y,f(X))],此处期望是对联合分布P(X,Y)取的。再由此取得条件期望
R e x p ( f ) = E X ∑ k = 1 K [ L ( c k , f ( X ) ) ] P ( c k ∣ X ) R_{exp}(f)=E_X\sum^K_{k=1}[L(c_k,f(X))]P(c_k|X) Rexp(f)=EXk=1K[L(ck,f(X))]P(ckX)
可以看出,为了使得期望风险最小化,我们只需要对X=x逐个极小化,由此便可得到:
f ( x ) = a r g   m i n y ∈ Y ∑ k = 1 K L ( c k , y ) P ( c k ∣ X = x ) = a r g   m i n y ∈ Y ∑ k = 1 K P ( y ≠ c k ∣ X = x ) = a r g   m i n y ∈ Y ( 1 − P ( y = c k ∣ X = x ) ) = a r g   m a x y ∈ Y P ( y = c k ∣ X = x ) f(x)=arg\ min_{y\in Y}\sum^K_{k=1}L(c_k,y)P(c_k|X=x)\\ =arg\ min_{y\in Y}\sum^K_{k=1}P(y\neq c_k|X=x)\\ =arg\ min_{y\in Y}(1-P(y=c_k|X=x)) =arg\ max_{y\in Y}P(y=c_k|X=x) f(x)=arg minyYk=1KL(ck,y)P(ckX=x)=arg minyYk=1KP(y=ckX=x)=arg minyY(1P(y=ckX=x))=arg maxyYP(y=ckX=x)
这样一来,根据期望风险最小化准则就得到了后验概率最大化准则:
f ( x ) = a r g   m a x y ∈ Y P ( c k ∣ X = x ) f(x)=arg\ max_{y\in Y}P(c_k|X=x) f(x)=arg maxyYP(ckX=x)
也就是==“朴素贝叶斯法”所采取的原理==

由此,朴素贝叶斯分类器的训练过程,就是基于训练集估计先验概率P©,并为每个属性估计条件概率 P ( x j ∣ c ) P(x^j|c) P(xjc)

  • 估计先验概率:
    令Dc是训练集D中第c类样本组成的集合,若有充足的独立同分
    布样本,则先验概率P© 为
    机器学习算法系列(六)-- 朴素贝叶斯

  • 估计条件概率
    离散型:令 D c , x i D_{c,x_i} Dc,xi表示 D c D_c Dc在第i个属性上取值为 x i x_i xi的样本组成的集合,则条件概率 P ( x i ∣ c ) P(x_i|c) P(xic)
    机器学习算法系列(六)-- 朴素贝叶斯
    连续型:对于连续属性考虑概率密度函数,假定
    机器学习算法系列(六)-- 朴素贝叶斯
    μ c , x i 和 σ c , x i 2 \mu_{c,x_i}和\sigma^2_{c,x_i} μc,xiσc,xi2分别为第c类样本在第i个属性上取值的均值和方差,则
    机器学习算法系列(六)-- 朴素贝叶斯

算法步骤

综上,我们可以总结出朴素贝叶斯分类模型求解的基本步骤
1、计算先验概率
2、计算条件概率
3、对于给定实例,计算 P ( Y = c k ) ∏ j P ( X j = x j ∣ Y = c k ) , k = 1 , 2 , . . . , K P(Y=c_k)\prod_jP(X^j=x^j|Y=c_k),k=1,2,...,K P(Y=ck)jP(Xj=xjY=ck),k=1,2,...,K
4、确定实例x的类y= a r g   m a x c k P ( Y = c k ) ∏ j P ( X j = x j ∣ Y = c k ) arg\ max_{c_k}P(Y=c_k)\prod_jP(X^j=x^j|Y=c_k) arg maxckP(Y=ck)jP(Xj=xjY=ck)

贝叶斯估计

若当某个属性值在训练样本中从未出现过时,估计条件概率时,连乘结果都会为0,此时会影响到后验概率计算的结果,产生偏差分类。

解决办法:贝叶斯估计。

具体而言,条件概率的贝叶斯估计是:
P λ ( X j = a j l ∣ Y = c k ) = ∑ i = 1 N I ( x i j = a j l , y i = c k ) + λ ∑ i = 1 N I ( y i = c k ) + S j λ P_\lambda(X^j=a_{jl|Y=c_k})=\frac{\sum^N_{i=1}I(x_i^j=a_{jl},y_i=c_k)+\lambda}{\sum^N_{i=1}I(y_i=c_k)+S_j\lambda} Pλ(Xj=ajlY=ck)=i=1NI(yi=ck)+Sjλi=1NI(xij=ajl,yi=ck)+λ
通常取 λ \lambda λ为1,此时称为拉普拉斯平滑。
同样,先验概率的贝叶斯估计是
P λ ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) + λ N + K λ P_\lambda(Y=c_k)=\frac{\sum^N_{i=1}I(y_i=c_k)+\lambda}{N+K\lambda} Pλ(Y=ck)=N+Kλi=1NI(yi=ck)+λ

朴素贝叶斯分类模型的使用

  • 若对预测速度要求高:预计算所有概率估值,使用时“查表”
  • 若数据更替频繁:不进行任何训练,收到预测请求时再估值(懒惰学习 , lazy learning)
  • 若数据不断增加:基于现有估值,对新样本涉及的概率估值进行修正(增量学习 , incremental learning

优缺点

优点
• 朴素贝叶斯模型有稳定的分类效率;
• 对小规模的数据表现很好,能处理多分类任务;
• 对缺失数据不太敏感,算法也比较简单,常用于文本分类。
缺点
• 朴素贝叶斯假定每个变量之间是相互独立的,但是现实中的数据
往往都具有一定的相关性,很少有完全独立的;
• 由于我们是通过先验和数据来决定后验的概率从而决定分类,所
以分类决策存在一定的错误率

算法实战

朴素贝叶斯算法实战可参考该博客:《《机器学习实战》第四章 Python3代码-(亲自修改测试可成功运行)

总结

总结来说,朴素贝叶斯算法是一种简单、高效、易于实现的器学习算法,特别适用于文本分类和情感分析等自然语言处理任务。在实际应用中,我们可以使用不同变体的朴素贝叶斯算法来处理不同类型的数据。

参考

《统计学习方法》,李航, 清华大学出版社,第二版
《机器学习》,周志华,清华大学出版社

以上就是关于决策树的分享,若有不妥之处,欢迎各路大佬不吝赐教~
喜欢的伙伴点个赞,顺便收藏、关注一下吧~文章来源地址https://www.toymoban.com/news/detail-470368.html

到了这里,关于机器学习算法系列(六)-- 朴素贝叶斯的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器学习算法——贝叶斯分类器3(朴素贝叶斯分类器)

    基于贝叶斯公式来估计后验概率P(c|x)的主要困难在于:类条件概率P(x|c)是所有属性上的联合概率,难以从有限的训练样本直接估计而得。 为避开这个障碍,朴素贝叶斯分类器(Naive Bayes classfier)采用了“ 属性条件独立性假设 ”:对已知类别,假设所有属性相互独立。换句话

    2023年04月22日
    浏览(56)
  • 《机器学习核心算法》分类算法 - 朴素贝叶斯 MultinomialNB

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 小白零基础《Python入门到精通》 朴素贝叶斯法(Naive Bayes model 简称 NBM )是基于 「贝叶斯定理」 与 「特征条件独立假设」 的分类方法。 「贝

    2024年02月08日
    浏览(51)
  • 【机器学习 | 朴素贝叶斯】朴素贝叶斯算法:概率统计方法之王,简单有效的数据分类利器

    🤵‍♂️ 个人主页: @AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍 🙋‍♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能硬件(虽然硬件还没开始玩,但一直

    2024年02月15日
    浏览(52)
  • 机器学习算法--朴素贝叶斯(Naive Bayes)

    1. 朴素贝叶斯(Naive Bayes) 朴素贝叶斯的介绍 朴素贝叶斯算法(Naive Bayes, NB) 是应用最为广泛的分类算法之一。它是基于贝叶斯定义和特征条件独立假设的分类器方法。由于朴素贝叶斯法基于贝叶斯公式计算得到,有着坚实的数学基础,以及稳定的分类效率。NB模型所需估计的参

    2024年02月08日
    浏览(46)
  • 机器学习——基于朴素贝叶斯分类算法实现垃圾邮件分类

    贝叶斯定理: 贝叶斯理论指的是,根据一个已发生事件的概率,计算另一个事件的发生概率。贝叶斯理论从数学上的表示可以写成这样:  ,在这里A和B都是事件, P(B)P(B)不为0。 在贝叶斯定理中: 1. P(A) 称为”先验概率”,即在B事件发生之前,我们对A事件概率的一个判断。如

    2024年02月04日
    浏览(51)
  • Spark-机器学习(5)分类学习之朴素贝叶斯算法

    在之前的文章中,我们学习了回归中的逻辑回归,并带来简单案例,学习用法。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。 Spark-机器学习(4)回归学习之逻辑回归-CSDN博客 文章浏览阅读2.6k次

    2024年04月28日
    浏览(54)
  • 基于机器学习算法:朴素贝叶斯和SVM 分类-垃圾邮件识别分类系统(含Python工程全源码)

    本项目采用朴素贝叶斯和支持向量机(SVM)分类模型作为基础,通过对垃圾邮件和正常邮件的数据进行训练,旨在实现垃圾邮件的自动识别功能。 通过训练这两个分类模型,我们的目标是建立一个高效准确的垃圾邮件识别系统。当接收到新的邮件时,系统将对邮件文本进行预

    2024年02月09日
    浏览(49)
  • python机器学习——分类模型评估 & 分类算法(k近邻,朴素贝叶斯,决策树,随机森林,逻辑回归,svm)

    交叉验证:为了让被评估的模型更加准确可信 交叉验证:将拿到的数据,分为训练和验证集。以下图为例:将数据分成5份,其中一份作为验证集。然后经过5次(组)的测试,每次都更换不同的验证集。即得到5组模型的结果,取平均值作为最终结果。又称5折交叉验证。 通常情

    2024年02月03日
    浏览(65)
  • 【Chatgpt4 教学】 NLP(自然语言处理)第九课 朴素贝叶斯分类器的工作原理 机器学习算法

    我在起,点更新NLP自然语言处理==》《 王老师带我成为救世主 》 为啥为它单独开章,因为它值得,它成功的让我断了一更,让我实践了自上而下找能够理解的知识点,然后自下而上的学习给自己的知识升级,将自己提升到能够解决当前遇到的问题的水平。 (1)--------------

    2023年04月15日
    浏览(49)
  • 分类算法系列④:朴素贝叶斯算法

    目录 1、贝叶斯算法 2、朴素贝叶斯算法 3、先验概率和后验概率 4、⭐机器学习中的贝叶斯公式 5、文章分类中的贝叶斯 6、拉普拉斯平滑系数 6.1、介绍 6.2、公式 7、API 8、示例 8.1、分析 8.2、代码 8.3、⭐预测流程分析  🍃作者介绍:准大三本科网络工程专业在读,阿里云专家

    2024年02月10日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包