「AI科技」算法系列-朴素贝叶斯分类原理篇

托马斯·贝叶斯(Thomas Bayes),英国业余数学家,约1702年出生于伦敦,做过神甫,1742年成为英国皇家学会会员,1761年4月7日逝世,享年52岁。总结一生:没做过神甫的皇家学会会员,不是好的业余数学家。

贝叶斯虽然职业广泛,但对后世影响最大的还是在数学方面得成就(概率论)。他首先将归纳推理法用于概率论基础理论,并创立了贝叶斯统计理论,对于统计决策函数、统计推断、统计的估算等做出了贡献。他死后,理查德·普莱斯(Richard Price)于1763年将他的著作《机会问题的解法》(An essay towards solving a problem in the doctrine of chances)寄给了英国皇家学会,对于现代概率论和数理统计产生了重要的影响。贝叶斯的另一著作《机会的学说概论》发表于1758年,贝叶斯所采用的许多术语被沿用至今。

言归正传,今天给大家介绍一下朴素贝叶斯原理及具体实现。

贝叶斯方法的提出

长久以来,人们认为一件事情是否发生的概率就是固定值,例如从放有若干黑球和白球的袋子取出白球的概率θ就是1/2,即要么取出白球,要么取出不是白球,而且不管你取了多少次,取得白球的概率θ始终都是1/2,不随观察结果X 的变化而变化。但贝叶斯认为取得白球的概率是个不确定的值,因为其他因素会对结果产生影响。

继续深入讲解贝叶斯方法之前,先简单总结下频率派与贝叶斯派各自不同的思考方式:

  • 频率派:把需要推断的参数θ看做是固定的未知常数,即概率虽然是未知的,但最起码是确定的一个值,同时样本X 是随机的,大部分的概率计算都是针对样本X 的分布,所以他们重点研究样本空间;
  • 贝叶斯派:与频率派的观点则截然相反,他们认为参数是随机变量,而样本X 是固定的,由于样本是固定的,所以他们重点研究参数的分布。

从思考方式来看,频率派的观点比较容易理解,只要样本空间确定,统计一下样本分布即可,所以下文重点阐述贝叶斯派的观点。

贝叶斯派既然把一次事件看做是一个随机变量,所以要计算的分布,便得事先知道的无条件分布,即在有样本之前(或观察到X之前),有着怎样的分布呢?

至此,贝叶斯提出了一个思考问题的固定模式:

其中,先验信息一般来源于经验跟历史资料。后验分布π(θ|X)一般也认为是在给定样本X的情况下的θ条件分布,而使π(θ|X)达到最大的值θMD称为最大后验估计,类似于经典统计学中的极大似然估计。

上述思考模式意味着,新观察到的样本信息将修正人们以前对事物的认知。换言之,在得到新的样本信息之前,人们对θ的认知是先验分布π(θ),在得到新的样本信息X后,人们对的认知为π(θ|X)。

综合起来看,则好比是人类刚开始时对大自然只有少得可怜的先验知识,但随着不断观察、实验获得更多的样本、结果,使得人们对自然界的规律摸得越来越透彻。所以,贝叶斯方法既符合人们日常生活的思考方式,也符合人们认识自然的规律,经过不断的发展,最终占据统计学领域的半壁江山,与经典统计学分庭抗礼。

此外,贝叶斯除了提出上述思考模式之外,还特别提出了举世闻名的贝叶斯定理。

贝叶斯定理

在引出贝叶斯定理之前,先学习几个定义:

条件概率(又称后验概率)就是事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为P(A|B),读作“在B条件下A的概率”。

贝叶斯定理便是基于下述贝叶斯公式:

P(A|B) = P(A)P(B|A) / P(B)
  • P(A)表示:事件B发生之前,我们对事件A的发生有一个基本的概率判断,称为A的先验概率;
  • P(A|B)表示:事件B发生之后,我们对事件A的发生概率重新评估,称为A的后验概率;
  • P(B)表示:事件A发生之前,我们对事件B的发生有一个基本的概率判断,称为B的先验概率;
  • P(B|A)表示:事件A发生之后,我们对事件B的发生概率重新评估,称为B的后验概率。

上述公式的推导其实非常简单,就是从条件概率推出。

根据条件概率的定义,在事件B发生的条件下事件A发生的概率:

P(A|B) = P( A∩B )/ P(B)

同样地,在事件A发生的条件下事件B发生的概率:

P(B|A) = P( A∩B )/ P(A)

整理与合并上述两个方程式,便可以得到:

P(A|B) P(B) = P( A∩B )= P(B|A) P(A)

接着,上式两边同除以P(B),若P(B)是非零的,我们便可以得到贝叶斯定理的公式表达式:

所以,贝叶斯公式可以直接根据条件概率的定义直接推出。即因为P(A,B) = P(A)P(B|A) = P(B)P(A|B),所以P(A|B) = P(A)P(B|A) / P(B)。

特征条件独立假设

如果条件都独立,则在Y发生ck事件条件下X发生x的概率如下

其中,π表示元素相乘。使得特征条件概率算完后,直接相乘变得到了条件概率,原理清晰明了,计算简单易于操作。

朴素贝叶斯分类

终于说到了机器学习重要算法之一:朴素贝叶斯分类。它是基于贝叶斯定理与特征条件独立假设的分类方法,朴素贝叶斯分类器之所以“朴素”,是因为基于一个简单的假定:给定目标值时属性之间相互条件独立。

目前有三种比较常见的模型,分别是多项式模型、高斯模型 和 伯努利模型。

多项式模型

当特征是离散的时候,使用多项式模型。

多项式模型在计算先验概率P(y_k)和条件概率P(x_i|y_k)时,会做一些 平滑处理 。如果不做平滑,当某一维特征的值x_i没在训练样本中出现过时,会导致P(x_i|y_k)=0,从而导致后验概率为0。加上平滑就可以克服这个问题。

高斯模型

当特征是连续变量的时候,运用多项式模型就会导致很多P(x_i|y_k)=0(不做平滑的情况下),此时即使做平滑,所得到的条件概率也难以描述真实情况。所以处理连续的特征变量,应该采用高斯模型。

伯努利模型

与多项式模型一样,伯努利模型适用于离散特征的情况,所不同的是,伯努利模型中每个特征的取值只能是1和0(以文本分类为例,某个单词在文档中出现过,则其特征值为1,否则为0).

伯努利模型中,条件概率P(x_i|y_k)的计算方式是:

  1. 当特征值x_i为1时,P(x_i|y_k)=P(x_i=1|y_k);
  2. 当特征值x_i为0时,P(x_i|y_k)=1-P(x_i=1|y_k);
举报
评论 0