0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

对朴素贝叶斯算法原理做展开介绍

新机器视觉 来源:ShowMeAI 2023-01-16 10:11 次阅读

在众多机器学习分类算法中,本篇我们提到的朴素贝叶斯模型,和其他绝大多数分类算法都不同,也是很重要的模型之一。

poYBAGPEsr2ASzlEAADKucpOcY4770.jpg

朴素贝叶斯是一个非常直观的模型,在很多领域有广泛的应用,比如早期的文本分类,很多时候会用它作为 baseline 模型,本篇内容我们对朴素贝叶斯算法原理做展开介绍。

1.朴素贝叶斯算法核心思想

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素贝叶斯(Naive Bayes)分类是贝叶斯分类中最简单,也是常见的一种分类方法

朴素贝叶斯算法的核心思想是通过考虑特征概率来预测分类,即对于给出的待分类样本,求解在此样本出现的条件下各个类别出现的概率,哪个最大,就认为此待分类样本属于哪个类别。

举个例子:眼前有100个西瓜,好瓜和坏瓜个数差不多,现在要用这些西瓜来训练一个『坏瓜识别器』,我们要怎么办呢?

一般挑西瓜时通常要『敲一敲』,听听声音,是清脆声、浊响声、还是沉闷声。所以,我们先简单点考虑这个问题,只用敲击的声音来辨别西瓜的好坏。根据经验,敲击声『清脆』说明西瓜还不够熟,敲击声『沉闷』说明西瓜成熟度好,更甜更好吃。

2c8bb456-94dc-11ed-bfe3-dac502259ad0.png

所以,坏西瓜的敲击声是『清脆』的概率更大,好西瓜的敲击声是『沉闷』的概率更大。当然这并不绝对——我们千挑万选地『沉闷』瓜也可能并没熟,这就是噪声了。当然,在实际生活中,除了敲击声,我们还有其他可能特征来帮助判断,例如色泽、跟蒂、品类等。

朴素贝叶斯把类似『敲击声』这样的特征概率化,构成一个『西瓜的品质向量』以及对应的『好瓜/坏瓜标签』,训练出一个标准的『基于统计概率的好坏瓜模型』,这些模型都是各个特征概率构成的。

2c9f9872-94dc-11ed-bfe3-dac502259ad0.jpg

这样,在面对未知品质的西瓜时,我们迅速获取了特征,分别输入『好瓜模型』和『坏瓜模型』,得到两个概率值。如果『坏瓜模型』输出的概率值大一些,那这个瓜很有可能就是个坏瓜。

2.贝叶斯公式与条件独立假设

贝叶斯定理中很重要的概念是先验概率后验概率条件概率。(关于这部分依赖的数学知识,大家可以查看ShowMeAI的文章 图解AI数学基础 | 概率与统计,也可以下载我们的速查手册 AI知识技能速查 | 数学基础-概率统计知识)(链接见文末)。

1)先验概率与后验概率

poYBAGPEsyiAad69AAHm3ljqprI507.jpg

2cb5b67a-94dc-11ed-bfe3-dac502259ad0.png

2)贝叶斯公式

简单来说,贝叶斯定理(Bayes Theorem,也称贝叶斯公式)是基于假设的先验概率、给定假设下观察到不同数据的概率,提供了一种计算后验概率的方法。在人工智能领域,有一些概率型模型会依托于贝叶斯定理,比如我们今天的主角『朴素贝叶斯模型』。

2cd29da8-94dc-11ed-bfe3-dac502259ad0.png

pYYBAGPEsw6AWIbXAADN1T2UhjY465.jpg

3)条件独立假设与朴素贝叶斯

基于贝叶斯定理的贝叶斯模型是一类简单常用的分类算法。在『假设待分类项的各个属性相互独立』的情况下,构造出来的分类算法就称为朴素的,即朴素贝叶斯算法。

所谓『朴素』,是假定所有输入事件之间是相互独立。进行这个假设是因为独立事件间的概率计算更简单。

poYBAGPEs0yAc62oAAE1YSs9y_c185.jpg

2d0692b6-94dc-11ed-bfe3-dac502259ad0.png

要求出第四项中的后验概率,就需要分别求出在第三项中的各个条件概率,其步骤是:
poYBAGPEs2WAE1GgAADjbOR-Tuw136.jpg

2d2b0916-94dc-11ed-bfe3-dac502259ad0.png

pYYBAGPEs3yAPUw4AAEr8g2_HdQ213.jpg

2d7661fe-94dc-11ed-bfe3-dac502259ad0.png

pYYBAGPEs4-AEB-3AAC3YVKzsjg813.jpg

2db7c9d2-94dc-11ed-bfe3-dac502259ad0.png

总结一下,朴素贝叶斯模型的分类过程如下流程图所示:

2dd0adda-94dc-11ed-bfe3-dac502259ad0.png

3.伯努利与多项式朴素贝叶斯

1)多项式vs伯努利朴素贝叶斯

大家在一些资料中,会看到『多项式朴素贝叶斯』和『伯努利朴素贝叶斯』这样的细分名称,我们在这里基于文本分类来给大家解释一下:

2ddfe6f6-94dc-11ed-bfe3-dac502259ad0.png

pYYBAGPEs6-AG4nMAABsXWI9iLg696.jpg

如果直接以单词的频次参与统计计算,那就是多项式朴素贝叶斯的形态。

如果以是否出现(0和1)参与统计计算,就是伯努利朴素贝叶斯的形态。

2deb7548-94dc-11ed-bfe3-dac502259ad0.png

(1)多项式朴素贝叶斯

poYBAGPEs8WAJvG2AAGO_RCOAog276.jpg

(2)伯努利朴素贝叶斯

对应的,在伯努利朴素贝叶斯里,我们假设各个特征在各个类别下是服从n重伯努利分布(二项分布)的,因为伯努利试验仅有两个结果,因此,算法会首先对特征值进行二值化处理(假设二值化的结果为1与0)。

pYYBAGPEs9qAGvn2AAC2VQskQtc154.jpg

2)朴素贝叶斯与连续值特征

我们发现在之前的概率统计方式,都是基于离散值的。如果遇到连续型变量特征,怎么办呢?

以人的身高,物体的长度为例。一种处理方式是:把它转换成离散型的值。比如:

pYYBAGPEs_aAQZZcAAHhJNCL3ng883.jpg

2e1cc33c-94dc-11ed-bfe3-dac502259ad0.png

回到上述例子,如果身高是我们判定人性别(男/女)的特征之一,我们可以假设男性和女性的身高服从正态分布,通过样本计算出身高均值和方差,对应上图中公式就得到正态分布的密度函数。有了密度函数,遇到新的身高值就可以直接代入,算出密度函数的值。

4.平滑处理

1)为什么需要平滑处理

使用朴素贝叶斯,有时候会面临零概率问题。零概率问题,指的是在计算实例的概率时,如果某个量,在观察样本库(训练集)中没有出现过,会导致整个实例的概率结果是0。

在文本分类的问题中,当『一个词语没有在训练样本中出现』时,这个词基于公式统计计算得到的条件概率为0,使用连乘计算文本出现概率时也为0。这是不合理的,不能因为一个事件没有观察到就武断的认为该事件的概率是0。

2)拉普拉斯平滑及依据

poYBAGPEtA6AH2oFAAExcR5IwF4894.jpg

2e39e264-94dc-11ed-bfe3-dac502259ad0.png

poYBAGPEtCiAft8OAADd-4hnlIY760.jpg







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8406

    浏览量

    132561
  • 朴素贝叶斯
    +关注

    关注

    0

    文章

    12

    浏览量

    3375

原文标题:图解朴素贝叶斯

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    机器学习的朴素讲解

    秦刚刚的机器学习成长之路之朴素
    发表于 05-15 14:41

    朴素法的优缺点

    朴素法(1) 之 基础概念
    发表于 08-05 11:32

    朴素法的恶意留言过滤

    朴素法(2) 之 恶意留言过滤
    发表于 08-26 14:40

    常用的分类方法:朴素

    统计学习方法朴素
    发表于 11-05 09:24

    朴素过滤邮箱里的垃圾邮件

    朴素垃圾邮件识别
    发表于 03-18 11:28

    朴素算法的理解

    我对朴素算法的理解
    发表于 05-15 14:13

    机器学习之朴素应用教程

    今天介绍机器学习中一种基于概率的常见的分类方法,朴素,之前介绍的KNN, decision
    发表于 11-25 12:49 1386次阅读
    机器学习之<b class='flag-5'>朴素</b><b class='flag-5'>贝</b><b class='flag-5'>叶</b><b class='flag-5'>斯</b>应用教程

    基于概率的常见的分类方法--朴素

    本文介绍机器学习中一种基于概率的常见的分类方法,朴素,之前介绍的KNN, decision
    的头像 发表于 02-03 14:37 5231次阅读
    基于概率的常见的分类方法--<b class='flag-5'>朴素</b><b class='flag-5'>贝</b><b class='flag-5'>叶</b><b class='flag-5'>斯</b>

    朴素NB经典案例

    分类算法是统计学的一种分类方法,其分类原理就是利用
    发表于 02-28 10:17 2次下载

    机器学习之朴素

    学习过概率的人一定知道贝叶斯定理,在信息领域内有着无与伦比的地位。算法是基于贝叶斯定理的一类算法,主要用来解决分类和回归问题。人工智能
    发表于 05-29 09:01 890次阅读

    朴素算法详细总结

    朴素法是基于贝叶斯定理与特征条件独立假设的分类方法,是经典的机器学习算法之一,处理很多问题时直接又高效,因此在很多领域有着广泛的应用,
    的头像 发表于 07-01 08:37 3.5w次阅读
    <b class='flag-5'>朴素</b><b class='flag-5'>贝</b><b class='flag-5'>叶</b><b class='flag-5'>斯</b><b class='flag-5'>算法</b>详细总结

    带你入门常见的机器学习分类算法——逻辑回归、朴素、KNN、SVM、决策树

    朴素方法是一组基于贝叶斯定理的监督学习算法,在给定类变量值的情况下,朴素假设每对特征之间存
    的头像 发表于 05-06 09:29 1w次阅读

    一种改进互信息的加权朴素算法

    互信息和朴素算法应用于垃圾邮件过滤时,存在特征冗余和独立性假设不成立的问题。为此,提出种改进互信息的加权
    发表于 03-16 10:15 12次下载
    一种改进互信息的加权<b class='flag-5'>朴素</b><b class='flag-5'>贝</b><b class='flag-5'>叶</b><b class='flag-5'>斯</b><b class='flag-5'>算法</b>

    朴素分类 朴素算法的优点

    朴素方法是在
    的头像 发表于 10-02 17:14 9311次阅读

    PyTorch教程22.9之朴素

    电子发烧友网站提供《PyTorch教程22.9之朴素.pdf》资料免费下载
    发表于 06-06 09:22 0次下载
    PyTorch教程22.9之<b class='flag-5'>朴素</b><b class='flag-5'>贝</b><b class='flag-5'>叶</b><b class='flag-5'>斯</b>