机器学习面试题——朴素贝叶斯

提示:这些知识点也是大厂笔试经常考的题目,我记得阿里和京东就考!!!想必在互联网大厂就会用这些知识解决实际问题

朴素贝叶斯介绍一下
朴素贝叶斯优缺点
贝叶斯公式
朴素贝叶斯中的“朴素”怎么理解?
什么是拉普拉斯平滑法?
朴素贝叶斯中有没有超参数可以调?
你知道朴素贝叶斯有哪些应用吗?
朴素贝叶斯对异常值敏不敏感?
频率学派与贝叶斯学派的差别
概率与期望的公式
先验概率与后验概率


文章目录

  • 机器学习面试题——朴素贝叶斯
    • @[TOC](文章目录)
  • 朴素贝叶斯介绍一下
  • 朴素贝叶斯优缺点
    • 优点:
    • 缺点:
  • 贝叶斯公式
  • 朴素贝叶斯中的“朴素”怎么理解?
  • 什么是拉普拉斯平滑法?
  • 朴素贝叶斯中有没有超参数可以调?
  • 你知道朴素贝叶斯有哪些应用吗?
  • 朴素贝叶斯对异常值敏不敏感?
  • 频率学派与贝叶斯学派的差别
  • 概率与期望的公式
  • 先验概率与后验概率
  • 总结

朴素贝叶斯介绍一下

朴素贝叶斯是一个基于特征条件独立假设贝叶斯原理的一种分类算法。
朴素贝叶斯通过训练数据得到X与y的联合分布
之后对于要预测的X,根据贝叶斯公式,输出后验概率最大的y

朴素贝叶斯是一种生成式学习算法,其生成方法通过学习X,Y的联合分布来实现的。
假设各个特征在给定y的情况下是相互独立的。

朴素贝叶斯分类:贝叶斯公式:

换个表达形式就会明朗很多,如下:

我们最终求的p(类别|特征) 即可!就是给定物品的特征,请你为其制定分类类别。
就相当于完成了我们的分类任务。

不妨设:我们想让p(B、C、D、E|A) = p(B|A)*p(C|A)*p(D|A)*p(E|A)
那么我就要分别统计后面几个概率,也就得到了左边的概率!

朴素贝叶斯分类有朴素一词的来源,即假设各个特征之间相互独立,那么这个等式就成立了!这一假设使得朴素贝叶斯法变得简单,但有时会牺牲一定的分类准确率。

朴素贝叶斯优缺点

优点:

(1)算法逻辑简单,易于实现
(2)分类过程中时空开销小,分类准确度高,速度快。
(3)朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率。
(4)对缺失数据不太敏感,算法也比较简单,常用于文本分类。
(5)对小规模的数据表现很好,能处理多分类任务,适合增量式训练

缺点:

(1)理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为朴素贝叶斯模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不好
(2)需要知道先验概率,且先验概率很多时候是基于假设或者已有的训练数据所得的,这在某些时候可能会因为假设先验概率的原因出现分类决策上的错误。

贝叶斯公式


公式中,事件B的概率为P(B),
事件B发生条件下事件A的概率为P(A│B),
事件A发生条件下事件B的概率为P(B│A)。

举个简单的例子:
村子有且仅有两个小偷,小甲和小乙,根据统计小甲偷东西的可能性是0.2,小乙偷东西的可能性是0.8。
如果小甲去偷,偷成功的概率是0.8, 如果小乙去偷,偷成功的概率是0.3。
如果村子丢了一件东西,小甲和小乙谁是嫌疑犯的可能性更大

我们定义事件:H=丢东西,
A=小甲去偷东西,
B=小乙去偷东西,
因此,不是A就是B偷的:P(A) + P(B) = 1,
上面已经告知:小甲和小乙两人偷东西可能性 P(A) = 0.2, P(B) = 0.8;这个可以从当地的派出所的案底可以统计出来
上面已经告知:小甲和小乙两人得手的(成功的)可能性:P(H|A)=0.8, P(H|B)=0.3

(0)那么村子里丢东西的可能性就是 P(H) = P(A)P(H|A) + P(B)P(H|B) = 0.4
现在:
(1)知道了结果H发生了,是小甲偷的概率:

(2)知道了结果H发生了,是小乙偷的概率:

以上分析可以看出,虽然小甲得手率高,但是不经常出手偷人,小乙虽然不咋能成功,但是他是个惯犯,经常偷,所以乙偷的可能性大!
这里已然假设甲乙两人偷人的概率是独立的,他们没有关系。

朴素贝叶斯中的“朴素”怎么理解?

朴素贝叶斯中的朴素可以理解为是“简单、天真”的意思,
因为“朴素”是假设了特征之间是同等重要、相互独立、互不影响的
但是在我们的现实社会中,属性之间并不是都是互相独立的,有些属性也会存在性,所以说朴素贝叶斯是一种很“朴素”的算法。
过于理想的算法。

什么是拉普拉斯平滑法?

拉普拉斯平滑法是朴素贝叶斯中处理零概率问题的一种修正方式。
在进行分类的时候,可能会出现某个属性在训练集中没有与某个类同时出现过的情况,
如果直接基于朴素贝叶斯分类器的表达式进行计算的话就会出现零概率现象。
为了避免其他属性所携带的信息被训练集中未出现过的属性值“抹去”
所以才使用拉普拉斯估计器进行修正

具体的方法是:在分子上加1,
对于先验概率,在分母上加上训练集中可能的类别数
对于条件概率,则在分母上加上第i个属性可能的取值数

朴素贝叶斯中有没有超参数可以调?

答:没有的
朴素贝叶斯是没有超参数可以调的,所以它不需要调参,
朴素贝叶斯是根据训练集进行分类,分类出来的结果基本上就是确定了的,
拉普拉斯估计器不是朴素贝叶斯中的参数,不能通过拉普拉斯估计器来对朴素贝叶斯调参。

你知道朴素贝叶斯有哪些应用吗?

朴素贝叶斯的应用最广的应该就是在文档分类
垃圾文本过滤(如垃圾邮件、垃圾信息等)、
情感分析(微博、论坛上的积极、消极等情绪判别)这些方面,
除此之外还有
多分类实时预测
推荐系统(贝叶斯与协同过滤组合使用)、
拼写矫正(当你输入一个错误单词时,可以通过文档库中出现的概率对你的输入进行矫正)等。

朴素贝叶斯对异常值敏不敏感?

答:不仅不敏感,还不能去除异常值
朴素贝叶斯对异常值不敏感
所以在进行数据处理时,我们可以不去除异常值,
因为保留异常值可以保持朴素贝叶斯算法的整体精度,
而去除异常值则可能在进行预测的过程中由于失去部分异常值导致模型的泛化能力下降。

频率学派与贝叶斯学派的差别

哲学思想完全不一样,
思考:人,生而性本善?还是性本恶,有本质的不同!!!

(1)频率学派 - Frequentist - Maximum Likelihood Estimation (MLE,最大似然估计)——人生而善,只需要找到善念。
(2)贝叶斯学派 - Bayesian - Maximum A Posteriori (MAP,最大后验估计)——人生而为恶,后天需要教育,交换,调整改善。

频率学派和贝叶斯学派对世界的认知有本质不同
频率学派认为世界是确定的,有一个本体,这个本体的真值是不变的,我们的目标就是要找到这个真值或真值所在的范围
而贝叶斯学派认为世界是不确定的,人们对世界先有一个预判,而后通过观测数据对这个预判做调整,我们的目标是要找到最优的描述这个世界的概率分布

概率与期望的公式

概率:A发生的频率/天下所有事情的总数

期望:

这个x_k表示某个事件k的取值,如1,2,3,4…;
p_k 表示取值k发生的概率
按照上面的公式加和,就得到我们的期望E(x)了。

先验概率与后验概率

用“瓜熟蒂落”这个因果例子,从概率(probability)的角度说一下,
(1)先验概率:就是常识、经验所透露出的“因”的概率,即瓜熟的概率。
说白了,先验概率,就是直接告诉你这个瓜它熟了的概率。

(2)**后验概率:**就是在知道“果”之后,去推测“因”的概率,也就是说,如果已经知道瓜蒂脱落,那么瓜熟的概率是挺大的。
说白了,你已经知道瓜蒂脱掉了,那必然瓜熟了的概率很大,这是后来才知道的。

后验和先验的关系可以通过贝叶斯公式来求。
也就是:P(瓜熟 | 已知蒂落)= P(瓜熟)×P(蒂落 | 瓜熟)/ P(蒂落)

好吧
总之记住贝叶斯概率公式:


总结

提示:重要经验:

1)大厂笔试选择题经常考贝叶斯公式和朴素贝叶斯
2)没事尝尝回顾一下这些八股文

机器学习面试题——朴素贝叶斯相关推荐

  1. 《机器学习实战》朴素贝叶斯

    机器学习实战的朴素贝叶斯一章中的源文件老是提示 IndexError: range object index out of range 看源码里怎么都不会溢出啊,除非minLen为0:所以看了下测试集 ...

  2. 机器学习实战之朴素贝叶斯

    机器学习实战之朴素贝叶斯 一.朴素贝叶斯算法概述 1.贝叶斯决策理论 2.条件概率 3.全概率公式 4.贝叶斯推断 5.朴素贝叶斯推断 二.实战 三.总结 1.朴素贝叶斯推断的一些优点: 2.朴素贝叶 ...

  3. 机器学习:基于朴素贝叶斯对花瓣花萼的宽度和长度分类预测

    机器学习:基于朴素贝叶斯对花瓣花萼的宽度和长度分类预测 作者:i阿极 作者简介:Python领域新星作者.多项比赛获奖者:博主个人首页

  4. 机器学习实验:朴素贝叶斯算法

    机器学习实验:朴素贝叶斯算法 问题如下: 根据给出的算法naivebayes.py,实现: 1.将数据集文件naivebayes_data.csv中的数据替换成14天打球与天气数据: 2.预测样本{O ...

  5. 机器学习笔记 - 学习朴素贝叶斯概念及应用

    一.思想概述         贝叶斯分类算法是一大类分类算法的总称:贝叶斯分类算法以样本可能属于某类的概率来作为分类依据:朴素贝叶斯分类算法是贝叶斯分类算法中最简单的一种. 朴素贝叶斯分类器是一种用于 ...

  6. 垃圾邮件分类快速理解机器学习中的朴素贝叶斯(Naive Bayes)

    贝叶斯方法是一个历史悠久,有着坚实的理论基础的方法,同时处理很多问题时直接而又高效,很多高级自然语言处理模型也可以从它演化而来.因此,学习贝叶斯方法,是研究自然语言处理问题的一个非常好的切入口. 其实 ...

  7. 【机器学习基础】朴素贝叶斯的算法实现

    前言 本次我们将梳理下朴素贝叶斯(Naive Bayes)的相关内容. 本文约1.6k字,预计阅读10分钟. 概要 朴素贝叶斯算法是一种适用于二分类和多分类分类问题的「分类算法」.在贝叶斯概率框架下, ...

  8. 04机器学习实战之朴素贝叶斯

    朴素贝叶斯 概述 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类.本章首先介绍贝叶斯分类算法的基础--贝叶斯定理.最后,我们通过实例来讨论贝叶斯分类的中最简单的一种: ...

  9. 实现贝叶斯分类器_机器学习实战项目-朴素贝叶斯

    朴素贝叶斯 概述 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类.本章首先介绍贝叶斯分类算法的基础--贝叶斯定理.最后,我们通过实例来讨论贝叶斯分类的中最简单的一种: ...

最新文章

  1. CircleDisplay
  2. android 8.0 移除静态注册广播
  3. 哲学家就餐问题linux源代码,Linux下实现哲学家就餐问题
  4. thinkphp中配置信息的二维数组设置与使用
  5. Nginx+Tomcat+Memcached实现tomcat集群和session共享
  6. 怎么从gitlab上下载别人的代码
  7. QTWebkit中的webkit/qt/api文档
  8. mysql连接量设置_mysql连接数设置操作方法(Too many connections)
  9. SQL 函数NULLIF、NULL、ISNULL、COALESCE、IIF
  10. hadoop常见问题汇总
  11. Emacs正则表达式+零宽断言/环视
  12. ws2812b灯带容易坏_WS2812B灯带STC驱动
  13. java正则表达式是什么6_进阶Java编程(6)正则表达式
  14. IntelliJ IDEA 好用插件之Maven Helper
  15. 前端下载svg格式图片
  16. 视频通话和直播技术webRTC和RTMP探究
  17. 代理arp 无故arp 反向arp
  18. 试水技术论坛:泥巴乐园技术社区bbs.webgameexpress.com
  19. 为什么王者荣耀总是服务器中断,王者荣耀服务器突然维护怎么回事?7月3日王者荣耀维护原因补偿...
  20. 打造更完美的小程序商城

热门文章

  1. 高效的多维空间点索引算法 — Geohash 和 Google S2—绝对好文
  2. Windows10 使用 Sony PHA-1 耳放
  3. MDIO总线+88E1111调试笔记
  4. MacBook安装Nginx
  5. 马云再一次颠覆革命!支付宝又逆天:不用钱包不用手机照样支付
  6. Cisco Packet Tracer(配置OSPF)
  7. k1658停运_2016年10月20日火车停运信息
  8. 线性代数第四章 向量组的线性相关性
  9. 基于CUDA的Hough变换并行实现
  10. 大气快速辐射传输模型RTTOV12.2安装教程及心得体会