贝叶斯分类器,即是以贝叶斯决策理论为基础的分类器,什么是贝叶斯决策理论呢?
贝叶斯决策论是贝叶斯学派关于统计推断(根据已有资料或者说数据,对未知问题作出判断)的理论,要理解贝叶斯理论,就不得不和他的 “老对手”——频率学派(经典学派)一起聊。
首先我们看看统计推断的问题是什么。statistical inference 是学统计的目的,即根据样本数据,对总体进行统计推断(假设检验 或 预测).是指统计学中研究如何根据样本数据去推断总体数量特征的方法。统计推断主要可以分为两大类:一类是参数估计问题;另一类是假设检验问题。
关于这些问题,从20世纪上半页至今,频率学派和贝叶斯学派两大学派一直在辩论,也一直互相不服。贝叶斯学派的发展在二十世纪滞后于频率学派,所以我们在学校教材上学到的统计推断的方法基本上都是频率学派的,比如最大似然估计、卡方检验、T检验、矩估计等等。
两个学派争论的点是什么呢?
现在应该对贝叶斯学派的思想有了一点认识了。那我们看看在分类问题上贝叶斯分类器是怎么一回事呢?
贝叶斯分类器是一类分类算法的总称,贝叶斯定理是这类算法的核心,因此统称为贝叶斯分类。
在分类问题中,我们可以根据样本 计算出在样本中各个类别 出现的概率,即后验概率 ,根据之前对贝叶斯统计推断的介绍,还需要引入各种推断结果所带来的损失,我们定义 为将 误分为 时所产生的损失,根据误判出现的概率和导致的损失,可以计算出错误分类是产生的期望损失,称之为“风险”:
设想我们制定了一个判定准则 来对 进行分类得到 ,如果每个分类结果 都是风险最小的结果,那个总体的风险 也是最小的,这就是贝叶斯判定准则,称 为贝叶斯最优分类器。
贝叶斯最优分类器为:
后验概率最大化与风险最小化 :对于二分类问题,λ要么等于0要么等于1
当 ,即正确分类时, ,所以可以计算此时所以条件风险(该条件下的风险)为
即
就是根据样本 进行分类,想想以前讲过的KNN、LR等,所做的不就是这个工作吗,这种直接对 进行建模来预测 的方法,都叫做 判别式模型(Discriminative Model) ,判别式模型不考虑样本的产生模型,直接研究预测模型。如果我们换一种思路,先得到联合分布 ,再得到后验概率 ,这就是 生成式模型(Generative Model) ,顾名思义,生成式模型会研究样本的产生模型,判别式模型和生成式模型都是监督学习中的概念。
显然生成模型比判别模型包含更多的信息,可以做到更多的事,实际上由生成模型可以得到判别模型,但由判别模型得不到生成模型,贝叶斯分类器就是从生成模型的角度来解决分类问题,怎么实现呢?
是类“先验”(prior)概率; 是样本x相对于类标记c的类条件概率(class-conditional probability); 是用于归一化的“证据”(evidence)因子。
类先验概率 表达了样本空间中各类样本所占的比例,根据大数定律,当训练集包含充足的独立同分布样本时, 可通过各类样本出现的频率来进行估计 . 看起来是样本出现的概率,对给定样本 ,从形式上也可以看出 与样本的类标记无关 ,因此估计 的问题就转化为如何基于训练数据D来估计先验 和 的问题,所以问题的重点就是怎么求 ,得到 就能得到联合概率 ,也能能得到一个贝叶斯分类器了。那么怎么完成呢?能直接通过样本中的频率来统计吗?
对 来说,由于它涉及关于x 所有属性的联合概率,直接根据样本出现的频率来估计将会遇到严重的困难,例如,假设样本的 d 个属性都是二值的,则样本空间将有 种可能的取值,在现实应用中,这个值往往远大于训练样本数m,也就是说,很多样本取值在训练集中根本没有出现,直接使用频率来估计 显然不可行,因为"未被观测到"与"出现概率为零"通常是不同的。
那应该怎么计算呢?先说第一种方法: 最大似然估计 。
要求得类条件概率 ,如果我们什么信息都没有肯定是不行的,所以一般假设我们知道它的概率分布,然后用一定方法来求出分布的参数即可。对于求分布的参数,一般使用最大似然估计MLE,虽然MLE是频率学派的估计方法,不过好用的东西大家一起用嘛,贝叶斯学派有个差不多的估计方法:最大后验估计MAP,不过MAP比MLE多了个作为因子的先验概率P(θ),更复杂一些,这些内容咱们下回再讲。
说回最大似然估计,说到最大似然估计就不得不问一句,什么是似然?这里需要好好的说道说道,只有搞清楚似然的概念才能理解怎么计算它。
极大似然是频率学派的参数估计方法,似然即参数的似然,是由频率学派建立的、极大似然估计中的重要概念。从前文可知,频率学派认为参数是确定值,参数的似然就表达了给定样本 下某参数为这个确定值的可能性。在计算上,参数的似然值等于在该参数下事件发生的概率 。也就是说,似然值可以用概率来计算,但似然却不是概率,因为频率学派的体系下, 参数不是随机变量,故似然不是概率 ,概率是在确定参数的情况下,观测结果发生的可能性,概率的对象是概率空间中的事件,而似然的对象是参数。
因此,似然函数定义为:似然函数 是给定样本x时,关于参数θ的函数,其在数值上等于给定参数θ后变量X的概率
值得注意的是,因为 不是随机变量,所以各个 所对应的似然值是不能做累加的,我们都知道: ,这也是概率的一个基本性质,而似然是不满足这一点的, 并不为1,比如两个不均匀的硬币,正面的概率未知作为 ,给定 为观察到一次正面, 时 , 时 ,显然加和大于1,其实甚至可以说这样相加是没有意义的,因为 只是似然函数的自变量,并不是概率空间里的取值。这也从一方面说明似然是不满足概率定理(柯尔莫果洛夫公理)的三个条件的,似然并不是概率。
关于似然,知乎上还有一个很形象的例子,他山之石,可以借鉴一下, 如何理解似然函数?HiTao的回答
其中的核心观点是:似然和概率两个函数有着不同的名字,却源于同一个函数。 是一个有着两个变量的函数。 如果,你将θ设为常量,则你会得到一个概率函数(关于x的函数);如果,你将x设为常量你将得到似然函数(关于θ的函数) 。
举一个例子: 有一个硬币,它有 的概率会正面向上,有 的概率反面向上。现有正反序列: 。无论 的值是多少,这个序列的概率值为
比如,如果 ,则得到这个序列的概率值为0。如果 ,概率值为1/1024。 尝试所有 可取的值,画出了下图,即为似然函数的函数图像:
可以看出 时的似然值最大,即是最可能是真值的参数值,这就是最大似然估计的思想了。
现在应该对似然有了一定的了解了,我们回忆一下贝叶斯分类器说到哪了,对:
我们的目标是用最大似然估计计算得到 ,得到联合分布,具体做法及MLE和MAP的区别下一篇再细说~
主要参考资料
《机器学习》周志华 如何理解似然函数?HiTao的回答
.