Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

朴素贝叶斯

朴素贝叶斯是一种构建分类器的简单方法。该分类器模型会给问题实例分配用特征值表示的类标签,类标签取自有限集合。它不是训练这种分类器的单一算法,而是一系列基于相同原理的算法:所有朴素贝叶斯分类器都假定样本每个特征与其他特征都不相关。举个例子,如果一种水果其具有红,圆,直径大概3英寸等特征,该水果可以被判定为是苹果。尽管这些特征相互依赖或者有些特征由其他特征决定,然而朴素贝叶斯分类器认为这些属性在判定该水果是否为苹果的概率分布上独立的。

来源:维基百科
简介

贝叶斯理论指的是,根据一个已发生事件的概率,计算另一个事件的发生概率。贝叶斯理论从数学上的表示可以写成这样(也就是条件概率公式):其实很简单,就是A事件在B事件发生的条件下的概率。P(A|B)是B的后验概率

现在将A,B事件换成数据集,我们可以这样用贝叶斯理论:其中y是目标数据,X为依赖特征向量

在这里y是类变量,X是依赖特征向量(大小为n)

贝叶斯理论P(y|X)就是想求出y在X条件下发生的概率是什么,它之所以广泛使用的原因就是,在生活中,我们知道结果(是否下雨),知道一些条件(风力,湿度,温度等),但是并不知道在一定的风力,适度温度等条件下下雨的概率。

朴素贝叶斯:

朴素贝叶斯假设,就是假设两个事件A,B相互独立,如果两个事件A和B是相互独立的,那么有:

因此我们可以得到以下结果:

于是又可以写成:

现在我们需要建立一个分类模型,我们用已知的类变量y的所有可能的值计算概率,并选择输出概率是最大的结果。数学表达式可以这么写:

这里,P(y)也被称为类概率,P(x_i|y)也被称为条件概率。同的朴素贝叶斯分类器差异主要在P(x_i|y)分布的假设(高斯分布等)。我们试着将上面的式子用在天气数据集上。这样,我们先对数据集做一些预处理。我们得求出每一个X中的x_i,y中的y_i。所有这些计算都被列在了下面的表格中:

Example:

问题:根据测量的特征对某一个人是男性还是女性进行分类。这些特征包括身高、体重和脚的大小。数据集如下,那么y就是male,female. x为身高、体重和脚的大小

Person

height (feet)

weight (lbs)

foot size(inches)

male

6

180

12

male

5.92 (5'11")

190

11

male

5.58 (5'7")

170

12

male

5.92 (5'11")

165

10

female

5

100

6

female

5.5 (5'6")

150

8

female

5.42 (5'5")

130

7

female

5.75 (5'9")

150

9

使用高斯分布假设的训练集创建的分类器(给定方差为无偏样本方差):

Person

mean (height)

variance (height)

mean (weight)

variance (weight)

mean (foot size)

variance (foot size)

male

5.855

3.5033*10-02

176.25

1.2292*10+02

11.25

9.1667*10-01

female

5.4175

9.7225*10-02

132.5

5.5833*10+02

7.5

1.6667

假设有等概率类P(male)= P(female) = 0.5。先验概率分布可能是基于我们对更大群体的频率的了解(一般生活中,先验概率是很容易知道的),或者是在训练集中的频率。

训练:

此时,当出现一个人的条件如下,我们判别他/她是女性还是男性:

Person

height (feet)

weight (lbs)

foot size(inches)

sample

6

130

8

我们希望确定哪个更大,男性还是女性。作为男性的后验概率为:

作为女性的后验概率为:

可以计算出证据(也称为正态常数),证据一般都是一个常数(可以统计的):

首先,男生的概率为0.5,我们都假设男生的身高是服从高斯分布的,所以p(height|male)如下所示()

在μ= 5.855和σ^ 2 = 3.5033 是正态分布的参数之前已经确定训练集。注意,当值大于1是好的,这是一个概率密度而不是概率,因为高度是一个连续变量。

因为结果为女性的概率大于男性的,所以预测该数据为一名女性。

【出处:WIKI,URL:https://en.wikipedia.org/wiki/Naive_Bayes_classifier

【出处:论文ADADELTA: AN ADAPTIVE LEARNING RATE METHOD,URLhttps://arxiv.org/pdf/1212.5701.pdf]

发展历史

描述

从历史上看,概率probo这个词是拉丁词‘probo’和英语单词probe和probable相关。在其他语言中,在数学意义上这个词的含义或多或少类似于合理性。在古代,赌博的问题产生了概率的概念:输赢。它开始与著名物理学家,数学家和赌徒,吉罗拉莫·卡尔达诺, Gerolamo Cardano(1501-1576),他是意大利波罗尼亚大学的数学教授。十五世纪,在意大利开始了以骰子为契机的机会博弈。在这段时间里,对机会游戏的引用比较多,但没有提出如何计算事件概率的建议。Cardano写了一个简短的手册,Liber de Ludo游戏的概率,以数学期望问题,这是第一个以数学的方式进行计算,除了概率,投掷骰子的频率表,在n个独立试验n次成功,和大数定律the law of large numbers。然而,他的研究却很少引起人们的注意,也没有推动任何概率论的真正发展。

Cardano的手册在1633出版大约一个世纪之后。在这个出版的手册,卡尔达诺介绍0和1之间的概率P的想法,事件的结果是随机的,然后将这一想法运用到游戏。他还发展了大数定律,指出当一个事件的概率为p时,在大量的试验N之后,它将发生的次数接近于np。

在第十六和第十七世纪,人们非常关注机会游戏,例如掷硬币、掷骰子或玩扑克牌,特别是赌博问题。一个意大利贵族建议一个扔骰子的问题给伽利略·伽利雷Galileo Galilei(1564-1642),Galileo Galilei是一个伟大的意大利天文学家和物理学家,他提出一个解决方案,也就是第一个在数学概率论的记录的历史。伽利略去世后的一年,一个法国贵族和赌博专家,Chevalier de Mé重新(1610-1685)向Baise Pascal(1623-1662)提出机率数学问题游戏,Baise Pascal是法国数学家,他把这些问题给另一个法国数学家Pierre de Fermat(1601-1665)。从1654开始,Pascal和Fermat开始就关于机率的游戏、物体排列和赢得一个游戏的机率的问题进行研究。他们的著名成就是引入了概率、平均(或期望)值和条件概率的概念,因而可以看作是古典概率论诞生的标志。

贝叶斯定理Bayes’ theorem是以Thomas Bayes(1701-1761)命名的,他研究了如何计算二项分布的概率参数的分布(在现代术语中)。在他死后,贝叶斯的未出版的手稿是由理查德·普莱斯Richard Price在英国皇家学会进行了大量的编辑工作。Richard Price主要工作有:贝叶斯的主要作品“一篇解决机会主义问题的文章”(1763)“An Essay towards solving a Problem in the Doctrine of Chances”,它发表在Philosophical Transactions中,并包含了贝叶斯定理。Price还写了一篇文章介绍了贝叶斯统计的一些哲学基础。1765年,Price被选为皇家学会会员,以表彰他对贝叶斯遗产的贡献。

1774年,法国数学家皮埃尔·西蒙·拉普拉斯Pierre-Simon Laplace再现并拓展了了贝叶斯的研究成果,显然他没有意识到贝叶斯的工作。但是正是因为他的工作,贝叶斯概率的解释主要是由拉普拉斯进行的。

斯蒂芬·斯蒂格勒(Stephen Stigler)在1983年提出,贝叶斯定理是由英国盲人数学家尼古拉斯·桑德森(Nicholas Saunderson)发现的,他曾在贝叶斯(Bayes)之前的某段时间就法相了发现了该定理;然而,这种解释一直存在争议。Martyn Hooper和Sharon McGrayne认为Richard Price的贡献是巨大的。

在机器学习中,朴素贝叶斯分类器是一种基于贝叶斯定理的简单概率分类器家族的一员,其特点是具有强(朴素)的独立假设。自20世纪50年代以来,朴素贝叶斯被广泛研究。在1960年代早期,它用来在文本中检索出不同的姓名,为文本分类提供一个基础的(基线)方法。判断文档是否属于一个类别或其他(如是否是垃圾邮件,类别是运动还是政治,等等),用词的频率特性,来进行适当的预处理。当然它在这个领域具有更先进的方法,包括支持向量机。当然,朴素贝叶斯在自动医疗诊断中也有应用。其他的应用还有,(Duda and Hart, 1973; Lachenbruch, 1975; Aitchison and Dunsmore, 1975),

尽管朴素贝叶斯分类器的设计很简单,但在许多复杂的现实问题中,它们的作用还是很不错的。在2004年,Zhang, Harry.对贝叶斯分类问题的分析表明,朴素贝叶斯分类器明显难以置信的有效性存在着合理的理论原因。尽管如此,2006年,Caruana, R.; Niculescu-Mizil, A.将朴素贝叶斯与其他分类算法的综合比较表明,贝叶斯分类的表现优于其他方法,如boosted trees或随机森林。之后,在2008年,Igor Kononenko提出了半监督式的朴素贝叶斯。

主要事件

年份

事件

相关论文/Reference

2004

Zhang对朴素贝叶斯的最优性进行分析

Zhang, H. (2004). The optimality of naive Bayes. AA, 1(2), 3.

2006

Caruana, R., & Niculescu-Mizil, A.对当时的监督式学习算法进行比较

Caruana, R., & Niculescu-Mizil, A. (2006, June). An empirical comparison of supervised learning algorithms. In Proceedings of the 23rd international conference on Machine learning (pp. 161-168). ACM.

2007

Wang, Q., Garrity, G. M., Tiedje, J. M.使用朴素贝叶斯对RNA的排序进行分析,是朴素贝叶斯成功运用的典型案例

Wang, Q., Garrity, G. M., Tiedje, J. M., & Cole, J. R. (2007). Naive Bayesian classifier for rapid assignment of rRNA sequences into the new bacterial taxonomy. Applied and environmental microbiology, 73(16), 5261-5267.

2014

Gelman, A., Carlin, J. B., Stern, H. S.,出版书籍贝叶斯数据分析

Gelman, A., Carlin, J. B., Stern, H. S., Dunson, D. B., Vehtari, A., & Rubin, D. B. (2014). Bayesian data analysis (Vol. 2). Boca Raton, FL: CRC press.

发展分析

瓶颈

  • 理论上,NBC模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的(可以考虑用聚类算法先将相关性较大的属性聚类),这给NBC模型的正确分类带来了一定影响。在属性个数比较多或者属性之间相关性较大时,NBC模型的分类效率比不上决策树模型。而在属性相关性较小时,NBC模型的性能最为良好。
  • 需要知道先验概率。
  • 分类决策存在错误率

未来发展方向

朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。这些优点是朴素贝斯比较广泛使用的原因。条件之间的独立在很多日常生活中不是很现实,ru如果条件之间的独立性能够自动的检验也许可以让朴素贝叶斯使用的更加广泛。

Contributor: Ruiying Cai

简介