本文学习自 https://zhuanlan.zhihu.com/ml-jack

朴素贝叶斯

朴素贝叶斯算法是有监督的学习算法,解决的是分类问题。

1、贝叶斯决策理论

贝叶斯决策理论的核心思想:选择具有最高概率的决策。

2、条件概率

条件概率:在B发生的情况下,A发生的概率 P(A|B)

3、全概率公式


因此再代入条件概率公式,得到:

4、贝叶斯推断

对于条件概率公式:

P(A):先验概率(即在B发生之前,就能计算出A发生的概率)
P(A|B):后验概率(即在B发生之后,对A事件概率的重新评估)
P(B|A)/P(B):可能性函数(这是一个调整因子,使得预估概率更接近真实概率)

因此条件概率就是:

后验概率 = 先验概率 * 调整因子

这就是贝叶斯推断先预估一个先验概率,然后加入实验结果,看这个实验到底是增强还是削弱了先验概率,由此得到更接近事实的后验概率
若P(B|A)/P(B)>1,表示先验概率被增强,事件A发生的可能性变大;若=1,表示事件B无助于判断A发生的可能性;若<1,表示A的可能性变小。

5、朴素贝叶斯推断

朴素很关键,朴素贝叶斯对条件个概率分布做了条件独立性的假设。
假设有N个特征:

又因为特征是独立的,所以:

举例:一个打喷嚏的建筑工人,得感冒的概率?
根据贝叶斯定理,可得:

又打喷嚏和建筑工人是两个独立的特征,所以:

6、总结

优点:

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

缺点:

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

朴素贝叶斯改进之拉普拉斯平滑

在计算概率时,若某个属性特征的概率为0的分量,则最后求条件概率属于该类别的概率也为0,这就影响了分类。因此,可以采用拉普拉斯平滑,出现数初始化为1,分母初始化为2,避免出现0概率。

还有一个问题是下溢出,由于太多很小的数相乘,越乘越小,最后造成下溢出。因此对乘积结果取对数。

【机器学习笔记】朴素贝叶斯相关推荐

  1. matlab算法用python做_机器学习笔记—朴素贝叶斯算法实现(matlab/python)

    原理知道一百遍不如自己动手写一遍,当然,现在基本上不需要自己来写算法的底层code了,各路大神们已经为我等凡夫俗子写好了,直接调用就行. 这里介绍在MATLAB中和Python中应用贝叶斯算法的小例子 ...

  2. 机器学习笔记——朴素贝叶斯(Naive Bayes)

    1贝叶斯算法简介 贝叶斯分类算法是统计学的一种分类方法,它是一类利用概率统计知识进行分类的算法.在许多场合,朴素贝叶斯(Naïve Bayes,NB)分类算法可以与决策树和神经网络分类算法相媲美,该算 ...

  3. 《统计学习方法》读书笔记——朴素贝叶斯法(公式推导+代码实现)

    传送门 <统计学习方法>读书笔记--机器学习常用评价指标 <统计学习方法>读书笔记--感知机(原理+代码实现) <统计学习方法>读书笔记--K近邻法(原理+代码实现 ...

  4. 机器学习实战---朴素贝叶斯算法实现+使用K折交叉验证(代码详解+创新)

    <机器学习实战朴素贝叶斯算法实现+使用K折交叉验证> 未经允许,不得擅自转载! 提供数据集如下(永久有效,需要的自行下载): 链接:https://pan.baidu.com/s/1Sv0 ...

  5. 【机器学习】朴素贝叶斯、SVM和数据分布检验分析

    [机器学习]朴素贝叶斯.SVM和数据分布检验分析 文章目录 1 朴素贝叶斯 2 SVM2.1 线性可分2.2 最大间隔超平面2.3 SVM 最优化问题 3 数据分布检验方法3.1 数据分布检验3.2 ...

  6. 机器学习:朴素贝叶斯

    机器学习:朴素贝叶斯 1 朴素贝叶斯应用场景 2 朴素贝叶斯相关公式 3 sklearn库中朴素贝叶斯运用 3.1 伯努利朴素贝叶斯 3.2 多项式朴素贝叶斯 3.3 高斯朴素贝叶斯 4 代码 4.1 ...

  7. 机器学习:朴素贝叶斯模型算法原理(含实战案例)

    机器学习:朴素贝叶斯模型算法原理 作者:i阿极 作者简介:Python领域新星作者.多项比赛获奖者:博主个人首页

  8. 机器学习之朴素贝叶斯 1

    机器学习之朴素贝叶斯 1 朴素贝叶斯 2 朴素贝叶斯应用 3 代码实现贝努力朴素贝叶斯 4 代码实现高斯朴素贝叶斯 5 代码实现多项式朴素贝叶斯 6 总结 前言:主要介绍朴素贝叶斯的概念.公式,以及代 ...

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

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

  10. 机器学习实战 朴素贝叶斯分类器

    基于概率论的分类方法: 朴素贝叶斯 我的微信公众号: s406205391; 欢迎大家一起学习,一起进步!!! k-近邻算法和决策树会给出"该数据属于哪一类"的明确回答.不过,分类 ...

最新文章

  1. MYSQL数据库学习十七 日志管理
  2. string类的实现(构造函数,析构函数,运算符重载)
  3. python3.7安装keras教程_Python3.7安装keras和TensorFlow的教程图解
  4. Java IdentityHashMap putAll()方法与示例
  5. 解决HP ProLiant DL380 G5的Centos 7安装与启动不能识别硬盘问题
  6. GTK 4.0 图形工具包正式发布
  7. 【15.03.13】手动快速在Linux桌面上添加一个程序图标快捷方式
  8. 各个浏览器url带参限制
  9. ASP.NET Core 多线程 异步编程
  10. RISC-V MCU 应用教程之RTC自动唤醒
  11. Update批量更新
  12. Leetcode应该怎么刷?【笔试】
  13. 钉钉企业邮箱smtp服务器
  14. Qgis 如何根据范围来裁剪地图,高程图等
  15. 货郎担问题java算法_经典算法(1)---货郎担问题
  16. Windows 7 中文版命令行如何修改字符编码为UTF-8?
  17. 大神教你如何用 Python 快速分析你的微信好友
  18. 分享CFA一级考试!
  19. python转成exe运行出错_使用py2exe将.py转换为.exe:无法运行程序
  20. GAN︱生成模型学习笔记(运行机制、NLP结合难点、应用案例、相关Paper)

热门文章

  1. 在线考试系统如何进行考生身份验证
  2. 蓝桥杯python组——猜生日
  3. 免费的电子书下载网站
  4. python-pygame实现飞机大战-3-发射子弹以及击中敌机
  5. 【JZOJ4883】【NOIP2016提高A组集训第12场11.10】灵知的太阳信仰
  6. windows xp桌面消失
  7. springboot slf4j log4j2 动态创建日志的方法
  8. 春招进行中,想进外企?500强资深程序员谈谈外企真实感受!
  9. for_each 解读
  10. 趣学算法NYOJ加勒比海盗船