Native Bayes Classifier (朴素贝叶斯分类)

一、定理简介

转载自:贝叶斯推断及其互联网应用(一):定理简介

这里写图片描述

一、什么是贝叶斯推断

​ 贝叶斯推断是一种统计学方法,用来估计统计量的某种性质。

​ 它是贝叶斯定理的应用。英国数学家托马斯贝叶斯在1793年发表的一篇论文中,首先提出了这个定理。

​ 贝叶斯推断与其他统计学推断方法截然不同。它建立在主观判断的基础上,也就是说,你可以不需要客观证据,先估计一个值,然后根据实际结果不断的修正。正是因为它的主观性太强,曾经遭到许多统计学家的诟病。

​ 贝叶斯推断需要大量的计算,因此历史上很长一段时间,无法得到广泛应用。只有在计算机诞生之后,它才获得真正的重视。人们发现,许多统计量是无法事先进行客观判断的,而互联网时代出现的大型数据集,再加上高速运算能力,为验证这些统计量提供了方便,也为应用贝叶斯推断创造了条件,它的威力正在日益显现。

二、贝叶斯定理

​ 要理解贝叶斯推断,必须先了解贝叶斯定理。后者实际上就是计算”条件概率“的公式。

​ 所谓”条件概率“,就是指在时间B发生的情况下,事件A发生的概率,用P(A|B)来表示。

这里写图片描述

​ 根据文氏图,可以很清楚的看到在事件B发生的情况下,事件A发生的概率就是P(AB)除以P(B)。

P(A|B)=P(AB)P(B) P ( A | B ) = P ( A ∩ B ) P ( B )

因此,
P(AB)=P(A|B)P(B) P ( A ∩ B ) = P ( A | B ) P ( B )

P(AB)=P(B|A)P(A) P ( A ∩ B ) = P ( B | A ) P ( A )

所以,

P(A|B)P(B)=P(B|A)P(A) P ( A | B ) P ( B ) = P ( B | A ) P ( A )

即,
P(A|B)=P(B|A)P(A)P(B) P ( A | B ) = P ( B | A ) P ( A ) P ( B )

这就是条件概率的计算公式。

三、全概率公式

由于后面要用到,所以除了条件概率值之外,这里还要推导全概率公式。

假定样本空间S,是两个事件A和A’的和。

这里写图片描述

上图中,红色部分是事件A,绿色部分是事件A’,它们共同构成了样本空间S。

在这种情况下,事件B可以划分为两个部分。

这里写图片描述

即:

P(B)=p(BA)+P(BA) P ( B ) = p ( B ∩ A ) + P ( B ∩ A ‘ )

在上面的推导当中,我们已知
P(BA)=P(B|A)P(A) P ( B ∩ A ) = P ( B | A ) P ( A )

所以,
P(B)=P(B|A)P(A)+P(B|A)P(A) P ( B ) = P ( B | A ) P ( A ) + P ( B | A ‘ ) P ( A ‘ )

​ 这就是全概率公式。它的含义是:如果A和A‘构成样本空间的一个划分,那么事件B的概率,就等于A和A’的概率分别乘以B对这两个事件的条件概率之和。

​ 将这个公式代入上一节的条件概率公式,就得到了条件概率的另一种写法:

P(A|B)=P(B|A)P(A)P(B|A)P(A)+P(B|A)P(A) P ( A | B ) = P ( B | A ) P ( A ) P ( B | A ) P ( A ) + P ( B | A ‘ ) P ( A ‘ )

四、贝叶斯推断的含义

对条件概率公式进行变形,可以得到如下形式:

P(A|B)=P(A)P(B|A)P(B) P ( A | B ) = P ( A ) P ( B | A ) P ( B )

我们把P(A)称为”先验概率“,即在B事件发生之前,我们对A事件概率的一个判断。P(A|B)称为”后验概率“,即在事件B发生之后,我们队A事件的重新评估。P(B|A)/P(B)称为”可能性函数“,这是一个调整因子,使得预估概率更接近真实概率。

​ 所以,条件概率可以理解为下面的式子:

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

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

​ 在这里,如果”可能性函数“P(B|A)/P(B)>1,意味着”先验概率“增强,事件A的发生的可能性变大;如果”可能性函数“P(B|A)/P(B)=1,意味着B事件无助于事件A的可能性;如果”可能性函数“P(B|A)/P(B)<1,意味着”先验概率“被消弱,事件A发生的可能性变小。

五、【例子】水果糖问题

为了加深对贝叶斯推断的理解,我们看下面两个例子。

这里写图片描述

​ 两个一模一样的碗,一号碗有30颗水果糖和10颗巧克力糖,二号碗有水果糖和巧克力糖各20颗。现在随机选择一个碗,从中摸出一颗糖,发现是水果糖。请问这颗水果糖来自一号碗的概率有多大?

​ 我们假定,H1表示一号碗,H2表示二号碗。由于这两个碗是一样的,所以P(H1)=P(H2),也就是说,再取出水果糖之前,这两个碗被选中的概率相同。因此,P(H1)=0.5,我们把这个概率叫做”先验概率“,即没有做实验之前,来自一号碗的概率是0.5。

​ 再假定,E表示水果糖,所以问题就变成了在已知E的情况下,来自一号碗的概率有多少?即求P(H1|E)。我们把这个概率叫做”后验概率“,即在事件E发生之后,对P(H1)的修正。

​ 根据条件概率公式,得到:

P(H1|E)=P(H1)P(E|H1)P(E) P ( H 1 | E ) = P ( H 1 ) P ( E | H 1 ) P ( E )

​ 已知,P(H1)等于0.5,P(E|H1)为一号碗中取出水果糖的概率,等于0.75,那么求出P(E)就可以得到答案。根据全概率公式:
P(E)=P(E|H1)P(H1)+P(E|H2)P(H2) P ( E ) = P ( E | H 1 ) P ( H 1 ) + P ( E | H 2 ) P ( H 2 )

所以,将数字带入原方程,得到:
P(H1|E)=0.50.750.625=0.6 P ( H 1 | E ) = 0.5 ∗ 0.75 0.625 = 0.6

这表明,来自一号碗的概率是0.6。也就是说,取出水果糖之后,H1事件的可能性得到了增强。

六、【例子】假阳性问题

第二个例子是一个医学的常见问题,与现实生活关系密切。

已知某种疾病的发病率是0.001,即1000人中会有1个人得病。现有一种试剂可以检验患者是否得病,它的准确率是0.99,即在患者确实得病的情况下,它有99%的可能呈现阳性。它的误报率是5%,即在患者没有得病的情况下,它有5%的可能呈现阳性。现有一个病人的检验结果为阳性,请问他确实得病的可能性有多大?

​ 假定A事件表示得病,那么P(A)为0.001。这就是”先验概率”,即没有做试验之前,我们预计的发病率。再假定B事件表示阳性,那么要计算的就是P(A|B)。这就是”后验概率”,即做了试验以后,对发病率的估计。

​ 根据条件概率公式, P(A|B=P(A)P(B|A)P(B)) P ( A | B = P ( A ) P ( B | A ) P ( B ) ) ,用全概率公式改写分母:

P(A|B)=P(A)P(B|A)P(B|A)P(A)+P(B|A¯¯¯¯)P(A¯¯¯¯) P ( A | B ) = P ( A ) P ( B | A ) P ( B | A ) P ( A ) + P ( B | A ¯ ) P ( A ¯ )

将数字带入, P(A|B)0.0010.990.990.001+0.050.999=0.019 P ( A | B ) = 0.001 ∗ 0.99 0.99 ∗ 0.001 + 0.05 ∗ 0.999 = 0.019

​ 我们得到一个惊人的结果,P(A|B)约等于0.019。也就是说,即使检验呈现阳性,病人得病的概率:也只从0.1%增加到了2%左右。这就是所谓的“假阳性”,即阳性结果完全不足以说明病人得病。

​ 为什么会这样?为什么这种检验的准确率高达99%,但是可信度却不到2%?答案是与它的误报率太高和发病率低有关。

二、数据集解析贝叶斯

转载自:算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)

一、摘要

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。本文作为分类算法的第一篇,将首先介绍分类问题,对分类问题进行一个正式的定义。然后,介绍贝叶斯分类算法的基础——贝叶斯定理。最后,通过实例讨论贝叶斯分类中最简单的一种:朴素贝叶斯分类。

二、分类问题综述

对于分类问题,其实谁都不会陌生,说我们每个人每天都在执行分类操作一点都不夸张,只是我们没有意识到罢了。例如,当你看到一个陌生人,你的脑子下意识判断TA是男是女;你可能经常会走在路上对身旁的朋友说“这个人一看就很有钱、那边有个非主流”之类的话,其实这就是一种分类操作。

​ 从数学角度来说,分类问题可做如下定义:

​ 已知集合: C={y1,y2,...,yn} C = { y 1 , y 2 , . . . , y n } I={x1,x2,...,xm,...} I = { x 1 , x 2 , . . . , x m , . . . } ,确定映射规则 y=f(x) y = f ( x ) ,使得任意 xiI x i ∈ I 有且仅有一个 yjC y j ∈ C 使得 yj=f(xi) y j = f ( x i ) 成立。(不考虑模糊数学里的模糊集情况)

其中C叫做类别集合,其中每一个元素是一个类别,而I叫做项集合,其中每一个元素是一个待分类项,f叫做分类器。分类算法的任务就是构造分类器f。

​ 这里要着重强调,分类问题往往采用经验性方法构造映射规则,即一般情况下的分类问题缺少足够的信息来构造100%正确的映射规则,而是通过对经验数据的学习从而实现一定概率意义上正确的分类,因此所训练出的分类器并不是一定能将每个待分类项准确映射到其分类,分类器的质量与分类器构造方法、待分类数据的特性以及训练样本数量等诸多因素有关。

​ 例如,医生对病人进行诊断就是一个典型的分类过程,任何一个医生都无法直接看到病人的病情,只能观察病人表现出的症状和各种化验检测数据来推断病情,这时医生就好比一个分类器,而这个医生诊断的准确率,与他当初受到的教育方式(构造方法)、病人的症状是否突出(待分类数据的特性)以及医生的经验多少(训练样本数量)都有密切关系。

三、贝叶斯分类的基础——贝叶斯定理

​ 每次提到贝叶斯定理,我心中的崇敬之情都油然而生,倒不是因为这个定理多高深,而是因为它特别有用。这个定理解决了现实生活里经常遇到的问题:已知某条件概率,如何得到两个事件交换后的概率,也就是在已知P(A|B)的情况下如何求得P(B|A)。这里先解释什么是条件概率:

P(A|B) P ( A | B ) 表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率。其基本求解公式为: P(A|B)=P(AB)P(B) P ( A | B ) = P ( A B ) P ( B ) .

​ 贝叶斯定理之所以有用,是因为我们在生活中经常遇到这种情况:我们可以很容易直接得出P(A|B),P(B|A)则很难直接得出,但我们更关心P(B|A),贝叶斯定理就为我们打通从P(A|B)获得P(B|A)的道路。

​ 下面不加证明地直接给出贝叶斯定理:

P(B|A)=P(A|B)P(B)P(A) P ( B | A ) = P ( A | B ) P ( B ) P ( A )

四、朴素贝叶斯分类

1. 朴素贝叶斯分类的原理与流程

朴素贝叶斯分类是一种十分简单的分类算法,叫它朴素贝叶斯分类是因为这种方法的思想真的很朴素,朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。通俗来说,就好比这么个道理,你在街上看到一个黑人,我问你你猜这哥们哪里来的,你十有八九猜非洲。为什么呢?因为黑人中非洲人的比率最高,当然人家也可能是美洲人或亚洲人,但在没有其它可用信息下,我们会选择条件概率最大的类别,这就是朴素贝叶斯的思想基础。

这里写图片描述

根据上述分析,朴素贝叶斯分类的流程可以由下图表示(暂时不考虑验证):

这里写图片描述

可以看到,整个朴素贝叶斯分类分为三个阶段:

​ 第一阶段——准备工作阶段,这个阶段的任务是为朴素贝叶斯分类做必要的准备,主要工作是根据具体情况确定特征属性,并对每个特征属性进行适当划分,然后由人工对一部分待分类项进行分类,形成训练样本集合。这一阶段的输入是所有待分类数据,输出是特征属性和训练样本。这一阶段是整个朴素贝叶斯分类中唯一需要人工完成的阶段,其质量对整个过程将有重要影响,分类器的质量很大程度上由特征属性、特征属性划分及训练样本质量决定。

​ 第二阶段——分类器训练阶段,这个阶段的任务就是生成分类器,主要工作是计算每个类别在训练样本中的出现频率及每个特征属性划分对每个类别的条件概率估计,并将结果记录。其输入是特征属性和训练样本,输出是分类器。这一阶段是机械性阶段,根据前面讨论的公式可以由程序自动计算完成。

​ 第三阶段——应用阶段。这个阶段的任务是使用分类器对待分类项进行分类,其输入是分类器和待分类项,输出是待分类项与类别的映射关系。这一阶段也是机械性阶段,由程序完成。

2.估计类别下特征属性划分的条件概率及Laplace校准

这里写图片描述

3.朴素贝叶斯分类实例:检测SNS社区中不真实账号

这里写图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
朴素贝叶斯分类器(Naive Bayes classifier)是一种常用的概率分类方法,它基于贝叶斯理论和特征独立假设。朴素贝叶斯分类器有着简单高效的特点,在文本分类、垃圾邮件过滤、情感分析等领域都有广泛应用。 朴素贝叶斯分类器的基本原理是利用训练集的特征和对应的分类标签构建生成模型,然后根据测试样本的特征,通过计算后验概率来进行分类预测。具体而言,朴素贝叶斯分类器假设特征之间相互独立,基于此假设,可以通过训练集中特征在各个类别下的条件概率来计算样本在不同类别下的后验概率,并选择后验概率最大的类别作为分类结果。 朴素贝叶斯分类器的训练过程包括两个步骤:首先是计算各个类别的先验概率,即每个类别在训练集中的出现频率;然后是计算每个特征在各个类别下的条件概率,即给定一个类别时,特征的条件概率。在得到先验概率和条件概率后,可以通过贝叶斯公式计算后验概率。 朴素贝叶斯分类器的优点在于对小规模数据集具有较好的分类性能,且能够处理多类别分类问题。而其缺点则是对于特征之间的相关性较为敏感,当特征之间存在强相关性时,朴素贝叶斯分类器的性能会下降。 总的来说,朴素贝叶斯分类器是一种简单而有效的分类方法,它在许多实际应用中表现出色。其理论基础扎实,实现相对简单,适用于处理小规模数据集的分类问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据AI

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值