【机器学习】贝叶斯分类简述到朴素贝叶斯分类器

一、条件概率

我们先看这样一个例子:
        假如我是一个质检员,现在接到了三箱零件需要检验,其中第一箱有10个零件,第二箱有20个零件,第三箱有15个。半小时过去了,检验的结果出炉,第一箱有1个不合格,第二箱有3个不合格,第三箱2个不合格。
        下午领导要来视察了,看看我验的货到底有没有问题,此时我的心里当然是忐忑不安呀,领导拿到这个件为合格件的概率有多大?
        在以上问题中,领导拿的这个零件首先一定在这3个箱子中的某一个,因此样本空间可以由这3个箱子组成,记 A i Ai Ai为从第 i i i个箱子拿的零件, i i i的取值范围为1,2,3。然后再用一个事件来标记拿到正品,记为 B B B,因此,领导拿到这个件为合格件的概率,记为 P ( B ) P(B) P(B)
所以,问题又来了,这个 P ( B ) P(B) P(B)的概率到底是多大那?这个时间 B B B的发生肯定来自于样本空间;啊,也就是说这个合格件要么是 A 1 、 A 2 、 或 者 是 A 3 A1、A2、或者是A3 A1A2A3中获取到的,因此:
P ( B ) = P ( A 1 ) ⋆ P ( B ∣ A 1 ) + P ( A 2 ) ⋆ P ( B ∣ A 2 ) + P ( A 3 ) ⋆ P ( B ∣ A 3 ) = ( 1 / 3 ) ⋆ 9 / 10 + ( 1 / 3 ) ⋆ 17 / 20 + ( 1 / 3 ) ⋆ 13 / 15 = 0.872 \begin{aligned} P(B)=P(A 1)^{\star} & P(B | A 1)+P(A 2)^{\star} P(B | A 2)+P(A 3)^{\star} P(B | A 3) \\ &=(1 / 3)^{\star} 9 / 10+(1 / 3)^{\star} 17 / 20+(1 / 3)^{\star} 13 / 15 \\ &=0.872 \end{aligned} P(B)=P(A1)P(BA1)+P(A2)P(BA2)+P(A3)P(BA3)=(1/3)9/10+(1/3)17/20+(1/3)13/15=0.872
说明: P ( B ∣ A 1 ) P(B | A1) P(BA1) 是条件概率:零件来自于第一个箱子的条件下,并且它为合格件的概率。
        根据概率,领导抽取到的合格件还是蛮大的,果不其然,领导抽到了一个合格品,然后他亲自检验了下,发现质检的没有问题,冲着我笑了笑,很满意地拍拍屁股就走人了。当他走了的时候,我想到了一个问题,领导抽的这个合格品来自于箱子1的概率是多大呢?这个问题也就是求 条件概率 P ( A 1 ∣ B ) P(A1 | B) P(A1B),即取到合格品事件 B B B发生了地情况下,来自于 A 1 A1 A1的概率。
说明:求 P ( A 1 ∣ B ) P(A1 | B) P(A1B)称为求解逆向概率,这个概率往往是不好求解答,但是它对应的正向概率:P(B | A1),往往求解简单。
        既然如此, P(A1|B)比较难求解,就转化一下:
P ( A 1 ∣ B ) = P ( A 1 ⋆ B ) / P ( B ) \mathrm{P}(\mathrm{A} 1 | \mathrm{B})=\mathrm{P}\left(\mathrm{A} 1^{\star} \mathrm{B}\right) / \mathrm{P}(\mathrm{B}) P(A1B)=P(A1B)/P(B)其中, A 1 ∗ B A1*B A1B事件表示从第一个箱子抽取且为合格件,则:
P ( A 1 ⋆ B ) = P ( A 1 ) ⋆ P ( B ∣ A 1 ) = ( 1 / 3 ) ⋆ 9 / 10 = 0.3 P\left(A 1^{\star} B\right)=P(A 1)^{\star} P(B | A 1)=(1 / 3)^{\star} 9 / 10=0.3 P(A1B)=P(A1)P(BA1)=(1/3)9/10=0.3其中, P ( A 1 ∗ B ) P(A1*B) P(A1B),也可以记为: P ( A 1 , B ) P(A1,B) P(A1,B),它称为联合概率,直接理解为同时成立即可,这也就是我们高中学习过的条件概率那一块。
因此: P ( A 1 ∣ B ) = 0.3 / 0.872 = 0.344 P(A 1 | B)=0.3 / 0.872=0.344 P(A1B)=0.3/0.872=0.344
这个已知 B B B发生,然后,预测 B B B来自于哪里,便是贝叶斯公式做的事情。
所以通过这个例子,我们如何提取出一个模型出来那?

二、贝叶斯公式

        以上《合格品的例子》的样本空间有 A 1 , A 2 , A 3 A1,A2 ,A3 A1A2A3组成,它们把样本空间划分为三部分。如果将划分上升到由 n n n个部分组成,抽中一个合格件为本次随机试验的事件 B B B,明显地, P ( A i ) 和 P ( B ) P(Ai) 和 P(B) P(Ai)P(B)都大于零,则事件 B B B发生后,找出它属于哪个类别的计算公式如下:
P ( A i ∣ B ) = P ( A i B ) ∑ i = 1 n P ( B ∣ A i ) = P ( A i ) × P ( B ∣ A i ) ∑ i = 1 n P ( B ∣ A i ) P\left(A_{i} | B\right)=\frac{P\left(A_{i} B\right)}{\sum_{i=1}^{n} P\left(B | A_{i}\right)}=\frac{P\left(A_{i}\right) \times P\left(B | A_{i}\right)}{\sum_{i=1}^{n} P\left(B | A_{i}\right)} P(AiB)=i=1nP(BAi)P(AiB)=i=1nP(BAi)P(Ai)×P(BAi) 贝叶斯公式是要找出组成发生事件B的各个样本空间,然后预测事件B的发生来自于 A i Ai Ai的概率。
        其中 P ( A i ) P(Ai) P(Ai)称为原因的先验概率,可以看到它是在不知道事件 B B B是否发生的情况下获取的概率。比如在抽取零件时,我们不知道能不能抽取到合格件,但是选择任意一个箱子的概率一定都为1/3,所以称为先验概率。
        而 P ( A i ∣ B ) P(Ai | B) P(AiB) 是原因的后验概率,它是在知道了事件 B B B发生的条件下,有了这个进一步的信息后,判断原因 A i Ai Ai 发生的概率有多大。可以看到,一般地,如果对样本空间做了大于1的划分,即:
P ( B ∣ A i ) ∑ i = 1 n P ( B ∣ A i ) > 1 \frac{P\left(B | A_{i}\right)}{\sum_{i=1}^{n} P\left(B | A_{i}\right)}>1 i=1nP(BAi)P(BAi)>1所以根据上面提到贝叶斯公式,不难推断出:
P ( A i ∣ B ) > P ( A i ) P\left(A_{i} | B\right)>P\left(A_{i}\right) P(AiB)>P(Ai)这也就是说在获取了进一步的信息 B B B后,原因的后验概率一般大于原因的先验概率

三、例子中的贝叶斯

        根据北平市第一实验中学101班历年的统计数据,班上努力学习的学生占到90%,并标记这部分群体为A0类,学习不用功的占到10%,并标记这部分群体为A1类。因此将学生群体划分为两类:

1、学习努力的学生
2、学习不努力的学生

        再根据历年的升学率,学生只要学生努力学习考上重点大学的概率为 0.7,而不努力的学生考上重点大学的概率为 0.01 。
分析求解过程:
       定义一个事件 B B B:学生考上重点大学,其发生的概率为 P ( B ) P(B) P(B),该样本空间被划分为两类: A 0 和 A 1 A0和A1 A0A1,则 P ( B ) = P ( B ∣ A 0 ) + P ( B ∣ A 1 ) = 计 算 有 误 P(B) = P(B | A0) + P(B | A1) = 计算有误 P(B)=P(BA0)+P(BA1)=
       由贝叶斯公式可知:这个考上重点大学条件下且来自群体 A 0 A0 A0的概率标记为: P ( A 0 ∣ B ) P(A0 | B ) P(A0B)
P ( A 0 ∣ B ) = P ( A 0 ⋆ B ) / P ( B ) = P ( A 0 ) ⋆ P ( B ∣ A 0 ) / 0.71 = 0.9 ∗ 0.7 / 0.71 = 0.887 \begin{array}{l}{P(A0|B)=\mathrm{P}\left(\mathrm{A} 0^{\star} \mathrm{B}\right) / \mathrm{P}(\mathrm{B})} \\ {=\mathrm{P}(\mathrm{A} 0)^{\star} \mathrm{P}(\mathrm{B} | \mathrm{A} 0) / 0.71} \\ {=0.9 * 0.7 / 0.71} \\ {=0.887}\end{array} P(A0B)=P(A0B)/P(B)=P(A0)P(BA0)/0.71=0.90.7/0.71=0.887同理,这个考上重点大学的学生属于群体A1的概率:P(A1 | B )
P ( A 1 ∣ B ) = P ( A 1 ⋆ B ) / P ( B ) = P ( A 1 ) ⋆ P ( B ∣ A 1 ) / 0.71 = 0.1 ∗ 0.01 / 0.71 = 0.0014 \begin{array}{l}{P(A1|B)=P\left(A 1^{\star} B\right) / P(B)} \\ {=P(A 1)^{\star} P(B | A 1) / 0.71} \\ {=0.1 * 0.01 / 0.71} \\ {=0.0014}\end{array} P(A1B)=P(A1B)/P(B)=P(A1)P(BA1)/0.71=0.10.01/0.71=0.0014可以看出,这个学生属于努力学习那个圈里头的概率为0.887,属于不努力学习圈的概率为0.0014,换言之,不努力学习还能上重点的概率是一千人里出一个多的天才,这就是根据贝叶斯公式做出的预测

四、总结

1、用一个合格零件判断来自哪个箱子的例子引出贝叶斯公式
2、然后解释贝叶斯公式和其中涉及的两个概念:先验概率和后验概率
3、最后用一个很直接的例子说明如何用贝叶斯做分类。
4、注意到在贝叶斯公式中,要求后验概率 P(classification | data) ,利用贝叶斯公式将其其转化为求解 :
 P(classification)  ∗  P(data  ∣  classification)  / P (  data  ) \text { P(classification) } * \text { P(data } | \text { classification) } / \mathrm{P}(\text { data })  P(classification)  P(data  classification) /P( data )       其中, P ( d a t a ) P(data) P(data)是与类标记无关的量,可以看做是一个常数; P ( c l a s s i f i c a t i o n ) P(classification) P(classification)表达了各类样本所占的比例,根据大数定律,当训练集包含了充足的独立同分布样本时, P ( c l a s s i f i c a t i o n ) P(classification) P(classification)可以通过各类样本出现的频率来进行估计。
       知道使用 P ( d a t a ∣ c l a s s i f i c a t i o n ) P(data | classification) P(dataclassification)即 data相对于classification的概率怎么计算吗? 如果一旦我们知道了它的求解方法,那么贝叶斯公式分类预测算法的核心就掌握了。


分割线走一波

       在上面的部分中,总结最后我们引出了一个问题:后验概率 P ( c ∣ x ) P(c|x) P(cx)的求解转化为求解 P ( c ) P(c) P(c) P ( x ∣ c ) P(x|c) P(xc) P ( c ) P(c) P(c)根据大数定律很容易get到,所以核心问题就是如何求解 P ( x ∣ c ) P(x|c) P(xc)z,接下来我们借助一个例子如何解释如何求解。
       我们在超市买水果的时候,一般红润而圆滑的果子都是好苹果,泛青无规则的一般都比较一般,现在根据之前几次买过的苹果,已经验证过了10个苹果,主要根据大小,颜色和形状这三个特征,来区分是好是坏,如下:

编号大小颜色形状好果
1青色非规则
2红色非规则
3红色圆形
4青色圆形
5青色非规则
6红色圆形
7青色非规则
8红色非规则
9青色圆形
10红色圆形

现在在超市我正要买的一个苹果的特征如下:

大小颜色形状好果
红色圆形

2 、引出:类条件概率
问是好果还是一般的苹果?假定,苹果的三个特征:大小,颜色,形状,是相互独立的,言外之意它们之间没有相关关系。
       在上面的例子:10条苹果的数据为例,来解释下贝叶斯公式中一个非常重要的概率: P ( x ∣ c ) P(x | c) P(xc) ,理解它关系到对贝叶斯分类器整体的理解,因此好好理解下。
       1、首先它是一个条件概率,是在 c c c 发生的条件下, x x x 出现的概率。 那么 c c c是什么? c c c是整个数据集中所有种类中的一种,比如是好苹果,这个类; x x x 是在好苹果这个类别中所有属性的可能取值,在上面这个例子中,一共有3个属性,每个属性有2个不同取值,因此共有8个不同组合,所以 x 就是在8种不同取值中每个取值的样本个数。
       例如在好苹果这类中,取值为 大,红色,圆形的样本有几个呢? 先找出好苹果的集合(个数是4),然后在这4个样本里找,发现有3个样本取值都为大,红色和圆形,所以 x 在8中不同取值中的这种组合下的样本个数为:3,所以 :
P ( x i ∣ c ) = 3 / 4 P(x i | c)=3 / 4 P(xic)=3/4其中 i 为1~8中的某个取值,在本例中为:大,红色,圆形;这里,称 P ( x ∣ c ) P(x | c) P(xc)这种概率为:类条件概率,它等于在训练集中属于类别 c 的所有样本中,所有属性组合的样本出现的概率。

3、属性独立的假设

记得刚开始说过,苹果的三个特征之间是相互独立的,这个假设是很有用的。为什么?因为类的后验概率 P(x | c) 计算公式如下:
P ( c ∣ x ) = P ( c ) × P ( x ∣ c ) P ( x ) P(c | x)=\frac{P(c) \times P(x | c)}{P(x)} P(cx)=P(x)P(c)×P(xc)在三个特征间相互独立的前提假定下,类条件概率的计算公式便可以进一步推导为如下:
P ( x ∣ c ) = ∏ i = 1 d P ( x i ∣ c ) P(x | c)=\prod_{i=1}^{d} P\left(x_{i} | c\right) P(xc)=i=1dP(xic)其中,d是样本的所有属性个数,这个意思是说,因为各个属性间相互独立,所以类条件概率等于每个属性的类条件概率的乘积。因此,联合上面两个式子,可以得到如下式子:
P ( c ∣ x ) = P ( c ) P ( x ) ∏ i = 1 d P ( x i ∣ c ) P(c | x)=\frac{P(c)}{P(x)} \prod_{i=1}^{d} P\left(x_{i} | c\right) P(cx)=P(x)P(c)i=1dP(xic)
4、朴素贝叶斯分类器

由于对所有类别来说, P ( x ) P(x) P(x)是相同的,因此贝叶斯分类器的目标函数进一步化简为如下:
h ( x ) = max ⁡ ( P ( c ) ∏ i = 1 d P ( x i ∣ c ) ) h(x)=\max \left(P(c) \prod_{i=1}^{d} P\left(x_{i} | c\right)\right) h(x)=max(P(c)i=1dP(xic))其中 c 为所有类别中的每一个,比如苹果数据中一共有两个类别:好果,坏果。
称上面式子为朴素贝叶斯分类器的目标函数,明显地,朴素贝叶斯分类器的训练学习的过程便是基于训练数据(苹果集),求得类的先验概率 P ( c ) P(c) P(c),并且为每个属性求得类条件概率,然后相乘取最大值的过程。

下面进一步通过苹果数据集来阐述这一过程,这是理解的朴素贝叶斯分类器的过程,用很小的数据个数方便理解,将来应付大的数据集道理也是一样的。
以下是刚开始列举的数据集:

编号大小颜色形状好果
1青色非规则
2红色非规则
3红色圆形
4青色圆形
5青色非规则
6红色圆形
7青色非规则
8红色非规则
9青色圆形
10红色圆形

现在在超市我正要买的一个苹果的特征如下:

大小颜色形状好果
红色圆形

问是好果还是一般的苹果,根据已有的数据集概率是多大?
先验概率 P ( c ) P(c) P(c)简化的求解方法:c类样本的个数除以所有样本个数,因此:

P(c=好果)= 4/10
P(c=一般) = 6/10

每个属性的类条件概率,可以初步这么求解:这个类别下的样本中对应这个属性的样本个数除以这个类别下的样本个数,因此

P(大小=大 | c=好果) = 3/4
P(颜色=红色 | c=好果) = 4/4
P(形状=圆形 | c=好果) = 3/4
P(大小=大 | c=一般) = 3/6
P(颜色=红色 | c=一般) = 1/6
P(形状=圆形 | c=一般) = 2/6

因此:

P ( c = 好 果 ) ∗ P ( 大 小 = 大 ∣ c = 好 果 ) ∗ P ( 颜 色 = 红 色 ∣ c = 好 果 ) ∗ P ( 形 状 = 圆 形 ∣ c = 好 果 ) = 4 / 10 ∗ 3 / 4 ∗ 4 / 4 ∗ 3 / 4 = 0.225 P(c=好果) * P(大小=大 | c=好果) * P(颜色=红色 | c=好果) * P(形状=圆形 | c=好果) = 4/10 * 3/4 * 4/4 * 3/4 = 0.225 P(c=P(=c=)P(=c=)P(=c=)=4/103/44/43/4=0.225

P ( c = 一 般 ) ∗ P ( 大 小 = 大 ∣ c = 一 般 ) ∗ P ( 颜 色 = 红 色 ∣ c = 一 般 ) ∗ P ( 形 状 = 圆 形 ∣ c = 一 般 ) = 6 / 10 ∗ 3 / 6 ∗ 1 / 6 ∗ 2 / 6 = 0.0167 P(c=一般) * P(大小=大 | c=一般) * P(颜色=红色 | c=一般) * P(形状=圆形 | c=一般) = 6/10 * 3/6 * 1/6 * 2/6 = 0.0167 P(c=P(=c=)P(=c=)P(=c=)=6/103/61/62/6=0.0167显然,0.225 > 0.0167 所以:这个苹果为好果。
展望:如果最后相乘的结果为零哪有该当如何那?所以解决此类的问题就设计到概率估计的平滑处理了。好嘛,到了这里,针对贝叶斯分类的简述以及关于朴素贝叶斯分类器的了解我们就简单说到这里啦。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

贾继康

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

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

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

打赏作者

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

抵扣说明:

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

余额充值