即便学过机器学习的人,对机器学习中的MLE(极大似然估计)、MAP(最大后验估计)以及贝叶斯估计(Bayesian)仍有可能只知其一;不知其二。对于一个基础模型,一般均可以从这三个角度去建模,好比对于逻辑回归(Logistics Regression)来讲:算法
MLE: Logistics Regression
网络MAP: Regularized Logistics Regression 机器学习
Bayesian: Bayesian Logistic Regression post
本文结合实际例子,以通俗易懂的方式去讲解这三者之间的本质区别,但愿帮助读者扫清理解中的障碍。
学习
先导知识点: 假设空间(Hypothesis Space)优化
什么叫假设空间呢?咱们能够这样理解。机器学习包含不少种算法,好比线性回归、支持向量机、神经网络、决策树、GDBT等等。咱们在建模的时候,第一步就是要选择一个特定的算法好比“支持向量机”。一旦选择了一个算法,就至关于咱们选择了一个假设空间。在一个假设空间里,咱们一般会有无数种不一样的解(或者能够理解成模型),一个优化算法(好比梯度降低法)作的事情就是从中选择最好的一个解或者多个解/模型,固然优化过程要依赖于样本数据。举个例子,若是咱们选择用支持向量机,那至关于咱们可选的解/模型集中在上半部分(蓝色点)。3d
一个具体“toy”问题orm
“ 张三遇到了一个数学难题,想寻求别人帮助。经过一番思考以后发现本身的朋友在清华计算机系当老师。因而,他决定找清华计算机系学生帮忙。那张三用什么样的策略去寻求帮助呢?
cdn
在这里,“清华计算机系”是一个假设空间。在这个假设空间里,每一位学生能够看作是一个模型(的实例化)。对象
对于张三来讲,他有三种不一样的策略能够选择。
第一种策略就是从系里选出过往成绩最好的学生,并让他去解答这个难题。好比咱们能够选择过去三次考试中成绩最优秀的学生。
通常的学习流程分为“学习过程”和“预测过程”。第一种策略的方案能够用下面的图来表示。在这里,学习过程至关于从全部系的学生中挑选出成绩最好的学生。因此,这里的“学生过往成绩单”就是咱们已知的训练数据 D, 选出成绩最好的学生(计算历史平均分数,并选出最高的),这个过程就是MLE。一旦咱们找到了成绩最好的学生,就能够进入预测环节。在预测环节中,咱们就可让他回答张三手里的难题 x', 以后就能够获得他给出的解答 y'。
跟第一种策略的不一样点在于,第二种策略中咱们听取了老师的建议,老师就是张三的朋友。这位老师给出了本身的观点:
当咱们按照成绩的高低给学生排序,假设前两名依次为小明和小花,若是咱们不考虑这位老师的评价,则咱们确定把小明做为目标对象。然而,既然老师已经对小明和小花作了一些负面的评价,那这个时候,咱们颇有可能最后选择的是班级里的第三名,而不是小明或者小花。
咱们把第二种策略的过程也用一个图来描述。与上面的图相比,惟一的区别在于这里多出了老师的评价,咱们称之为 Prior。 也就是说咱们根据学生以往的成绩并结合老师评价,选择了一位咱们认为最优秀的学生(能够当作是模型)。以后就可让他去回答张老师的难题 x',并获得他的解答 y'。整个过程相似于MAP的估计以及预测。
到这里,有些读者可能会有一些疑惑:“
。 为了回答这个问题,咱们不得不引出一个很是著名的定理,叫作贝叶斯定理,以下图所示。左边的项是MAP须要优化的部分,经过贝叶斯定理这个项能够分解成MLE(第一种策略)和Prior,也就是老师的评价。在这里,分母是常数项(Constant),因此不用考虑。
最后,咱们来介绍第三种策略。这种策略应该不少人也能够想象获得,其实就是让全部人都去参与回答张三的难题,但最后咱们经过一些加权平均的方式得到最终的答案。好比有三个学生,并且咱们对这三个学生状况没有任何了解。经过提问,第一个学生回答的答案是A,第二个学生回答的答案也是A,但第三个学生回答的是B。在这种状况下,咱们基本能够把A做为标准答案。接着再考虑一个稍微复杂的状况,假设咱们经过以往他们的表现得知第三个学生曾经屡次得到过全国奥赛的金牌,那这个时候该怎么办? 很显然,在这种状况下,咱们给予第三个学生的话语权确定要高于其余两位学生。
咱们把上面的这种思路应用到张三的问题上,其实至关于咱们让全部计算机系的学生参与回答这个问题,以后把他们的答案进行汇总并得出最终的答案。若是咱们知道每一位学生的话语权(权重),这个汇总的过程是肯定性(deterministic)。 但每一位学生的话语权(权重)怎么获得呢?这就是贝叶斯估计作的事情!
咱们用下面的一幅图来说述贝叶斯估计和预测的整个过程。跟MAP相似,咱们已知每一位学生过去三次考试考试成绩(D)以及老师的评价(Prior)。 但跟MAP不一样的是,咱们这里的目标再也不是- “选出最优秀的学生”,而是经过观测数据(D)去得到每一位学生的发言权(权重),并且这些权重所有加起来要等于1, 至关因而一个valid分布(distribution)。
总结起来,在第三种策略之下,给定过去考试成绩(D)和老师的评价(Prior), 咱们的目标是估计学生权重的分布,也称之为Posterior Distribution。 那这个分布具体怎么去估计呢? 这部分就是贝叶斯估计作的事情,有不少种方法能够作这件事情,好比MCMC, Variational Method等等,但这并非本文章的重点,因此不在这里进一步解释,有兴趣的读者能够关注以后关于贝叶斯的专栏文章。从直观的角度思考,由于咱们知道每一位学生过往的成绩,因此咱们很容易了解到他们的能力水平进而估计出每一位学生的话语权(权重)。
一旦咱们得到了这个分布(也就是每一位学生的权重),接下来就能够经过相似于加权平均的方式作预测了,那些权重高的学生话语权天然就越大。
以上是对MLE, MAP以及贝叶斯估计的基本讲解。下面咱们试图去回答两个常见的问题。
Q: 随着咱们观测到愈来愈多的数据,MAP估计逐步逼近MLE,这句话怎么理解?
咱们接着使用以前MAP(第二种策略)的例子。在这里,咱们对原来的问题稍做改变。在以前的例子里咱们假设可以获得每一位学生过去三次考试中的成绩。但在这里,咱们进一步假定能够得到每一位学生过去100次考试中的成绩。
那这样的修改会带来什么样的变化呢? 若是仔细想想,其实也很容易想获得。咱们设想一下这样的两种场景。假设咱们知道某一位学生过去三次的考试成绩比较优异,但老师却告诉咱们这位学生能力其实不怎么样,那这时候咱们极可能就去相信老师了,毕竟仅仅经过三次考试的成绩很难对一个学生有全面的了解。但相反,假设咱们了解到这位学生在过去100次考试中所有得到了班里第一名,但同时老师又告诉咱们这位学生的能力其实不怎么样,那这时候咱们会有什么样的反应? 两三次考试或许能够算作是运气,但连续100次都是第一名这件事情很难再跟运气画等号吧? 咱们甚至可能会去怀疑老师的品德,是否是故意污蔑人家?
这就是说,当咱们观测到的数据愈来愈多的时候,咱们从数据中获取的信息的置信度是越高的,相反老师提供的反馈(Prior)的重要性就会逐渐下降。理想状况下,当咱们拥有无穷多的数据样本时,MAP会逼近MLE估计,道理都是同样的。
Q: 为何贝叶斯估计会比MLE, MAP难?
回顾一下,MLE 和MAP都是在寻找一个最优秀的学生。贝叶斯估计则是在估计每一位学生的权重。第一种状况下,为了寻找最优秀的学生,咱们只需知道学生之间的“相对”优秀程度。这个怎么理解呢? 好比一个班里有三个学生A,B,C,咱们知道学生A比B优秀,同时知道B比C优秀,那这时候就能够推断出学生A是最优秀的,咱们并不须要明确知道A的成绩是多少,B的成绩是多少.....
但在贝叶斯估计模式下,我们必需要知道每个学生的绝对权重,由于最后咱们得到的答案是全部学生给出的答案的加权平均,并且全部学生的权重加起来要保证等于1(任何一个分布的积分和必需要等于1)。 假设咱们知道每一位学生的能力值,a1, a2,.... an,这个能做为权重吗? 显然不能。为了得到权重,有一种最简单的方法就是先求和,而后再求权重。好比先计算 a1+...+an = S, 再用a1/S 做为权重。这貌似看起来也不难啊,只不过多作了一个加法操做?
咱们很容易看出这个加法操做的时间复杂度是O(n),依赖于整体学生的数量。若是咱们的假设空间只有几百名学生,这个是不成问题的。 但实际中,好比咱们假设咱们的模型用的是支持向量机,而后把假设空间里的每个可行解比喻成学生,那这个假设空间里有多少个学生呢? 是无数个!!, 也就是说须要对无穷多个数作这种加法操做。 固然,这种加法操做会以积分(integeral)的方式存在,但问题是这种积分一般没有一个closed-form的解,你必需要去近似地估计才能够,这就是MCMC或者Variational方法作的事情,不在这里多作解释。
本文几点重要的Take-aways:
每个模型定义了一个假设空间,通常假设空间都包含无穷的可行解;
MLE不考虑先验(prior),MAP和贝叶斯估计则考虑先验(prior);
MLE、MAP是选择相对最好的一个模型(point estimation), 贝叶斯方法则是经过观测数据来估计后验分布(posterior distribution),并经过后验分布作群体决策,因此后者的目标并非在去选择某一个最好的模型;
当样本个数无穷多的时候,MAP理论上会逼近MLE;
贝叶斯估计复杂度大,一般用MCMC等近似算法来近似;
最后贴一张总结的图: