机器学习面试题之朴素贝叶斯(九)

转自木东居士的数据挖掘面试题之:朴素贝叶斯
在这里插入图片描述
1.什么是贝叶斯决策论?

贝叶斯决策论是概率框架下实施决策的基本方法。要了解贝叶斯决策论,首先得先了解以下几个概念:先验概率、条件概率、后验概率、误判损失、条件风险、贝叶斯判别准则。

先验概率: 所谓先验概率,就是根据以往的经验或者现有数据的分析所得到的概率。如,随机扔一枚硬币,则p(正面) = p(反面) = 1/2,这是我们根据已知的知识所知道的信息,即p(正面) = 1/2为先验概率。

条件概率: 所谓条件概率是指事件A在另一事件B发生的条件下发送的概率。用数学符号表示为:P(B|A),即B在A发生的条件下发生的概率。举个栗子,你早上误喝了一瓶过期了的牛奶(A),那我们来算一下你今天拉肚子的概率(B),这个就叫做条件概率。即P(拉肚子|喝了过期牛奶), 易见,条件概率是有因求果(知道原因推测结果)。

后验概率: 后验概率跟条件概率的表达形式有点相似。数学表达式为p(A|B), 即A在B发生的条件下发生的概率。以误喝牛奶的例子为例,现在知道了你今天拉肚子了(B),算一下你早上误喝了一瓶过期了的牛奶(A)的概率, 即P(A|B),这就是后验概率,后验概率是有果求因(知道结果推出原因)

误判损失:
数学表达式:L(j|i),
判别损失表示把一个标记为i类的样本误分类为j类所造成的损失。
比如,当你去参加体检时,明明你各项指标都是正常的,但是医生却把你分为癌症病人,这就造成了误判损失,用数学表示为:L(癌症|正常)。

条件风险: 是指基于后验概率P(i|x)可获得将样本x分类为i所产生的期望损失,公式为:R(i|x) = ∑L(i|j)P(j|x)。(其实就是所有判别损失的加权和,而这个权就是样本判为j类的概率,样本本来应该含有P(j|x)的概率判为j类,但是却判为了i类,这就造成了错判损失,而将所有的错判损失与正确判断的概率的乘积相加,就能得到样本错判为i类的平均损失,即条件风险。)

举个栗子,假设把癌症病人判为正常人的误判损失是100,把正常人判为癌症病人的误判损失是10,把感冒病人判为癌症的误判损失是8,即L(正常|癌症) = 100, L(癌症|正常) = 10,L(癌症|感冒) = 8, 现在,我们经过计算知道有一个来体检的员工的后验概率分别为:p(正常|各项指标) = 0.2, p(感冒|各项指标) = 0.4, p( 癌症|各项指标)=0.4。假如我们需要计算将这个员工判为癌症的条件风险,则:R(癌症|各项指标) = L(癌症|正常)* p(正常|各项指标) + L(癌症|感冒) * p(感冒|各项指标) = 5.2。

贝叶斯判别准则: 贝叶斯判别准则是找到一个使条件风险达到最小的判别方法。即,将样本判为哪一类,所得到的条件风险R(i|x)(或者说平均判别损失)最小,那就将样本归为那个造成平均判别损失最小的类。

此时:h*(x) = argminR(i|x) 就称为 贝叶斯最优分类器。

总结:贝叶斯决策论是基于先验概率求解后验概率的方法,其核心是寻找一个判别准则使得条件风险达到最小。而在最小化分类错误率的目标下,贝叶斯最优分类器又可以转化为求后验概率达到最大的类别标记,即 h*(x) = argmaxP(i|x)。(此时,L(i|j) = 0, if i = j;L(i|j) = 1, otherwise)

2.你知道什么叫做朴素贝叶斯吗?

朴素贝叶斯采用 属性条件独立性 的假设,对于给定的待分类观测数据X,计算在X出现的条件下,各个目标类出现的概率(即后验概率),将该后验概率最大的类作为X所属的类。而计算后验概率的贝叶斯公式为:p(A|B) =[ p(A) * p(B|A)]/p(B),因为p(B)表示观测数据X出现的概率,它在所有关于X的分类计算公式中都是相同的,所以我们可以把p(B)忽略,则 p(A|B)= p(A) * p(B|A)。

举个栗子,公司里面男性有60人,女性有40人,男性穿皮鞋的人数有25人,穿运动鞋的人数有35人,女性穿皮鞋的人数有10人,穿高跟鞋的人数有30人。现在你只知道有一个人穿了皮鞋,这时候你就需要推测他的性别是什么。如果推测出他是男性的概率大于女性,那么就认为他是男性,否则认为他是女性。(如果此时条件允许,你可以现场给面试官演示一下怎么计算, 计算过程如下:
在这里插入图片描述因为0.2502>0.1, 所以我们可以认为这个人是男性)
在这里插入图片描述3.朴素贝叶斯中的“朴素”怎么理解?
朴素贝叶斯中的朴素可以理解为是“简单、天真”的意思,因为“朴素”是假设了特征之间是同等重要、相互独立、互不影响的,但是在我们的现实社会中,属性之间并不是都是互相独立的,有些属性也会存在性,所以说朴素贝叶斯是一种很“朴素”的算法。

4.朴素贝叶斯有什么优缺点?
优点

  1. 朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率。

  2. 对缺失数据不太敏感,算法也比较简单,常用于文本分类。

  3. 分类准确度高,速度快。

  4. 对小规模的数据表现很好,能处理多分类任务,适合增量式训练,当数据量超出内存时,我们可以一批批的去增量训练(朴素贝叶斯在训练过程中只需要计算各个类的概率和各个属性的类条件概率,这些概率值可以快速地根据增量数据进行更新,无需重新全量计算)。

缺点

  1. 对训练数据的依赖性很强,如果训练数据误差较大,那么预测出来的效果就会不佳。
  2. 理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。
  3. 但是在实际中,因为朴素贝叶斯“朴素,”的特点,导致在属性个数比较多或者属性之间相关性较大时,分类效果不好。
  4. 而在属性相关性较小时,朴素贝叶斯性能最为良好。
  5. 对于这一点,有半朴素贝叶斯之类的算法通过考虑部分关联性适度改进。
  6. 需要知道先验概率,且先验概率很多时候是基于假设或者已有的训练数据所得的,这在某些时候可能会因为假设先验概率的原因出现分类决策上的错误。

5.“朴素”是朴素贝叶斯在进行预测时候的缺点,那么有这么一个明显的假设缺点在,为什么朴素贝叶斯的预测仍然可以取得较好的效果?

  1. 对于分类任务来说,只要各个条件概率之间的排序正确,那么就可以通过比较概率大小来进行分类,不需要知道精确的概率值(朴素贝叶斯分类的核心思想是找出后验概率最大的那个类,而不是求出其精确的概率)
  2. 如果属性之间的相互依赖对所有类别的影响相同,或者相互依赖关系可以互相抵消,那么属性条件独立性的假设在降低计算开销的同时不会对分类结果产生不良影响。

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

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

7.朴素贝叶斯中有多少种模型?

朴素贝叶斯含有3种模型,分别是高斯模型,对连续型数据进行处理;多项式模型,对离散型数据进行处理,计算数据的条件概率(使用拉普拉斯估计器进行平滑的一个模型);伯努利模型,伯努利模型的取值特征是布尔型,即出现为ture,不出现为false,在进行文档分类时,就是一个单词有没有在一个文档中出现过。

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

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

9.你觉得朴素贝叶斯对异常值敏不敏感?

朴素贝叶斯对异常值不敏感。所以在进行数据处理时,我们可以不去除异常值,因为保留异常值可以保持朴素贝叶斯算法的整体精度,而去除异常值则可能在进行预测的过程中由于失去部分异常值导致模型的泛化能力下降。
你觉得朴素贝叶斯对缺失值敏不敏感?
朴素贝叶斯是一种对缺失值不敏感的分类器,朴素贝叶斯算法能够处理缺失的数据,在算法的建模时和预测时数据的属性都是单独处理的。因此如果一个数据实例缺失了一个属性的数值,在建模时将被忽略,不影响类条件概率的计算,在预测时,计算数据实例是否属于某类的概率时也将忽略缺失属性,不影响最终结果。

10.朴素贝叶斯是高方差还是低方差模型?

朴素贝叶斯是低方差模型。(误差 = 偏差 + 方差)对于复杂模型来说,由于复杂模型充分拟合了部分数据,使得它们的偏差变小,但由于对部分数据过分拟合,这就导致预测的方差会变大。因为朴素贝叶斯假设了各个属性之间是相互的,算是一个简单的模型。对于简单的模型来说,则恰恰相反,简单模型的偏差会更大,相对的,方差就会较小。(偏差是模型输出值与真实值的误差,也就是模型的精准度,方差是预测值与模型输出期望的的误差,即模型的稳定性,也就是数据的集中性的一个指标)

11.朴素贝叶斯为什么适合增量计算?

因为朴素贝叶斯在训练过程中实际只需要计算出各个类别的概率和各个特征的类条件概率,这些概率值可以快速的根据增量数据进行更新,无需重新全量训练,所以其十分适合增量计算,该特性可以使用在超出内存的大量数据计算和按小时级等获取的数据计算中。

12.朴素贝叶斯与 LR 区别?

  • 朴素贝叶斯是生成模型,LR是判别模型
  • 朴素贝叶斯是基于很强的条件独立假设(在已知分类Y的条件下,各个特征变量取值是相互独立的),而 LR 则对此没有要求
  • 朴素贝叶斯适用于数据集少的情景,而LR适用于大规模数据集。

13.高度相关的特征对朴素贝叶斯有什么影响?

假设有两个特征高度相关,相当于该特征在模型中发挥了两次作用(计算两次条件概率),使得朴素贝叶斯获得的结果向该特征所希望的方向进行了偏移,影响了最终结果的准确性,所以朴素贝叶斯算法应先处理特征,把相关特征去掉。

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值