感谢Jack-Cui大佬的知识分享

机器学习专栏点击这里

目录

  • 感谢Jack-Cui大佬的知识分享
  • 0. 概述
  • 1. 朴素贝叶斯理论
    • 1.1 贝叶斯理论
      • 1.1.1 相关计算公式:条件概率公式,贝叶斯定理(公式),全概率公式
    • 1.2 贝叶斯理论的逻辑思维
    • 1.2 朴素贝叶斯推断
      • 1.2.1 案例
  • 2.总结
  • 传送门

0. 概述

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

朴素贝叶斯,它是一种简单但极为强大的预测建模算法。之所以称为朴素贝叶斯,是因为它假设每个输入变量是独立的。这个假设很硬,现实生活中根本不满足,但是这项技术对于绝大部分的复杂问题仍然非常有效。

朴素贝叶斯算法是有监督的学习算法,解决的是分类问题,如客户是否流失、是否值得投资、信用等级评定等多分类问题。该算法的优点在于简单易懂、学习效率高、在某些领域的分类问题中能够与决策树、神经网络相媲美。但由于 该算法以自变量之间的独立(条件特征独立)性和连续变量的正态性假设为前提,就会导致算法精度在某种程度上受影响。

1. 朴素贝叶斯理论

朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法,所以要弄懂朴素贝叶斯需要先清楚贝叶斯理论。

1.1 贝叶斯理论

1.1.1 相关计算公式:条件概率公式,贝叶斯定理(公式),全概率公式





1.2 贝叶斯理论的逻辑思维

贝叶斯定理可以在有限的信息下,能够帮助我们预测出事件发生的概率

从公式来看,我们需要知道这么3个事情:

  • 先验概率:我们把 P(A) 称为"先验概率"(预估概率)(Prior probability),即在不知道B事件的前提下,我们对A事件概率的一个主观判断

  • 可能性函数(调整因子):P(B|A)/P(B) 称为“可能性函数”,这是一个调整因子,即新信息B 带来的调整,作用是使得先验概率(预估概率)更接近真实概率

  • P(A|B)称为"后验概率"(Posterior probability),即在B事件发生之后,我们对A事件概率的重新评估

    可能性函数你可以理解为新信息过来后,对先验概率的一个调整。比如我们刚开始看到“人工智能”这个信息,你有自己的理解(先验概率/主观判断),但是当你学习了一些数据分析,或者看了些这方面的书后(新的信息),
    然后你根据掌握的最新信息优化了自己之前的理解(可能性函数/调整因子),最后重新理解了“人工智能”这个信息(后验概率)如果"可能性函数"P(B|A)/P(B)>1,意味着"先验概率"被增强,事件A的发生的可能性变大;如果"可能性函数"=1,意味着B事件无助于判断事件A的可能性;如果"可能性函数"<1,意味着"先验概率"被削弱,事件A的可能性变小。
    

贝叶斯定理可以理解成下面的式子:

后验概率(新信息出现后的A概率) = 先验概率(A概率) x 调整因子(新信息带来的调整)

这就是贝叶斯推断的含义。我们先预估一个"先验概率",然后加入实验结果,看这个实验到底是增强还是削弱了"先验概率",由此得到更接近事实的"后验概率"

贝叶斯的底层思想就是:
如果我能掌握一个事情的全部信息,我当然能计算出一个客观概率(古典概率)
可是生活中绝大多数决策面临的信息都是不全的,我们手中只有有限的信息 。既然无法得到全面的信息,我们就在信息有限的情况下,尽可能做出一个好的预测,也就是,在主观判断的基础上,你可以先估计一个值(先验概率),然后根据观察的新信息不断修正(可能性函数)

1.2 朴素贝叶斯推断

理解了贝叶斯推断,那么让我们继续看看朴素贝叶斯。贝叶斯和朴素贝叶斯的概念是不同的,区别就在于“朴素”二字,朴素贝叶斯对条件概率分布做了条件独立性的假设,即各个特征相互独立
比如下面的公式,假设有n个特征:

由于每个特征都是独立的,我们可以进一步拆分公式

1.2.1 案例

已知信息如下:

求解问题: 现在又来了第七个病人,是一个打喷嚏的建筑工人。请问他患上感冒的概率有多大?

根据朴素贝叶斯条件独立性的假设 可知,"打喷嚏"和"建筑工人"这两个特征是独立的,因此,上面的等式就变成了:

因此,这个打喷嚏的建筑工人,有66%的概率是得了感冒。同理,可以计算这个病人患上过敏或脑震荡的概率。比较这几个概率,就可以知道他最可能得什么病。

这就是 贝叶斯分类器的基本方法:在统计资料的基础上,依据某些特征,计算各个类别的概率,从而实现分类 。 同样,在编程的时候,如果不需要求出所属类别的具体概率,P(打喷嚏) = 0.5和P(建筑工人) = 0.33的概率是可以不用求的。

2.总结

朴素贝叶斯推断的一些优点:

  • 生成式模型,通过计算概率来进行分类,可以用来处理多分类问题。
  • 对小规模的数据表现很好,适合多分类任务,适合增量式训练,算法也比较简单。

朴素贝叶斯推断的一些缺点:

  • 对输入数据的表达形式很敏感。
  • 由于朴素贝叶斯的“朴素”特点,所以会带来一些准确率上的损失。
  • 需要计算先验概率,分类决策存在错误率。

传送门

朴素贝叶斯理论推导与三种常见模型
条件概率、贝叶斯公式和全概率公式
怎样用非数学语言讲解贝叶斯定理(Bayes’s theorem)?
马同学–怎样用非数学语言讲解贝叶斯定理(Bayes theorem)?
朴素贝叶斯分类:原理
机器学习 | 算法笔记- 朴素贝叶斯(Naive Bayesian)

机器学习监督学习之分类算法---朴素贝叶斯理论知识相关推荐

  1. 机器学习监督学习之分类算法---朴素贝叶斯代码实践

    目录 1. 言论过滤器 1.1 项目描述 1.2 朴素贝叶斯 工作原理: 1.2.1 词条向量 1.3 开发流程: 1.4 代码实现 1.4.1 创建样本 1.4.2 构建词汇表,用于建立词集向量 1 ...

  2. 机器学习-分类算法-朴素贝叶斯算法07

    概率:概率定义为一件事情发生的可能性 如:扔硬币某一面朝上有50%概率 "朴素"贝叶斯:所有特征之间条件独立 朴素贝叶斯-文档分类 from sklearn.datasets im ...

  3. python人工智能——机器学习——分类算法-朴素贝叶斯算法对新闻进行分类案例

    朴素贝叶斯案例流程 1.加载20类新闻数据,并进行分割 2.生成文章特征词 3.朴素贝叶斯estimator流程进行预估 代码 from sklearn.datasets import fetch_2 ...

  4. python人工智能——机器学习——分类算法-朴素贝叶斯算法

    1.概率基础 2.朴素贝叶斯介绍 概率基础 概率定义为一件事情发生的可能性 联合概率和条件概率 朴素贝叶斯-贝叶斯公式 拉普拉斯平滑 如果词频列表里面有很多出现次数都为0,则会导致计算结果为0. sk ...

  5. 基于python的贝叶斯分类算法_分类算法-朴素贝叶斯

    朴素贝叶斯分类器(Naive Bayes Classifier, NBC)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率.同时,NBC 模型所需估计的参数很少,对缺失数据不太敏感,算法也比 ...

  6. 情感分类与朴素贝叶斯

    本文介绍一种机器学习分类算法--朴素贝叶斯算法及其在NLP中的应用.具体实现部分可参考朴素贝叶斯用于情感分类的实现 NLP中的分类 许多自然语言处理任务涉及分类,分类也是人类和机器智能的核心. 文本分 ...

  7. 《机器学习实战》学习笔记(四):基于概率论的分类方法 - 朴素贝叶斯

    欢迎关注WX公众号:[程序员管小亮] [机器学习]<机器学习实战>读书笔记及代码 总目录 https://blog.csdn.net/TeFuirnever/article/details ...

  8. 【机器学习算法-朴素贝叶斯、支持向量机】

    机器学习算法-朴素贝叶斯算法 1.朴素贝叶斯算法 2.支持向量机 2.1SVM基本综述 1.朴素贝叶斯算法 朴素贝叶斯是生成模型,需要根据已有的数据求出先验概率. 1.联合概率 2.条件概率 3.相互 ...

  9. a*算法的优缺点_轻松理解机器学习算法-朴素贝叶斯

    1.预备知识 贝叶斯定理(Bayes' theorem)是概率论中的一个定理,它跟随机变量的条件概率以及边缘概率分布有关.通常事件A在事件B发生的条件下的概率,与事件B在事件A发生的条件下的概率是不一 ...

最新文章

  1. 深度学习(一)——MP神经元模型, BP算法, 神经元激活函数, Dropout
  2. Spring MVC自定义验证注释
  3. 内部导线拉力测试_珠海后环回收试验机现金支付拉力试验机回收和谐温馨的环境...
  4. 【计算机网络】 —— 标准化工作及相关组织
  5. resnet论文解读及代码实现
  6. Introduction to replication 翻译
  7. Java实现:归并排序
  8. 使用Word 2003“格式→外文版式→带圈字符”功能可以输入10以上带圈序号。
  9. pp助手可以刷机吗android,pp助手刷机 pp助手怎么刷机
  10. MAC使用Safari浏览器仿真IE
  11. 合天网安《Weekly CTF》第四周
  12. python3简单代码_【Python】Python3纯代码极简教程
  13. 谷歌插件——Vimium
  14. anaconda安装及pytorch、tf、jupyter环境配置
  15. 低学历者已经月入万元是为什么
  16. 青软新获「2022年度山东省软件和信息技术服务业综合竞争力百强企业」等三项荣誉!
  17. Ubuntu/macos下安装stlink-v2驱动
  18. DAY DAY UP 1
  19. Quartz-cron表达式
  20. 计算机操作系统 概述(题库答案)

热门文章

  1. C++与tolua++的完整调用流程,超级详解解决交互疑难
  2. Q141:PBRT-V3,交点处各种微分的求解(球面,3.2章节)
  3. Q125:PBRT-V3,对比VolPathIntegrator::Li()和EstimateDirect()判断Medium的方式
  4. Blender相关的一些链接(持续更新)
  5. Q74:面积光源(Area Light)
  6. PyCharm——项目管理
  7. Error Could not open client transport with JDBC Uri jdbchive2hadoop10210000 Failed to open new sessi
  8. 机器学习 - [源码实现决策树小专题]决策树学习中如何进行分类预测
  9. 当前仍在编辑文章 - Java 并 发 编 程 基 础
  10. 真心话大冒险C++版本