数据分类《二》贝叶斯分类

本博客是参考《数据仓库与数据挖掘技术》以及诸多道友的blog。仅作为自己学习的一个总结。

贝叶斯分类是一种基于统计学的分类方法,可以预测一个类成员关系的可能性。数据挖掘主要使用两种分类,朴素贝叶斯和贝叶斯网络方法。前者使用贝叶斯进行预测,后者是一个带有注释的有向无环图,以有效表示大变量集的联合概率分布,适用于分析大量变量之间的相互关系,贝叶斯理论应用于文档分类,医疗诊断,预测,推理和归纳等数据挖掘应用中。

朴素贝叶斯分类器,顾名思义,是一种分类算法,且借助了贝叶斯定理。另外,它是一种生成模型(generative model),采用直接对联合概率P(x,c)建模,以获得目标概率值的方法。

文章目录

预备知识

  1. 先验概率与后验概率
  2. 贝叶斯定理

朴素贝叶斯分类器

  1. 何为朴素:属性条件独立假设
  2. 分类准则
  3. 离散型与连续属性值的分别处理

例子讲解

拉普拉斯修正

预备知识

先验概率与后验概率

翻译:在贝叶斯统计推断论中,一个未确定数目的先验概率分布(一般简称为先验)是一种表达了某人对于该数目的信仰的一种概率分布,这种信仰是没有考虑到一些(当前的)证据的。

解释:通俗来说,对于某一个概率事件,我们都会有基于自己已有的知识,对于这个概率事件会分别以什么概率出现各种结果会有一个预先的估计,而这个估计并未考虑到任何相关因素。

举例来说,假如你考试没及格,老师要求大家拿卷子回家给爸妈签字,按照你已有的对爸妈脾气的了解,以及他们对自己成绩的要求,你在不考虑其它任何因素的情况下,自己已经有了一个对把卷子拿回家给他们签字的后果预估(先验):

  • 被胖揍一顿:70%
  • 被简单地数落一下:20%
  • 被温情地鼓励:10%

暂停,让我们再来看看后验概率是什么:

In Bayesian statistics, the posterior probability of a random event or an uncertain proposition is the conditional probability that is assigned after the relevant evidence or background is taken into account.  "Posterior", in this context, means after taking into account the relevant evidence related to the particular case being examined.

翻译:在贝叶斯推断中,一个随机事件的后验概率是指:当与事件相关的一些证据或背景也被考虑进来时的条件概率。“后验”在这个语境下即指的是在考虑了与要被检验的特定事件相关的证据。

所以后验概率就是在先验概率的基础上加了一层“考虑”:结合我们已有的知识,将与待检验事件(即我们正在估计概率的随机事件)相关的因素也考虑进去后,我们队随机事件的概率的预估。

回到卷子签字的例子。

假设,你惶恐地拿着卷子回到家中,还没开口说考试的事,就看到爸爸妈妈在那儿雀跃,好似疯了一样。你一问,他们告诉你说家里中了1亿的大奖,以后就直接过上荣华富贵的生活啦!

这时,你小眼珠子一转,根据当前家里中了亿元大奖的情况,对把不及格试卷给爸妈签字的后果有了新的预估(后验):

被胖揍一顿:0%
被简单地数落一下:0%
被温情地鼓励:100%
没错,因为你觉得按现在家里的情况来看,爸妈会觉得你这一次考试没及格算个屁,以后直接花钱把你送到国外去留学,回来继承家产就是了,什么考试啥的见鬼去吧~~

 这就是先验概率和后验概率的区别:先验概率基于已有知识对随机事件进行概率预估,但不考虑任何相关因素(P©)。后验概率基于已有知识对随机事件进行概率预估,并考虑相关因素(P(c|x))。

  • 贝叶斯定理(Bayesian Theorem)

贝叶斯定义(摘自维基百科):

In probability theory and statistics, Bayes’ theorem (alternatively Bayes’ law or Bayes’ rule) describes the probability of an event, based on prior knowledge of conditions that might be related to the event. For example, if cancer is related to age, then, using Bayes’ theorem, a person’s age can be used to more accurately assess the probability that they have cancer, compared to the assessment of the probability of cancer made without knowledge of the person’s age.

翻译:在概率论与统计学中,贝叶斯定理(或称贝叶斯法则、贝叶斯规则)描述了一个事件的可能性,这个可能性是基于了预先对于一些与该事件相关的情况的知识。举例来说,如果癌症和年龄有关,那么使用贝叶斯定理的话,相比根本不了解关于此人的任何其他信息,知道了它的年龄的话就可以用来更准确地帮助评估它得癌症与否的概率。

那么其实很明显了,这里的“可能性”也是考虑了与随机事件相关的因素的,所以贝叶斯定理所阐述的也就是后验概率的获得方法。

那么,落实到实际的问题当中,我们想获得的核心结果其实也就是P(c|x),即我们想知道,在考虑了一些现有的因素后,随机事件会以多大概率出现各种情况,通过参考这个结果,我们针对性地作出决策。

朴素贝叶斯分类器

何为“朴素”:属性条件独立性假设

由于朴素贝叶斯分类器在这种naive的假设下仍能在实际问题中取得比较好的效果,因此这个假设的不合理性可以暂时放下不谈。

离散型属性与连续型属性值的分别处理:

如果是离散型属性,我们只需要计算每个属性取值占所有样本的数量比例就行

如果xi是连续值属性,那么我们肯定不能这样做,而是采用概率密度函数,即假定p(si)

例子

假设我们的任务是根据一个西瓜的特征来在它被吃之前判断它是否是个好瓜。现在我们有以下数据集:

现在,基于已有的数据,我们想利用朴素贝叶斯算法训练出一个分类器,以判断一个具有特征{色泽=青绿,根蒂=蜷缩,敲声=浊响,纹理=清晰,脐部=凹陷,触感=硬滑,密度=0.697,含糖率=0.460}的测试样例瓜([Math Processing Error] x_{test}x 
test)是否为好瓜。

其次,我们计算每个属性值的条件概率[Math Processing Error] P(x_i|c)P(x i∣c):

对于离散值属性:

è¿éåå¾çæè¿°

对于连续值属性:

è¿éåå¾çæè¿°

最后,我们计算测试瓜x test

è¿éåå¾çæè¿°

很明显,测试瓜是好瓜的概率0.038远大于测试瓜是坏瓜的概率6.80×[Math Processing Error] 10^{-5}10 
−5 ,于是分类器判断测试瓜为好瓜。


拉普拉斯修正(Laplacian correction)

朴素贝叶斯分类器在实际使用中还需要注意的一个问题是:若某个离散类型的属性值在训练集中没有与某个类同时出现过,那么当我们使用对其进行估计时,会等于0,而若某个样本只是在属性i上恰好取值为[Math Processing Error] x_ix i,但是它其它的属性非常符合这个类型c的特征,于是在用最后的连乘式计算该样本属于该类的概率时,不管其它的属性如何取值,就会因为p(xi|c)这一个零值导致分类器认为该样本属于这个类型c的概率为0,这显然是不合理的。

比如在上面的西瓜训练集中,好瓜当中暂时没有具备特征{敲声=清脆}的样本,于是对于一个“敲声=清脆”的测试例:

那么,不管该测试瓜在其它属性上有多么接近好瓜,都会被直接判定为是好瓜的概率为0。

这个问题本质上是由于我们的训练集不够完整,没有包括足够多的样本。但是,为了避免这个问题的出现,我们通常还是在估计概率值时,对其进行“平滑”(smoothing)操作,通常使用“拉普拉斯修正”(Laplacian correction)。
 

猜你喜欢

转载自blog.csdn.net/sinat_32176267/article/details/83268728