朴素贝叶斯分类…从一位英国牧师的遗产说起

Posted 智能之河

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了朴素贝叶斯分类…从一位英国牧师的遗产说起相关的知识,希望对你有一定的参考价值。

贝叶斯公式是概率论中最重要的基础概念。说起贝叶斯公式,首先让我们来看看贝叶斯是何许人也?贝叶斯(Thomas Bayes)是18世纪英国的一位牧师,也是一名业余数学家。可千万别小看了欧洲的牧师,被誉为“遗传学之父”的孟德尔也曾是一名神父,如果你不知道孟德尔是谁,那么你肯定还记得中学生物里那个著名的豌豆实验。

具有讽刺意味的是,贝叶斯当初发明概率统计理论是为了证明上帝的存在,但至死他这个愿望都没有实现,不过感谢伟大的贝叶斯,正因为他,才有了今天著名的贝叶斯公式。接下来,就让我们来一睹贝叶斯公式的风采:

P(Y|X) = P(X|Y)P(Y)/P(X)

公式看起来很简洁,很有对称美。那么它有什么意义呢?它解决了两个事件条件概率的转换问题。比如说,已知感冒导致流鼻涕的概率,那么现在流鼻涕了,感冒的概率有多大呢?

要说清这一点,需要理解概率论的数学本质。概率论是现代数学的三大重要基石之一,它是用来对事物的不确定性(随机性)进行度量的。随机性可以说是隐藏在我们生活中最普遍的规律,比如说,车辆每次停靠都在站台附近,但具体位置都不一样;硬币抛出落下后不是正面就是反面,但每次结果都很难预测。要衡量随机性,必须从整体而不是局部出发来认知事物。由于随机性的存在,经常无法确定随机变量如何从样本空间(对象特征的取值范围)映射到事件空间,因此只有通过研究随机变量映射为每个事件的可能性,也就是某个对象属于某个类别的可能性,才能做出正确判断。这就是概率论的数学本质。

这里举个栗子,来帮助大家更好的理解:

假设数据集中只有苹果和桔子两类对象,各有10个,现在仅考察颜色特征,苹果有两种颜色:红色和黄色,其中红色占了8个,桔子也有两种颜色:黄色和绿色,其中黄色占9个。现在从这堆水果中挑出一个黄色水果,问这个水果属于桔子的可能性。这里样本空间为:10个苹果,10个桔子,随机事件指样本空间的一个子集,可以理解为某个分类,实际指向一种概率分布,这里指苹果为黄色,桔子为黄色等。黄色是苹果和桔子共有的属性,因此用概率计算得到这个水果更有可能的分类。用数学的语言来表达,P (苹果)=10(10+10)=1/2P (桔子)=10(10+10)=1/2P (黄色|苹果)=2/10=1/5P (黄色|桔子)=9/10P (黄色)=11/20,黄色水果属于桔子的可能性就是P (桔子|黄色)= P(黄色|桔子) x P (桔子)/P(黄色)=(9/10*1/2)/(11/20)=9/11

有了上面对概率论数学本质的把握,我们就很容易理解贝叶斯公式怎么用在分类问题上。从统计学角度对分类问题进行形式化,X表示属性集,Y表示随机变量,条件概率P(Y|X)表示在X发生的情况下,Y发生的概率,即已知属性值,属于某一类的概率。根据贝叶斯公式P(Y|X) = P(X|Y)P(Y)/P(X),其中P(X)是常数,可以忽略不计。P(Y)可以由训练集上每一类训练记录所占的比例得出。所以关键是计算P (X |Y),当假设属性之间条件独立时,非常容易计算出P (X |Y)= P (X |Y=y),再根据贝叶斯公式,最终得到P(Y|X=x)在不同y下的不同取值,取值最大的y即为X最有可能出现的类别。说的更通俗些,一般机器学习的分类问题都是“具有某一特征,判断属于哪种类别”,通过贝叶斯公式,把计算“具有某特征的条件下属于某类”的概率转换成计算“属于某类的条件下具有某特征”的概率,后者的计算方法相对前者简单得多,我们只需要找到一些包含已知特征标签的样本,即可进行训练。而样本的类别标签都是明确的,这在机器学习里属于监督学习。

我们再拿一个例子加以说明,假设有这样一个数据集:

症状(A1) 职业(A2) 疾病(B)

打喷嚏 护士   感冒

打喷嚏 农夫   过敏

头痛  建筑工人 脑震荡

头痛  建筑工人 感冒

打喷嚏 教师   感冒

头痛  教师   脑震荡

那么现在如何判断一个打喷嚏的建筑工人是感冒还是没感冒呢?根据贝叶斯公式:

P(感冒|打喷嚏x建筑工人) =P(打喷嚏x建筑工人|感冒) xP(感冒) / P(打喷嚏x建筑工人)

假定“打喷嚏”和“建筑工人”这两个特征是独立的,因此,上面的等式就变成了

P(感冒|打喷嚏x建筑工人) =P(打喷嚏|感冒) x P(建筑工人|感冒) xP(感冒) / P(打喷嚏) x P(建筑工人) =0.66 x 0.33 x 0.5 / 0.5 x 0.33 = 0.66

同理,P(非感冒|打喷嚏x建筑工人) =P(打喷嚏|非感冒) x P(建筑工人|非感冒) xP(非感冒) / P(打喷嚏) x P(建筑工人) =0.33 x 0.33 x 0.5 / 0.5 x 0.33 = 0.33

因为P(感冒|打喷嚏x建筑工人)> P(非感冒|打喷嚏x建筑工人) ,所以我们更倾向于认为一个打喷嚏的建筑工人是感冒的。

我们可以看到,朴素贝叶斯分类是一种十分简单的分类算法。它属于生成式的学习方法,通过概率模型对数据的类别分布进行建模,在此基础上进行预测。其思想基础是假设一个对象的特征向量中每个维度都是相互独立的。在金融应用上,可以用来判断客户是否流失、进行信用等级评定等多分类问题。

事实上,贝叶斯公式贯穿了机器学习中随机问题分析的全过程,从朴素贝叶斯分类到概率图模型(这个我们会在以后介绍),其基本原理都是贝叶斯公式。贝叶斯公式在不能确定某一事件发生的概率时,依靠与该事件本质属性相关的事件发生的概率去推测该事件发生的概率。也就是说,每一次事件发生后都会重新修正预测模型,使预测模型越来越好。

而从更高的层次看贝叶斯公式,就更有意思了。对于每个人来说,其实都有自己的一套固有的思维模式,我们用这套思维模式来与这个世界打交道。真正智慧的人会在每次出现新信息后,就根据新信息相应的修正自己的思维模式,这样不断学习探索,从而更加成熟,预测和判断能力更为强大。而固守自己原有的思维模式,即使情况发生了变化,有新的信息出现,却选择视而不见的人是难以适应这个变化的社会的。希望我们大家都能掌握贝叶斯公式的本质,不断成长,与时俱进!


以上是关于朴素贝叶斯分类…从一位英国牧师的遗产说起的主要内容,如果未能解决你的问题,请参考以下文章

朴素贝叶斯:世界上最广泛的分类模型之一,看完我马上就去了福利彩票店!

机器学习系列-朴素贝叶斯分类器

实例详解贝叶斯推理的原理

朴素贝叶斯分类和预测算法的原理及实现

朴素贝叶斯及案例实现

贝叶斯理论与朴素贝叶斯分类理论(Naive Bayesian Model,NBM)