迅速了解朴素贝叶斯

贝叶斯法则就是用先验概率和条件概率估计后验概率。

在这里插入图片描述

而朴素贝叶斯就是多属性分类问题!

通过阅读黄申老师的课程,简单记录一下笔记,分享给大家。

比如我曾经就和一个小朋友有过这样一段对话:小朋友:黄叔叔,你和我讲讲,什么样的水果才是苹果呀?我:圆形的、绿色的水果。小朋友:那西瓜也是圆形的、绿色的呀?我:嗯……苹果也有可能是黄色或红色的,但西瓜不是。小朋友:那甜橙也是圆形的、黄色的呀?我:好吧,你看到的大部分情况下的甜橙都是黄色的,而苹果只有很少情况(少数品种)是黄色的。而且你还可以尝尝,它们的味道也是不同的。

  • 在这个对话中,有两点我觉得你需要关注一下
  • 我使用了“可能”“大部分情况”“很少情况”等等这种词语,这些词包含了概率的概念;
  • 我使用了多个条件来判断一个水果属于哪个类别。

这其中,朴素贝叶斯(Naive Bayesian)就提供了一个切实可行的方案。
计算机并不像两三岁的小孩那样,可以看到水果的颜色、形状和纹理,或者能尝到水果的味道。我们需要将水果的特征转化为计算机所能理解的数据。最常用的方式就是提取现实世界中的对象之属性,并将这些转化为数字。
以水果为例,你会提取它们的哪些属性呢?我会考虑这些,比如:形状、外皮颜色、斑马纹理、重量、握感、口感。我手边刚好有一个苹果、一个甜橙和一个西瓜,我把它们的属性分别统计了一下,你可以看看。在这里插入图片描述
我给每种属性都定义了具体的数值,用来代表它们的具体属性。在这里插入图片描述
比较细心的话,你可能已经发现了,重量由连续值转化成了离散值,这是因为朴素贝叶斯处理的都是离散值。
仅仅 3 个水果还不足以构成朴素贝叶斯分类所需的训练样本。为了保证训练的质量,我们可以继续扩展到 10 个水果。
在这里插入图片描述

核心思想:!!!

根据先验概率和条件概率,推导出后验概率。

在这里插入图片描述
便于理解可以将上述公式改写成这样:
在这里插入图片描述
其中,c 表示一个分类(class),f 表示属性对应的数据字段(field)。
如此,等号左边的 P(c|f) 就是待分类样本中,出现属性值 f 时,样本属于类别 c 的概率。
而等号右边的 P(f|c) 是根据训练数据统计,得到分类 c 中出现属性 f 的概率。
P(c)是分类 c 在训练数据中出现的概率,
P(f )是属性 f 在训练样本中出现的概率。

看到这里,你可能要问了,这里的贝叶斯公式只描述了单个属性值,可是我们要分析的水果每个都有很多属性啊,这该怎么办呢!!!
所以就需要朴素贝叶斯。
基于一个简单假设建立的一种贝叶斯方法,并假定数据对象的不同属性对其归类影响时是相互独立的。此时若数据对象 o 中同时出现属性 fi 与 fj,则对象 o 属于类别 c 的概率就是这样:
在这里插入图片描述
我们可以用 10 个水果的数据,来建立朴素贝叶斯模型了。
苹果的分类中共包含 3 个数据实例,对于形状而言,出现 2 次不规则圆、1 次圆形和 0 次椭圆形,因此各自的统计概率为 0.67、0.33 和 0.00。我们将这些值称为,给定一个水果分类时,出现某个属性值的条件概率。以此类推,所有的统计结果就是下面这个表格中这样:
在这里插入图片描述
上表中出现的 0.00 概率,在做贝叶斯公式中的乘积计算时,会出现结果为 0 的情况,因此我们通常取一个比这个数据集里最小统计概率还要小的极小值,来代替“零概率”。比如,我们这里取 0.01。在填充训练数据中从来没有出现过的属性值的时候,我们就会使用这种技巧,我们给这种技巧起个名字就叫作平滑(Smoothing)。
我们便有了这些条件概率,以及各类水果和各个属性出现的先验概率
现在,我们就可以用它进行朴素贝叶斯分类了。

假设我们有一个新的水果,它的形状是圆形,口感是甜的,那么根据朴素贝叶斯,它属于苹果、甜橙和西瓜的概率分别是多少呢?我们先来计算一下,它属于苹果的概率有多大。
在这里插入图片描述
其中,apple 表示分类为苹果,shape-2 表示形状属性的值为 2(也就是圆形),taste-2 表示口感属性的值为 2。以此类推,我们还可计算该水果属于甜橙和西瓜的概率。
在这里插入图片描述
比较这三个数值,0.00198<0.00798<0.26934,所以计算机可以得出的结论,该水果属于甜橙的可能性是最大的,或者说,这个水果最有可能是甜橙。

其中,这几个公式里的概率乘积通常都非常小,在物品的属性非常多的时候,这个乘积可能就小到计算机无法处理的地步。在实际运用中,通过采用一些数学手法进行转换(比如取 log 将小数转换为绝对值大于 1 的负数)。

朴素贝叶斯步骤:

  • 准备数据:针对水果分类这个案例,我们收集了若干水果的实例,并从水果的常见属性入手,将其转化为计算机所能理解的数据。这种数据也被称为训练样本。
  • 建立模型:通过手头上水果的实例,我们让计算机统计每种水果、属性出现的先验概率,以及在某个水果分类下某种属性出现的条件概率。这个过程也被称为基于样本的训练。
  • 分类新数据:对于一颗新水果的属性数据,计算机根据已经建立的模型进行推导计算,得到该水果属于每个分类的概率,实现了分类的目的。这个过程也被称为预测。

到这里,我觉得应该都看懂理解了,总结一下:

朴素贝叶斯分类与其他分类比较

  • 和 KNN 最近邻相比,朴素贝叶斯需要更多的时间进行模型的训练,但是它在对新的数据进行分类预测的时候,通常效果更好、用时更短。
  • 和决策树相比,朴素贝叶斯并不能提供一套易于人类理解的规则,但是它可以提供决策树通常无法支持的模糊分类(一个对象可以属于多个分类)。
  • 和 SVM 支持向量机相比,朴素贝叶斯无法直接支持连续值的输入。所以,在前面的案例中,我将连续值转化成了离散值,便于朴素贝叶斯进行处理。

如果一个分类的应用场景中,待分类对象的属性值大部分都是离散的(或者很容易转化为离散的)、需要支持模糊分类,并且需要快速可靠的实时分类,那么这种场景通常就非常适合使用朴素贝叶斯方法

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值