机器学习算法(7)—— 朴素贝叶斯算法

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

1 朴素贝叶斯介绍

朴素贝叶斯是一种分类算法,经常被用于文本分类,它的输出结果是某个样本属于某个类别的概率。
机器学习算法(7)—— 朴素贝叶斯算法
机器学习算法(7)—— 朴素贝叶斯算法

2 贝叶斯公式

概率基础复习

  • 联合概率:包含多个条件,且所有条件同时成立的概率
    • 记作:P(A,B)
  • 条件概率:就是事件A在另外一个事件B已经发生条件下的发生概率
    • 记作:P(A|B)
  • 相互独立:如果P(A, B) = P(A)P(B),则称事件A与事件B相互独立

机器学习算法(7)—— 朴素贝叶斯算法
下面通过一个案例 “ 判断女神对你的喜欢情况 ” 来理解这个公式

机器学习算法(7)—— 朴素贝叶斯算法

问题如下:

女神喜欢的概率?
职业是程序员并且体型匀称的概率?
在女神喜欢的条件下,职业是程序员的概率?
在女神喜欢的条件下,职业是程序员、体重超重的概率?

计算结果为:

P(喜欢) = 4/7
P(程序员, 匀称) = 1/7(联合概率)
P(程序员|喜欢) = 2/4 = 1/2(条件概率)
P(程序员, 超重|喜欢) = 1/4

思考题:

  • 在小明是产品经理并且体重超重的情况下,如何计算小明被女神喜欢的概率?
    P(喜欢|产品, 超重) = ?

此时我们需要用到朴素贝叶斯进行求解。

那么思考题就可以套用贝叶斯公式这样来解决:

P(喜欢|产品, 超重) = P(产品, 超重|喜欢)P(喜欢)/P(产品, 超重)

计算上式可以发现:

  • P(产品, 超重|喜欢)P(产品, 超重) 的结果均为0,导致无法计算结果。这是因为我们的样本量太少了,不具有代表性。
  • 本来现实生活中,肯定是存在职业是产品经理并且体重超重的人的,P(产品, 超重)不可能为0;
  • 而且事件 职业是产品经理 和事件 体重超重 通常被认为是相互独立的事件,但是,根据我们有限的7个样本计算 P(产品, 超重) = P(产品)P(超重) 不成立。

而朴素贝叶斯可以帮助我们解决这个问题:

  • 朴素贝叶斯,简单理解,就是假定了特征与特征之间相互独立的贝叶斯公式。
  • 也就是说,朴素贝叶斯,之所以朴素,就在于假定了特征与特征相互独立

所以,思考题如果按照朴素贝叶斯的思路来解决,就可以是

P(产品, 超重) = P(产品) * P(超重) = 2/7 * 3/7 = 6/49
p(产品, 超重|喜欢) = P(产品|喜欢) * P(超重|喜欢) = 1/2 * 1/4 = 1/8
P(喜欢|产品, 超重) = P(产品, 超重|喜欢)P(喜欢)/P(产品, 超重) = 1/8 * 4/7 / 6/49 = 7/12

3 拉普拉斯平滑系数

贝叶斯公式如果应用在文章分类的场景当中,我们可以这样看:
机器学习算法(7)—— 朴素贝叶斯算法

机器学习算法(7)—— 朴素贝叶斯算法
下面通过一个案例进行理解

需求:通过前四个训练样本(文章),判断第五篇文章,是否属于China类

机器学习算法(7)—— 朴素贝叶斯算法

P(C|Chinese, Chinese, Chinese, Tokyo, Japan)
= P(Chinese, Chinese, Chinese, Tokyo, Japan|C) * P(C) / P(Chinese, Chinese, Chinese, Tokyo, Japan) 
= P(Chinese|C)^3 * P(Tokyo|C) * P(Japan|C) * P(C) / [P(Chinese)^3 * P(Tokyo) * P(Japan)]

# 这个文章是需要计算是不是China类,是或者不是最后的分母值都相同:

# 首先计算是China类的概率: 
P(Chinese|C) = 5/8
P(Tokyo|C) = 0/8
P(Japan|C) = 0/8

# 接着计算不是China类的概率:
P(Chinese|C) = 1/3
P(Tokyo|C) = 1/3
P(Japan|C) = 1/3

问题:从上面的例子我们可以得到 P(Tokyo|C)P(Japan|C)都为0,这是不合理的,如果词频列表里面有很多次数都为0,很可能计算结果都为0。

解决办法:拉普拉斯平滑系数

机器学习算法(7)—— 朴素贝叶斯算法

# 这个文章是需要计算是不是China类:
# 该例中,m=6(训练集中特征词的个数,重复不计)

首先计算是China类的概率:
    P(Chinese|C) = 5/8 --> 6/14
    P(Tokyo|C) = 0/8 --> 1/14
    P(Japan|C) = 0/8 --> 1/14

接着计算不是China类的概率: 
    P(Chinese|C) = 1/3 --> 2/9
    P(Tokyo|C) = 1/3 --> 2/9
    P(Japan|C) = 1/3 --> 2/9

4 朴素贝叶斯api使用

sklearn.naive_bayes.MultinomialNB(alpha = 1.0)

  • 朴素贝叶斯分类
  • alpha:拉普拉斯平滑系数

朴素贝叶斯应用案例 —— 商品评论情感分析

5 朴素贝叶斯算法总结

5.1 朴素贝叶斯优缺点

(1)优点

  • 朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率
  • 对缺失数据不太敏感,算法也比较简单,常用于文本分类
  • 分类准确度高,速度快

(2)缺点

  • 由于使用了样本属性独立性的假设,所以如果特征属性有关联时其效果不好
  • 需要计算先验概率,而先验概率很多时候取决于假设,假设的模型可以有很多种,因此在某些时候会由于假设的先验模型的原因导致预测效果不佳;
  • 先验概率:直观理解,所谓“先”,就是在事情之前,即在事情发生之前事情发生的概率。是根据以往经验和分析得到的概率,“由因求果”。
  • 后验概率:事情已经发生了,事情发生可能有很多原因,判断事情发生时由哪个原因引起的概率,“由果求因”。
  • 先验概率就是通常说的概率,后验概率是一种条件概率,但条件概率不一定是验后概率。贝叶斯公式是由先验概率求后验概率的公式

5.2 朴素贝叶斯疑难点

(1)朴素贝叶斯原理

朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。

  • 对于给定的待分类项x,通过学习到的模型计算后验概率分布,
  • 即:在此项出现的条件下各个目标类别出现的概率,将后验概率最大的类作为x所属的类别。

(2)朴素贝叶斯朴素在哪里?

在计算条件概率分布 P(X=x∣Y=c_k) 时,NB引入了一个很强的条件独立假设,即,当Y确定时,X的各个特征分量取值之间相互独立。

(3)为什么引入条件独立性假设?

为了避免贝叶斯定理求解时面临的组合爆炸、样本稀疏问题。
假设条件概率分为:
机器学习算法(7)—— 朴素贝叶斯算法
(4)在估计条件概率P(X∣Y)时出现概率为0的情况怎么办?

解决这一问题的方法是采用贝叶斯估计。
简单来说,引入λ,

  • 当λ=0时,就是普通的极大似然估计;
  • 当λ=1时称为拉普拉斯平滑。

(5)为什么属性独立性假设在实际情况中很难成立,但朴素贝叶斯仍能取得较好的效果?

  • 人们在使用分类器之前,首先做的第一步(也是最重要的一步)往往是特征选择,这个过程的目的就是为了排除特征之间的共线性、选择相对较为独立的特征;
  • 对于分类任务来说,只要各类别的条件概率排序正确,无需精准概率值就可以得出正确分类;
  • 如果属性间依赖对所有类别影响相同,或依赖关系的影响能相互抵消,则属性条件独立性假设在降低计算复杂度的同时不会对性能产生负面影响。

5.3 与逻辑回归的区别

(1)区别一:

朴素贝叶斯是生成模型

  • 根据已有样本进行贝叶斯估计学习出先验概率P(Y)和条件概率P(X|Y),
  • 进而求出联合分布概率P(XY),
  • 最后利用贝叶斯定理求解P(Y|X),

而LR是判别模型

  • 根据极大化对数似然函数直接求出条件概率P(Y|X);

(2)区别二:

  • 朴素贝叶斯是基于很强的条件独立假设(在已知分类Y的条件下,各个特征变量取值是相互独立的),
  • 而LR则对此没有要求

(3)区别三:

  • 朴素贝叶斯适用于数据集少的情景,
  • 而LR适用于大规模数据集。

判别式模型与生成模型

机器学习算法(7)—— 朴素贝叶斯算法文章来源地址https://www.toymoban.com/news/detail-494887.html

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

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

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

相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2023年04月15日
    浏览(38)
  • 朴素贝叶斯算法的介绍

    一、朴素贝叶斯算法的介绍 1.什么是朴素贝叶斯算法? 朴素贝叶斯算法(Naive Bayes Algorithm)是一种基于贝叶斯定理和特征独立性假设的概率分类算法。它被广泛应用于文本分类、垃圾邮件过滤、情感分析等任务。 朴素贝叶斯算法的 基本思想是基于训练数据中的特征和标签之

    2024年02月07日
    浏览(27)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包