机器学习 - MLE、MAP、BP

原创 2017年01月03日 20:45:37

本文主要介绍的三类参数估计方法-最大似然估计MLE、最大后验概率估计MAP及贝叶斯估计。

首先说下我对MLE、MAP、BP的认识:


X表示给定的数据,theta表示待求的模型参数

首先说下上面四个概率的含义:

P(theta|X)—后验概率,这个后验概率指的是参数theta的后验概率,如果是分类问题,theta就是类别;如果是回归问题,theta就是权向量。

P(X)—全概率,其实是个归一化因子。这个不重要。

P(X|theta)—参数theta的先验概率。

P(X|theta)—条件概率,在MLE中叫似然

MLE:

MLE和MAP都是在最大化参数theta的后验概率。MLE简单粗暴,直接抛开了P(X)与P(theta),直接最大化P(X|theta)。为什么要这么做呢?首先P(X)自不必说,对所有参数或者分类都是一样的;对于P(theta),MLE认为这个值可以直接从数据中获取。比如给定的分类问题,每个数据都有label,只需要统计每个label下面数据的个数。然后算出每个theta的概率即可。然后上面我们也把P(X|theta)叫做似然,因此对其进行极大似然估计,算出theta即可。

MAP:

对于上述的MLE不知道我们有没有想过这样一个问题,假如数据不具有代表性怎么办?比如我们要估计抛硬币正面朝上的概率,现在随机扔了10次,结果发现10次全朝上,那么按照MLE的办法,P(theta)=1.但事实上,我们知道P(theta)=0.5,那么最后计算出来的后验概率的估计值将产生很大偏移???

因此MAP直接研究分子P(X|theta)P(theta),就避开了MLE的这个缺口。而这个参数先验P(theta)将使得我们的最终结果更加准确。具体说明见下。

BE:

贝叶斯估计实际上可以看做是一个生成式模型,MLE与MAP都是判别式模型。不同之处就在于上面MLE与MAP是直接在使后验概率最大,就是直接在求P(theta|X),在求的过程中得出了theta。但是这个概率的分布呢?我们不知道,因此BE就干了这个事儿——BE直接求P(theta|X)的概率分布。

1、最大似然估计MLE

首先回顾一下贝叶斯公式




这个公式也称为逆概率公式,可以将后验概率转化为基于似然函数和先验概率的计算表达式,即




最大似然估计就是要用似然函数取到最大值时的参数值作为估计值,似然函数可以写做



由于有连乘运算,通常对似然函数取对数计算简便,即对数似然函数。最大似然估计问题可以写成




这是一个关于的函数,求解这个优化问题通常对求导,得到导数为0的极值点。该函数取得最大值是对应的的取值就是我们估计的模型参数。

以扔硬币的伯努利实验为例子,N次实验的结果服从二项分布,参数为P,即每次实验事件发生的概率,不妨设为是得到正面的概率。为了估计P,采用最大似然估计,似然函数可以写作



其中表示实验结果为i的次数。下面求似然函数的极值点,有




得到参数p的最大似然估计值为




可以看出二项分布中每次事件发的概率p就等于做N次独立重复随机试验中事件发生的概率。

如果我们做20次实验,出现正面12次,反面8次

那么根据最大似然估计得到参数值p为12/20 = 0.6。


2、最大后验估计MAP

最大后验估计与最大似然估计相似,不同点在于估计的函数中允许加入一个先验,也就是说此时不是要求似然函数最大,而是要求由贝叶斯公式计算出的整个后验概率最大,即




注意这里P(X)与参数无关,因此等价于要使分子最大。与最大似然估计相比,现在需要多加上一个先验分布概率的对数。在实际应用中,这个先验可以用来描述人们已经知道或者接受的普遍规律。例如在扔硬币的试验中,每次抛出正面发生的概率应该服从一个概率分布,这个概率在0.5处取得最大值,这个分布就是先验分布。先验分布的参数我们称为超参数(hyperparameter)即




同样的道理,当上述后验概率取得最大值时,我们就得到根据MAP估计出的参数值。给定观测到的样本数据,一个新的值发生的概率是



下面我们仍然以扔硬币的例子来说明,我们期望先验概率分布在0.5处取得最大值,我们可以选用Beta分布即




其中Beta函数展开是




当x为正整数时


\Gamma(n) = (n-1)!\,


Beta分布的随机变量范围是[0,1],所以可以生成normalised probability values。下图给出了不同参数情况下的Beta分布的概率密度函数


我们取,这样先验分布在0.5处取得最大值,现在我们来求解MAP估计函数的极值点,同样对p求导数我们有




得到参数p的的最大后验估计值为




和最大似然估计的结果对比可以发现结果中多了这样的pseudo-counts,这就是先验在起作用。并且超参数越大,为了改变先验分布传递的belief所需要的观察值就越多,此时对应的Beta函数越聚集,紧缩在其最大值两侧。

如果我们做20次实验,出现正面12次,反面8次,那么

那么根据MAP估计出来的参数p为16/28 = 0.571,小于最大似然估计得到的值0.6,这也显示了“硬币一般是两面均匀的”这一先验对参数估计的影响。


3 贝叶斯估计

贝叶斯估计是在MAP上做进一步拓展,此时不直接估计参数的值,而是允许参数服从一定概率分布。回顾一下贝叶斯公式




现在不是要求后验概率最大,这样就需要求,即观察到的evidence的概率,由全概率公式展开可得




当新的数据被观察到时,后验概率可以自动随之调整。但是通常这个全概率的求法是贝叶斯估计比较有技巧性的地方。

那么如何用贝叶斯估计来做预测呢?如果我们想求一个新值的概率,可以由




来计算。注意此时第二项因子在上的积分不再等于1,这就是和MLE及MAP很大的不同点。

我们仍然以扔硬币的伯努利实验为例来说明。和MAP中一样,我们假设先验分布为Beta分布,但是构造贝叶斯估计时,不是要求用后验最大时的参数来近似作为参数值,而是求满足Beta分布的参数p的期望,有




注意这里用到了公式




当T为二维的情形可以对Beta分布来应用;T为多维的情形可以对狄利克雷分布应用

根据结果可以知道,根据贝叶斯估计,参数p服从一个新的Beta分布。回忆一下,我们为p选取的先验分布是Beta分布,然后以p为参数的二项分布用贝叶斯估计得到的后验概率仍然服从Beta分布,由此我们说二项分布和Beta分布是共轭分布。在概率语言模型中,通常选取共轭分布作为先验,可以带来计算上的方便性。最典型的就是LDA中每个文档中词的Topic分布服从Multinomial分布,其先验选取共轭分布即Dirichlet分布;每个Topic下词的分布服从Multinomial分布,其先验也同样选取共轭分布即Dirichlet分布。

根据Beta分布的期望和方差计算公式,我们有




可以看出此时估计的p的期望和MLE ,MAP中得到的估计值都不同,此时如果仍然是做20次实验,12次正面,8次反面,那么我们根据贝叶斯估计得到的p满足参数为12+5和8+5的Beta分布,其均值和方差分别是17/30=0.567, 17*13/(31*30^2)=0.0079。可以看到此时求出的p的期望比MLE和MAP得到的估计值都小,更加接近0.5。

综上所述我们可以可视化MLE,MAP和贝叶斯估计对参数的估计结果如下

个人理解是,从MLE到MAP再到贝叶斯估计,对参数的表示越来越精确,得到的参数估计结果也越来越接近0.5这个先验概率,越来越能够反映基于样本的真实参数情况。


版权声明:本文为博主原创文章,未经博主允许不得转载。

大白菜制作多系统启动U盘(win+ubuntu+PE)

网上提供的方法很多都过时了,不适用,要不就是讲的不清楚 先看下最终成果: 一、需要什么   1.足够大的U盘一个(我用的是Kingston 8GB U盘,就本文来说2G就够了)...

整理何凯明去雾算法代码优化

这个函数求取三个通道中最小值,然后以最小值组成一幅灰度图 cv::Mat minChannel(const cv::Mat &src){ cv::Mat dst; dst.create(src...

机器学习->统计学基础->贝叶斯估计,最大似然估计(MLE),最大后验估计(MAP)

在学习机器学习,推荐系统等上的众多算法思想时,以及在数学公式推到上面,避免不了许多统计学方面的知识,其中以贝叶斯,最大似然估计,最大后验估计为最常遇见,必须深刻掌握了解。首先讲讲贝叶斯估计(对比传统频...

最大似然估计 (MLE)与 最大后验概率(MAP)在机器学习中的应用

最大似然估计 MLE 给定一堆数据,假如我们知道它是从某一种分布中随机取出来的,可是我们并不知道这个分布具体的参,即“模型已定,参数未知”。 例如,对于线性回归,我们假定样本是服从正态分布,但是不知道...

最大似然估计 (MLE)与 最大后验概率(MAP)在机器学习中的应用

最大似然估计 MLE 给定一堆数据,假如我们知道它是从某一种分布中随机取出来的,可是我们并不知道这个分布具体的参,即“模型已定,参数未知”。 例如,对于线性回归,我们假定样本是服从正态分布...
  • zlp_zky
  • zlp_zky
  • 2017年11月05日 20:30
  • 52

[(机器学习)概率统计]极大似然估计MLE原理+python实现

在数理统计学中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性。“似然性”与“或然性”或“概率”意思相近,都是指某种事件发生的可能性,但是在统计学中,“似然性”和“或然性”或“概率”...

机器学习小组知识点6:最大似然估计法(MLE)

为了照顾大家不同的基础,我只能写的不是很数学化,因此就用大家都能理解的东西。最大似然估计中采样需满足一个很重要的假设,就是所有的采样都是独立同分布的。下面我们具体描述一下最大似然估计: 最大似然估计...

机器学习--BP神经网络的C++实现

激活函数:Sigmoid 使用的是周志华老师的《机器学习》一书上的更新公式。 #include #include #include #include using namespace std...

机器学习算法疗程(BP)

转自:http://www.cnblogs.com/daniel-D/archive/2013/06/03/3116278.html 0. 前言 之前上模式识别课程的时候,老师也讲过 ML...

机器学习基础——BP算法

BP后向传播算法前言昨天看到了一篇关于BP后向传播的论文,想着把这方面的知识彻底理解一下,本文将基于该论文和基本的BP算法。解释其基本概念和权值调整的运算过程。一、BP神经网络的基本原理 BP(B...
  • g11d111
  • g11d111
  • 2017年04月29日 06:56
  • 532
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:机器学习 - MLE、MAP、BP
举报原因:
原因补充:

(最多只允许输入30个字)