贝叶斯分类器讲解+实例

贝叶斯定理

贝叶斯定理是18世纪英国数学家托马斯·贝叶斯(Thomas Bayes)提出得重要概率论理论。
所谓的贝叶斯定理源于他生前为解决一个“逆概”问题写的一篇文章,而这篇文章是在他死后才由他的一位朋友发表出来的。在贝叶斯写这篇文章之前,人们已经能够计算“正向概率”,如“假设袋子里面有 N 个白球,M 个黑球,你伸手进去摸一把,摸出黑球的概率是多大”。而一个自然而然的问题是反过来:“如果我们事先并不知道袋子里面黑白球的比例,而是闭着眼睛摸出一个(或好几个)球,观察这些取出来的球的颜色之后,那么我们可以就此对袋子里面的黑白球的比例作出什么样的推测”。这个问题,就是所谓的逆向概率问题。

贝叶斯公式

𝑝(𝑥,𝜔_𝑖):联合概率密度;
𝑝(𝑥|𝜔_𝑖 ):类条件概率密度;
𝑃(𝜔_𝑖│𝑥):后验概率;
𝑝(𝑥):总体密度;
𝑃(𝜔_𝑖 ):先验概率

朴素贝叶斯分类器

第一阶段——准备工作阶段,主要工作是根据具体情况确定特征属性,并对每个特征属性进行适当划分,然后由人工对一部分待分类项进行分类,形成训练样本集合。

第二阶段——分类器训练阶段,这个阶段的任务就是生成分类器,主要工作是计算每个类别在训练样本中的出现频率及每个特征属性划分对每个类别的条件概率估计,并将结果记录。

第三阶段——应用阶段。这个阶段的任务是使用分类器对待分类项进行分类
在这里插入图片描述
下面数据集反映了出去玩(Play)和天气(Weather)、温度(Temperature)之间的关系。

天气是Sunny,温度是Hot是否会出去玩?

  1. 将数据集转换为频率表
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
  2. 创建概率表(P(Sunny = 0.36))
    在这里插入图片描述
    在这里插入图片描述
    𝑝(𝑆unny│𝑌𝑒𝑠)=2/9=0.22;𝑝(𝑆unny│𝑁o)=3/5=0.60;𝑝(𝑆𝑢𝑛𝑛𝑦)=5/14=0.36;
    𝑝(𝐻ot│𝑌𝑒𝑠)=2/9=0.22;𝑝(𝐻ot│𝑁o)=2/5=0.4;𝑝(𝐻ot)=4/14=0.29;
    𝑃(𝑌𝑒𝑠)=9/14=0.64;𝑃(𝑁o)=5/14=0.36
  3. 用朴素贝叶斯计算后验概率,后验概率大的为预测分类
    在这里插入图片描述
    在这里插入图片描述
    𝑝(𝑋│𝑌𝑒𝑠)𝑃(𝑌𝑒𝑠)=𝑝(𝑆unny│𝑌𝑒𝑠)×𝑝(𝐻ot│𝑌𝑒𝑠)×𝑃(𝑌𝑒𝑠)=2/9×2/9×9/14=0.03
    𝑝(𝑋│𝑁𝑜)𝑃(𝑁𝑜)=𝑝(𝑆unny│𝑁𝑜)×𝑝(𝐻ot│𝑁𝑜)×𝑃(𝑁𝑜)=3/5×2/5×5/14=0.09
    𝑝(𝑋)=𝑝(𝑆𝑢𝑛𝑛𝑦)×𝑝(𝐻𝑜𝑡)=5/14×4/14=0.10
    𝑝(𝑌𝑒𝑠│𝑋)=0.03/0.10=0.3
    𝑝(𝑁𝑜│𝑋)=0.09/0.10=0.9

因为0.9>0.3,所以不会出去玩

连续属性的条件概率估计

  • 把每一个连续的属性离散化,然后用相应的离散区间替换连续属性值。
  • 假设连续变量服从某种概率分布,然后使用训练数据估计分布的参数。例如高斯分布通常用来表示连续数学的类条件概率分布。该分布有两个参数,均值𝜇和方差𝛿^2。 对每个类,属性𝑋_𝑖的条件概率等于:
    在这里插入图片描述

零条件概率的处理

如果有一个属性的类条件概率等于0,则整个类的后验概率就等于0。
仅使用记录比例来估计类条件概率的方法显得太脆弱了,尤其是当训练样例很少属性数目有很大时。
解决问题的方法通常要进行平滑处理,使用拉普拉斯修正m-估计方法来估计条件概率:
在这里插入图片描述
在这里插入图片描述
其中,n是属于Y类的训练实例数目,𝑛_c是𝑋_𝑖=𝑐与𝑌=y的训练实例数目,𝜈是属性值的总数,p是先验已知的𝑃(𝑋_𝑖=𝑐|𝑦)的一些初步估计,m是一个超参数,表示当训练实例的比例太敏感时,我们使用p的置信度。

贝叶斯网络

朴素贝叶斯分类是基于各类别相互独立这一假设来进行分类计算的。
然而,在实践中,要求属性的值相互之间条件独立是比较苛刻的;也就是说变量之间以来是可能存在的,即实际上变量间的相互以来情况是较为常见的。

贝叶斯网络(Bayesian network),又称信念网络(Belief Network),或有向无环图模型(directedacyclic graphical model)是一种更灵活的类条件概率P(X|C)的建模方法,不要求给定的数据集中属性之间都条件独立,而是允许指定哪些属性条件独立。

贝叶斯网络包括两部分:

  • 有向无环图(dag):表示变量之间的依赖关系。
  • 概率表:把各节点和它的直接父结点关联起来。

条件独立:
贝叶斯网络中的一个结点,如果它的父母结点已知,则它条件独立于它的所有非后代节点。
在这里插入图片描述
(a)AB相互独立,并且都直接影响第三个变量C
(b)给定C,A条件独立于B和D,因为B和D都是A的非后代结点。
(c)y是目标类,{x1,x2,…,xn}是属性集

如下是一个发现心脏病和心口痛病人的贝叶斯网络:
在这里插入图片描述
可以看出,属性锻炼和饮食以一定概率影响心脏病和心口痛的发病,而心脏病和心口痛也以一定概率影响血压和胸痛这两个症状的发生。

建立模型

贝叶斯网络的建模包括两个步骤:

  • 创建网络结构
  • 估计每一个节点的概率表中的概率值
    在这里插入图片描述
    在这里插入图片描述
    可证明算法可以保证图中不出现环路
    如果存在环,则至少有一条边从低序节点指向高序节点,然而算法不会出现这种情况。

使用BBN进行推理举例:

假设我们使用BBN来判断一个人是否患有心脏病感兴趣。下面阐释在不同情况下做出诊断。
情况一:没有先验信息。
在没有任何先验信息的情况下,可以通过计算先验概率P(HD=Yes)和P(HD=No)来确定一个病人是否可能患心脏病。为了表述方便,设𝛼∈{𝑌𝑒𝑠,𝑁𝑜}表示锻炼的两个值,β∈{健康,不健康}表示饮食的两个值。
在这里插入图片描述
因为𝑃(𝐻𝐷=No)=1−𝑃(𝐻𝐷=𝑌es)=0.51,所以,此人不得心脏病的几率略微大一些。

情况二:高血压
如果一个人患有高血压,可以比较后验概率P(HD=Yes|BP=高)和P(HD=No|BP=高)来判断此人是否患心脏病。为此,我们必须先计算P(BP=高):
在这里插入图片描述
其中,𝛾∈{𝑌𝑒𝑠,𝑁𝑜}。因此此人患心脏病的后验概率是:
在这里插入图片描述
在这里插入图片描述
因此,当一个人有高血压时,他患心脏病的危险就增加了。

情况三3:高血压,饮食健康,锻炼情况
假设得知此人经常锻炼身体并且饮食健康,加上这些新信息,此人患心脏病的后验概率为:
在这里插入图片描述
在这里插入图片描述
因此模型按时健康的饮食和有规律的体育锻炼可以降低患心脏病的风险。

贝叶斯的研究

判断是好瓜还是坏瓜?
在这里插入图片描述
在这里插入图片描述

贝叶斯的应用

最常见应用场景:

文本分类/垃圾文本过滤/情感判别:因为多分类很简单,同时在文本数据中,分布独立这个假设基本是成立的。而垃圾文本过滤(比如垃圾邮件识别)和情感分析(微博上的褒贬情绪)用朴素贝叶斯也通常能取得很好的效果。
多分类实时预测:对于文本相关的多分类实时预测,被广泛应用,简单又高效。
推荐系统:朴素贝叶斯和协同过滤(Collaborative Filtering)是一对好搭档,协同过滤是强相关性,但是泛化能力略弱,朴素贝叶斯和协同过滤一起,能增强推荐的覆盖度和效果。

贝叶斯垃圾邮件过滤器

垃圾邮件是一种令人头痛的问题,困扰着所有的互联网用户。全球垃圾邮件的高峰出现在2006年,那时候所有邮件中90%都是垃圾,2015年6月份全球垃圾邮件的比例数字首次降低到50%以下。
最初的垃圾邮件过滤是靠静态关键词加一些判断条件来过滤,效果不好,漏网之鱼多,冤枉的也不少。
2002年,Paul Graham提出使用"贝叶斯推断"过滤垃圾邮件。他说,这样做的效果,好得不可思议。1000封垃圾邮件可以过滤掉995封,且没有一个误判。因为典型的垃圾邮件词汇在垃圾邮件中会以更高的频率出现,所以在做贝叶斯公式计算时,肯定会被识别出来。之后用最高频的15个垃圾词汇做联合概率计算,联合概率的结果超过90%将说明它是垃圾邮件。用贝叶斯过滤器可以识别很多改写过的垃圾邮件,而且错判率非常低。甚至不要求对初始值有多么精确,精度会在随后计算中逐渐逼近真实情况。

贝叶斯结果问题

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
朴素贝叶斯分类是一种基于贝叶斯定理和特征条件独立假设的分类方法。它的基本思想是对于给定的数据集,首先基于特征条件独立假设计算出各个类别的先验概率和各个特征在各个类别下的条件概率,然后根据贝叶斯定理计算出后验概率,最终将样本分到后验概率最大的类别中。 下面是一个简单的朴素贝叶斯分类实例: 假设我们有一个数据集,其中包含了 10 个样本,每个样本有两个特征 x1 和 x2,以及一个类别标签 y。其中,x1 和 x2 都是连续型变量,y 是二元分类变量(0 或 1)。 我们的目标是构建一个朴素贝叶斯分类,用于对新样本进行分类。 首先,我们需要计算出各个类别的先验概率 P(y)。假设在这个数据集中,y=0 的样本有 6 个,y=1 的样本有 4 个,则有: P(y=0) = 6/10 = 0.6 P(y=1) = 4/10 = 0.4 接下来,我们需要计算出各个特征在各个类别下的条件概率 P(xi|y)。由于 x1 和 x2 都是连续型变量,我们可以假设它们服从正态分布,并计算出各个类别下的均值和方差。假设在这个数据集中,y=0 的样本的 x1 和 x2 的均值和方差分别为: mean_x1_y0 = 2.5, var_x1_y0 = 0.5 mean_x2_y0 = 3.0, var_x2_y0 = 0.8 y=1 的样本的 x1 和 x2 的均值和方差分别为: mean_x1_y1 = 3.5, var_x1_y1 = 0.7 mean_x2_y1 = 4.0, var_x2_y1 = 0.5 然后,我们可以根据正态分布的概率密度函数计算出各个特征在各个类别下的条件概率。例如,对于样本 (x1=2.8, x2=3.5),我们可以计算出: P(x1=2.8|y=0) = 0.782 P(x2=3.5|y=0) = 0.498 P(x1=2.8|y=1) = 0.301 P(x2=3.5|y=1) = 0.782 最后,我们可以根据贝叶斯定理计算出后验概率 P(y|x),并将样本分到后验概率最大的类别中。例如,对于样本 (x1=2.8, x2=3.5),我们可以计算出: P(y=0|x1=2.8,x2=3.5) = P(x1=2.8|y=0) * P(x2=3.5|y=0) * P(y=0) / P(x1=2.8,x2=3.5) = 0.194 P(y=1|x1=2.8,x2=3.5) = P(x1=2.8|y=1) * P(x2=3.5|y=1) * P(y=1) / P(x1=2.8,x2=3.5) = 0.006 因此,我们将样本 (x1=2.8, x2=3.5) 分到 y=0 的类别中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值