贝叶斯分类器(1)贝叶斯决策论概述、贝叶斯和频率、概率和似然

贝叶斯分类器思维导图

贝叶斯分类器,即是以贝叶斯决策理论为基础的分类器,什么是贝叶斯决策理论呢?

贝叶斯决策论

1 统计推断中的贝叶斯学派和频率学派

贝叶斯决策论是贝叶斯学派关于统计推断(根据已有资料或者说数据,对未知问题作出判断)的理论,要理解贝叶斯理论,就不得不和他的 “老对手”——频率学派(经典学派)一起聊。

首先我们看看统计推断的问题是什么。statistical inference 是学统计的目的,即根据样本数据,对总体进行统计推断(假设检验 或 预测).是指统计学中研究如何根据样本数据去推断总体数量特征的方法。统计推断主要可以分为两大类:一类是参数估计问题;另一类是假设检验问题。

常见统计推断问题

关于这些问题,从20世纪上半页至今,频率学派和贝叶斯学派两大学派一直在辩论,也一直互相不服。贝叶斯学派的发展在二十世纪滞后于频率学派,所以我们在学校教材上学到的统计推断的方法基本上都是频率学派的,比如最大似然估计、卡方检验、T检验、矩估计等等。

两个学派争论的点是什么呢?

  • 频率学派 认为频率即概率,我们所看到的样本只是无数可能的试验结果的一部分展现,样本中未出现的结果不是不可能出现,只是这次抽样没有出现而已,综合考虑我们看到的和没看到的全部可能的结果,总体分布\(F(X,\theta )\)是确定的,因此其中参数\(\theta\)也是确定的,按我的理解,频率学派是忽略我们观察者,而从事件本身出发,希望以纯粹的客观事实来描述事件。所以我们看像极大似然估计、区间估计等方法,都是希望尽可能的找到那个未知的、确定的参数。

  • 贝叶斯学派 认为概率是反映事件发生可能性的一个度量,并且不认为样本X是无数可能中的一部分,既然样本X出现了,那么就只能依靠事件X去做判断,我们不知道是什么分布生成了这些样本,所以什么分布都有可能,因此其中参数\(\theta\)是不确定的,只是不同的\(\theta\)的概率不同,而且应该是服从一个分布\(H(\theta )\)的,\(H(\theta )\)为“先验分布”(指抽样之前得到的分布),这是贝叶斯学派引入的主观概率的概念(主观概率是根据对事件的周密观察所得到的先验知识,并不是唯心主义的),这里的“验”就是这些样本X的作用,\(H(\theta )\)经过真实样本的“验”之后,就得到了“后验概率”\(H(\theta|X )\)(后验概率是条件概率的形式,但不可以理解为这个形式的就是后验概率,重点要看有没有后验概率的思想)。因此我们可以理解为贝叶斯学派没有忽略观察者的作用,在做判断时需要不仅要考虑抽样信息,也要考虑观察者对事件的先验知识,同时还引入了各种推断结果所带来的损失,显然这与频率学派的出发点是不同的,从拉普拉斯所说的Probability theory is nothing but common sense reduced to calculation也可窥一二。

现在应该对贝叶斯学派的思想有了一点认识了。那我们看看在分类问题上贝叶斯分类器是怎么一回事呢?

2 贝叶斯分类器

2.1 贝叶斯分类器概述

贝叶斯分类器是一类分类算法的总称,贝叶斯定理是这类算法的核心,因此统称为贝叶斯分类。

在分类问题中,我们可以根据样本\(x\)计算出在样本中各个类别\(c\)出现的概率,即后验概率\(P(c|x )\),根据之前对贝叶斯统计推断的介绍,还需要引入各种推断结果所带来的损失,我们定义\(\lambda _{i,j}\)为将\(c_j\)误分为\(c_i\)时所产生的损失,根据误判出现的概率和导致的损失,可以计算出错误分类是产生的期望损失,称之为“风险”:

设想我们制定了一个判定准则\(h\)来对\(x\)进行分类得到\(h(x)\),如果每个分类结果\(h(x)\)都是风险最小的结果,那个总体的风险\(R(h)\)也是最小的,这就是贝叶斯判定准则,称\(h\)为贝叶斯最优分类器。

贝叶斯最优分类器为:

后验概率最大化与风险最小化:对于二分类问题,λ要么等于0要么等于1

\(i=i\),即正确分类时,\(\lambda_{ii}=0\),所以可以计算此时所以条件风险(该条件下的风险)为

\[R(c_{i}|x)=\sum_{j=1}^N \lambda _{ij}P(c_{j}|x)=\sum_{j=1}^N 1*P(c_{j}|x) - P(c_{i}|x) =1-P(c_{i}|x) \]


  • 所以当分类错误率达到最小时,需要使后验概率最大化就是使风险最小化。即:

\(P(c|x)\)就是根据样本\(x\)进行分类,想想以前讲过的KNN、LR等,所做的不就是这个工作吗,这种直接对\(P(c|x)\)进行建模来预测\(c\)的方法,都叫做判别式模型(Discriminative Model),判别式模型不考虑样本的产生模型,直接研究预测模型。如果我们换一种思路,先得到联合分布\(P(c,x)\),再得到后验概率\(P(c|x)\),这就是生成式模型(Generative Model),顾名思义,生成式模型会研究样本的产生模型,判别式模型和生成式模型都是监督学习中的概念。

显然生成模型比判别模型包含更多的信息,可以做到更多的事,实际上由生成模型可以得到判别模型,但由判别模型得不到生成模型,贝叶斯分类器就是从生成模型的角度来解决分类问题,怎么实现呢?

\[h^*(x)=\argmax_{c\in Y} P(c|x)=\argmax_{c\in Y} \frac{P(x,c)}{P(x)}=\argmax_{c\in Y} \frac{P(c)*P(x|c)}{P(x)} \]

\(P(c)\)是类“先验”(prior)概率;\(P(x|c)\)是样本x相对于类标记c的类条件概率(class-conditional probability);\(P(x)\)是用于归一化的“证据”(evidence)因子。

2.2 求解方法

类先验概率\(P(c)\)表达了样本空间中各类样本所占的比例,根据大数定律,当训练集包含充足的独立同分布样本时, \(P(c)\)可通过各类样本出现的频率来进行估计.\(P(x)\)看起来是样本出现的概率,对给定样本\(x\),从形式上也可以看出与样本的类标记无关,因此估计\(P(c|x)\)的问题就转化为如何基于训练数据D来估计先验\(P(c)\)\(P(x|c)\)的问题,所以问题的重点就是怎么求\(P(x|c)\),得到\(P(x|c)\)就能得到联合概率\(P(x,c)\),也能能得到一个贝叶斯分类器了。那么怎么完成呢?能直接通过样本中的频率来统计吗?

\(P(x|c)\)来说,由于它涉及关于x 所有属性的联合概率,直接根据样本出现的频率来估计将会遇到严重的困难,例如,假设样本的 d 个属性都是二值的,则样本空间将有\(2^d\)种可能的取值,在现实应用中,这个值往往远大于训练样本数m,也就是说,很多样本取值在训练集中根本没有出现,直接使用频率来估计\(P(x|c)\)显然不可行,因为"未被观测到"与"出现概率为零"通常是不同的。

那应该怎么计算呢?先说第一种方法:最大似然估计

要求得类条件概率\(P(x|c)\),如果我们什么信息都没有肯定是不行的,所以一般假设我们知道它的概率分布,然后用一定方法来求出分布的参数即可。对于求分布的参数,一般使用最大似然估计MLE,虽然MLE是频率学派的估计方法,不过好用的东西大家一起用嘛,贝叶斯学派有个差不多的估计方法:最大后验估计MAP,不过MAP比MLE多了个作为因子的先验概率P(θ),更复杂一些,这些内容咱们下回再讲。

说回最大似然估计,说到最大似然估计就不得不问一句,什么是似然?这里需要好好的说道说道,只有搞清楚似然的概念才能理解怎么计算它。

2.3 似然

2.3.1 似然、似然与概率的区别和联系

极大似然是频率学派的参数估计方法,似然即参数的似然,是由频率学派建立的、极大似然估计中的重要概念。从前文可知,频率学派认为参数是确定值,参数的似然就表达了给定样本\(x\)下某参数为这个确定值的可能性。在计算上,参数的似然值等于在该参数下事件发生的概率\(L(θ|x)=P(X=x|θ)\)。也就是说,似然值可以用概率来计算,但似然却不是概率,因为频率学派的体系下,参数不是随机变量,故似然不是概率,概率是在确定参数的情况下,观测结果发生的可能性,概率的对象是概率空间中的事件,而似然的对象是参数。

因此,似然函数定义为:似然函数\(L(θ|x)\)是给定样本x时,关于参数θ的函数,其在数值上等于给定参数θ后变量X的概率

\[L(θ|x)=f(x;θ) \]

  • 如果\(x\)是离散型随机变量时\(f(x;θ)\)是概率分布,\(f(x;θ)=P_{θ}(x)\)
  • 如果\(x\)是连续型随机变量时\(f(x;θ)\)是概率密度,此时在\(x\)(一个样本点)处\(f(x;θ)=0\)(那给定这一个点的\(θ\)的似然也是0,是不是可以理解为根据这点信息判断出\(θ\)是否为真值的可能性太低),此时应该给定一段\(x\)区间来积分得到似然值。

值得注意的是,因为\(θ\)不是随机变量,所以各个\(θ\)所对应的似然值是不能做累加的,我们都知道:\(\sum_{x}^X P(x)=1\),这也是概率的一个基本性质,而似然是不满足这一点的,\(\sum_{θ} L(θ;x)\)并不为1,比如两个不均匀的硬币,正面的概率未知作为\(θ\),给定\(x\)为观察到一次正面,\(θ=0.6\)\(P=0.6\)\(θ=0.8\)\(P=0.8\),显然加和大于1,其实甚至可以说这样相加是没有意义的,因为\(θ\)只是似然函数的自变量,并不是概率空间里的取值。这也从一方面说明似然是不满足概率定理(柯尔莫果洛夫公理)的三个条件的,似然并不是概率。

2.3.2 一个例子

关于似然,知乎上还有一个很形象的例子,他山之石,可以借鉴一下,如何理解似然函数?HiTao的回答

其中的核心观点是:似然和概率两个函数有着不同的名字,却源于同一个函数。\(p(x|θ)\)是一个有着两个变量的函数。如果,你将θ设为常量,则你会得到一个概率函数(关于x的函数);如果,你将x设为常量你将得到似然函数(关于θ的函数)

举一个例子:
有一个硬币,它有\(θ\)的概率会正面向上,有\(θ\)的概率反面向上。现有正反序列:\(x=HHTTHTHHHH\)。无论\(θ\)的值是多少,这个序列的概率值为

\[θ⋅θ⋅(1-θ)⋅(1-θ)⋅θ⋅(1-θ)⋅θ⋅θ⋅θ⋅θ = θ⁷ (1-θ)³ \]

比如,如果\(θ=0\),则得到这个序列的概率值为0。如果\(θ=1/2\),概率值为1/1024。
尝试所有\(θ\)可取的值,画出了下图,即为似然函数的函数图像:

似然函数图像

可以看出\(θ=0.7\)时的似然值最大,即0.7是最可能是真值的参数值,这就是最大似然估计的思想了。

2.4 回到贝叶斯分类

现在应该对似然有了一定的了解了,我们回忆一下贝叶斯分类器说到哪了,对:

\[h^*(x)=\argmax_{c\in Y} P(c|x)=\argmax_{c\in Y} \frac{P(x,c)}{P(x)}=\argmax_{c\in Y} \frac{P(c)*P(x|c)}{P(x)} \]

我们的目标是用最大似然估计计算得到\(P(x|c)\),得到联合分布,具体做法及MLE和MAP的区别下一篇再细说~


**主要参考资料**

《机器学习》周志华
如何理解似然函数?HiTao的回答

posted @ 2020-07-25 22:05  蛋仔鱼丸  阅读(547)  评论(0编辑  收藏  举报