在开始接触最大似然估计和贝叶斯估计时,大家都会有个疑问:最大似然估计和贝叶斯估计二者很相似,到底有何区别?本文便来说说二者的不同之处以及求参模型的公式推导!
预热知识必知
如何求类条件概率密度:
我们知道贝叶斯决策中关键便在于知道后验概率,那么问题便集中在求解类条件概率密度!那么如何求呢?答案便是:将类条件概率密度进行参数化。
最大似然估计和贝叶斯估计参数估计:
鉴于类条件概率密度难求,我们将其进行参数化,这样我们便只需要对参数进行求解就行了,问题难度将大大降低!比如:我们假设类条件概率密度p(x|w)是一个多元正态分布,那么我们就可以把问题从估计完全未知的概率密度p(x|w)转化成估计参数:均值u、协方差ε
所以最大似然估计和贝叶斯估计都属于参数化估计!……当然像KNN估计、Parzen窗这些就是非参数话估计啦!但是参数化估计也自然有它的缺点,下面会说的!
简述二者最大的区别
若用两个字高度概括二者的最大区别那就是:参数
最大似然估计和贝叶斯估计最大区别便在于估计的参数不同,最大似然估计要估计的参数θ被当作是固定形式的一个未知变量,然后我们结合真实数据通过最大化似然函数来求解这个固定形式的未知变量!
贝叶斯估计则是将参数视为是有某种已知先验分布的随机变量,意思便是这个参数他不是一个固定的未知数,而是符合一定先验分布如:随机变量θ符合正态分布等!那么在贝叶斯估计中除了类条件概率密度p(x|w)符合一定的先验分布,参数θ也符合一定的先验分布。我们通过贝叶斯规则将参数的先验分布转化成后验分布进行求解!
同时在贝叶斯模型使用过程中,贝叶斯估计用的是后验概率,而最大似然估计直接使用的是类条件概率密度。
下面会详细分析最大似然估计和贝叶斯估计求解模型!
从其他方面谈谈二者的异同
在先验概率能保证问题有解的情况下,最大似然估计和贝叶斯估计在训练样本趋近于无穷时得到的结果是一样的!但是实际的模式识别问题中,训练样本总是有限的,我们应如何选择使用哪种模型呢?下面简单分析分析:
(1) 计算复杂度:就实现的复杂度来说,肯定是有限选择最大似然估计,最大似然估计中只需要使用到简单的微分运算即可,而在贝叶斯估计中则需要用到非常复杂的多重积分,不仅如此,贝叶斯估计相对来说也更难理解;
(2)准确性:当采用的样本数据很有限时,贝叶斯估计误差更小,毕竟在理论上,贝叶斯估计有很强的理论和算法基础。
参数化估计的缺点:
贝叶斯估计和最大似然估计都是属于参数化估计,那么二者存在着一个共同的缺点:参数化估计虽然使得类条件概率密度变得相对简单,但估计结果的准确性严重依赖于所假设的概率分布形式是否符合潜在的真实数据分布。在现实应用中,与做出能较好的接近潜在真实分布中的假设,往往需要一定程度上利用关于应用任务本身的经验知识,否则若仅凭“猜测”来假设概率分布形式,很可能产生误导性的结果!所以没有什么算法是十全十美的啦!
下面便推导一下最大似然估计和贝叶斯估计所使用的模型,最大似然简单些,贝叶斯估计就比较复杂了!
参数估计
典型的离散型随机变量分布有二项式分布,多项式分布,泊松分布;典型的连续型随机变量分布有正态分布,拉普拉斯分布,student t 分布,帕雷托分布。它们都可以看成是参数分布,因为它们的函数形式被一小部分参数所控制。因此,给定一堆数据,我们希望用一个给定的分布去拟合实际数据分布的时候,就要估计出这些参数的值,以便能够利用分布模型来做密度估计。这就是参数估计!
对于参数估计,一直存在两个学派的不同解决方案。一是频率学派解决方案:通过某些优化准则(比如似然函数)来选择特定参数值;二是贝叶斯学派解决方案:假定参数服从一个先验分布,通过观测到的数据,使用贝叶斯理论计算对应的后验分布且选择的先验与后验都满足共轭性质。
最大似然估计(MLE)
最大似然估计(MLE),当给定一堆数据
D
且假定我们已经知道数据的分布,这个分布的参数
θ
是固定的。MLE的目标就是找出这样一个固定的参数
θ
,使得模型产生出观测数据的概率最大:
举个栗子,我们假设抛硬币,正面朝上的次数满足二项分布,正面朝上的概率是
μ
。现在我们抛10枚硬币,正面朝上的次数是2次,明显
μ=0.2
。但现在我们用MLE去求解这个参数。
其中 x=1 表示正面朝上, x=0 表示反面朝上,n是抛硬币的次数。对数形式为:
对参数
μ
求导:
我们另导数等于0,就可以得到:
最大后验估计(MAP)
最大后验估计(MAP)是最大似然估计(MLE)的扩展并与其类似,都是假设在给定数据的情况下,分布的参数都是固定的数值。但是不同的是,MAP介绍这个参数服从一个分布,既参数取到每个值的可能性不是相等的,而是服从一个分布的。而MLE的参数是不服从分布的(或者说服从均匀分布,因此取到每一值是均可能的。)。MAP是根据贝叶斯定理先验转后验推导出来的:
我们可以看到第一项 p(D|θ) 是似然函数,而第二项 p(θ|η) 则是一个先验分布,其中 η 是超参。
我们回到刚才那个抛硬币的栗子,我们假设参数 μ 的先验分布是beta分布,既:
我们对 p(D|μ)Beta(μ|a,b) 取对数后:
求导:
我们要让导数等于零,其中第一项求导的结果在上面已经求得,我现在只需要知道第二项的导数的表达式:
所以:
另导数等于0,求得:
其中a与b根据人的经验给定,比如我们认为一枚均匀硬币正反两面朝上的概率都是相等的,那么我们就可以假设 a=b=0.5 ,这样爱一定程度上可以防止因为数据不足导致训练出的模型参数太差。
贝叶斯估计
贝叶斯估计是最大后验估计(MAP)的进一步扩展,和MAP一样,也认为参数不是固定的,都假设参数服从一个先验分布。但是MAP是直接估计出参数的值,而贝叶斯估计是估计出参数的分布,这就是贝叶斯与MLE与MAP最大的不同。定义如下
现在我们要求的就不再是后验概率,而是
p(D)
,既观察到evidence的概率。当新的数据被观察到时,后验概率可以自动随之调整。但是通常这个全概率的求法是贝叶斯估计比较有技巧性的地方。求得一个新的值
xˆ
出现的概率:
上面的公式也就是贝叶斯估计的核心了,它把类条件概率密度 p(xˆ|θ) 与未知参数的后验概率密度 p(θ|D) 联系起来了 。注意,此积分不再等于1,这也是贝叶斯估计与最大后验估计最大的区别了。再说简单点,就是贝叶斯估计使用贝叶斯定理去估计参数的后验概率密度:
还是来看下抛硬币的栗子,设
n(1)
是正面朝上的总次数
n(0)
是反面朝上的总次数,
1B(a,b)=Γ(a+b)Γ(a)Γ(b)
,且B函数有 的一个性质是,且在待会的推导中会用到
B(p,q)=∫10xp−1(1−x)q−1dx
。现在根据贝叶斯估计 估计参数
μ
的分布:
根据Beta函数 期望和方差公式,我们可以得到参数的期望 方差是:
贝叶斯定理给出了最小化误差的最优解决方法,可用于分类和预测。理论上,它看起来很完美,但在实际中,它并不能直接利用,它需要知道证据的确切分布概率,而实际上我们并不能确切的给出证据的分布概率。因此我们在很多分类方法中都会作出某种假设以逼近贝叶斯定理的要求。
经验贝叶斯(Empirical Bayes)
经验贝叶斯(Empirical Bayes or ML-Ⅱ)也是计算参数的分布而不是值,但是它是通过计算出分布的超参来确定函数的分布的。
全贝叶斯(Full Bayes)
全贝叶斯(Full Bayes)就假设参数的参数都是服从一定分布的。。。