机器学习的MLE和MAP:最大似然估计和最大后验估计
https://zhuanlan.zhihu.com/p/32480810
TLDR (or the take away)
- 频率学派 - Frequentist - Maximum Likelihood Estimation (MLE,最大似然估计)
- 贝叶斯学派 - Bayesian - Maximum A Posteriori (MAP,最大后验估计)
概述
有时候和别人聊天,对方会说自己有很多机器学习经验,深入一聊发现,对方竟然对MLE和MAP一知半解,至少在我看来,这位同学的机器学习基础并不扎实。难道在这个深度学习盛行的年代,不少同学都只注重调参数?
现代机器学习的终极问题都会转化为解目标函数的优化问题,MLE和MAP是生成这个函数的很基本的思想,因此我们对二者的认知是非常重要的。这次就和大家认真聊一聊MLE和MAP这两种estimator。
两大学派的争论
抽象一点来讲,频率学派和贝叶斯学派对世界的认知有本质不同:频率学派认为世界是确定的,有一个本体,这个本体的真值是不变的,我们的目标就是要找到这个真值或真值所在的范围;而贝叶斯学派认为世界是不确定的,人们对世界先有一个预判,而后通过观测数据对这个预判做调整,我们的目标是要找到最优的描述这个世界的概率分布。
在对事物建模时,用 表示模型的参数,请注意,解决问题的本质就是求
。那么:
(1) 频率学派:存在唯一真值 。举一个简单直观的例子--抛硬币,我们用
来表示硬币的bias。抛一枚硬币100次,有20次正面朝上,要估计抛硬币正面朝上的bias
。在频率学派来看,
= 20 / 100 = 0.2,很直观。当数据量趋于无穷时,这种方法能给出精准的估计;然而缺乏数据时则可能产生严重的偏差。例如,对于一枚均匀硬币,即
= 0.5,抛掷5次,出现5次正面 (这种情况出现的概率是1/2^5=3.125%),频率学派会直接估计这枚硬币
= 1,出现严重错误。
(2) 贝叶斯学派: 是一个随机变量,符合一定的概率分布。在贝叶斯学派里有两大输入和一大输出,输入是先验 (prior)和似然 (likelihood),输出是后验 (posterior)。先验,即
,指的是在没有观测到任何数据时对
的预先判断,例如给我一个硬币,一种可行的先验是认为这个硬币有很大的概率是均匀的,有较小的概率是是不均匀的;似然,即
,是假设
已知后我们观察到的数据应该是什么样子的;后验,即
,是最终的参数分布。贝叶斯估计的基础是贝叶斯公式,如下:
同样是抛硬币的例子,对一枚均匀硬币抛5次得到5次正面,如果先验认为大概率下这个硬币是均匀的 (例如最大值取在0.5处的Beta分布),那么 ,即
,是一个distribution,最大值会介于0.5~1之间,而不是武断的
= 1。
这里有两点值得注意的地方:
- 随着数据量的增加,参数分布会越来越向数据靠拢,先验的影响力会越来越小
- 如果先验是uniform distribution,则贝叶斯方法等价于频率方法。因为直观上来讲,先验是uniform distribution本质上表示对事物没有任何预判
MLE - 最大似然估计
Maximum Likelihood Estimation, MLE是频率学派常用的估计方法!
假设数据 是i.i.d.的一组抽样,
。其中i.i.d.表示Independent and identical distribution,独立同分布。那么MLE对
的估计方法可以如下推导:
最后这一行所优化的函数被称为Negative Log Likelihood (NLL),这个概念和上面的推导是非常重要的!
我们经常在不经意间使用MLE,例如
- 上文中关于频率学派求硬币概率的例子,其方法其实本质是由优化NLL得出。本文末尾附录中给出了具体的原因 :-)
- 给定一些数据,求对应的高斯分布时,我们经常会算这些数据点的均值和方差然后带入到高斯分布的公式,其理论依据是优化NLL
- 深度学习做分类任务时所用的cross entropy loss,其本质也是MLE
MAP - 最大后验估计
Maximum A Posteriori, MAP是贝叶斯学派常用的估计方法!
同样的,假设数据 是i.i.d.的一组抽样,
。那么MAP对
的估计方法可以如下推导:
其中,第二行到第三行使用了贝叶斯定理,第三行到第四行 可以丢掉因为与
无关。注意
其实就是NLL,所以MLE和MAP在优化时的不同就是在于先验项
。好的,那现在我们来研究一下这个先验项,假定先验是一个高斯分布,即
那么, 。至此,一件神奇的事情发生了 -- 在MAP中使用一个高斯分布的先验等价于在MLE中采用L2的regularizaton!
再稍微补充几点:
- 我们不少同学大学里学习概率论时,最主要的还是频率学派的思想,其实贝叶斯学派思想也非常流行,而且实战性很强
- CMU的很多老师都喜欢用贝叶斯思想解决问题;我本科时的导师朱军老师也在做贝叶斯深度学习的工作,有兴趣可以关注一下。
后记
有的同学说:“了解这些没用,现在大家都不用了。”这种想法是不对的,因为这是大家常年在用的知识,是推导优化函数的核心,而优化函数又是机器学习 (包含深度学习) 的核心之一。这位同学有这样的看法,说明对机器学习的本质并没有足够的认识,而让我吃惊的是,竟然有不少其他同学为这种看法点赞。内心感到有点儿悲凉,也引发了我写这篇文章的动力,希望能帮到一些朋友 :-)
参考资料
[1] Bayesian Method Lecture, UT Dallas.
[2] MLE, MAP, Bayes classification Lecture, CMU.
附录
为什么说频率学派求硬币概率的算法本质是在优化NLL?
因为抛硬币可以表示为参数为 的Bernoulli分布,即
其中 = 1 表示第
次抛出正面。那么,
求导数并使其等于零,得到
即 ,也就是出现正面的次数除以总共的抛掷次数。
机器学习的MLE和MAP:最大似然估计和最大后验估计的更多相关文章
- 最大似然估计(MLE)与最大后验概率(MAP)
何为:最大似然估计(MLE): 最大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”.可以通过采样,获取部分数据,然后通过最大似然估计来获取已知模型的参数. 最大似然估计 ...
- 【机器学习基本理论】详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解
[机器学习基本理论]详解最大似然估计(MLE).最大后验概率估计(MAP),以及贝叶斯公式的理解 https://mp.csdn.net/postedit/81664644 最大似然估计(Maximu ...
- 最大似然估计 (MLE)与 最大后验概率(MAP)在机器学习中的应用
最大似然估计 MLE 给定一堆数据,假如我们知道它是从某一种分布中随机取出来的,可是我们并不知道这个分布具体的参,即“模型已定,参数未知”. 例如,对于线性回归,我们假定样本是服从正态分布,但是不知道 ...
- 【模式识别与机器学习】——最大似然估计 (MLE) 最大后验概率(MAP)和最小二乘法
1) 极/最大似然估计 MLE 给定一堆数据,假如我们知道它是从某一种分布中随机取出来的,可是我们并不知道这个分布具体的参,即“模型已定,参数未知”.例如,我们知道这个分布是正态分布,但是不知道均值和 ...
- 详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解
转载声明:本文为转载文章,发表于nebulaf91的csdn博客.欢迎转载,但请务必保留本信息,注明文章出处. 原文作者: nebulaf91 原文原始地址:http://blog.csdn.net/ ...
- 机器学习基础系列--先验概率 后验概率 似然函数 最大似然估计(MLE) 最大后验概率(MAE) 以及贝叶斯公式的理解
目录 机器学习基础 1. 概率和统计 2. 先验概率(由历史求因) 3. 后验概率(知果求因) 4. 似然函数(由因求果) 5. 有趣的野史--贝叶斯和似然之争-最大似然概率(MLE)-最大后验概率( ...
- 最大似然估计 (MLE) 最大后验概率(MAP)
1) 最大似然估计 MLE 给定一堆数据,假如我们知道它是从某一种分布中随机取出来的,可是我们并不知道这个分布具体的参,即"模型已定,参数未知". 例如,我们知道这个分布是正态分布 ...
- 最大似然估计(MLE)和最大后验概率(MAP)
最大似然估计: 最大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”.简单而言,假设我们要统计全国人口的身高,首先假设这个身高服从服从正态分布,但是该分布的均值与方差未知 ...
- 4.机器学习——统计学习三要素与最大似然估计、最大后验概率估计及L1、L2正则化
1.前言 之前我一直对于“最大似然估计”犯迷糊,今天在看了陶轻松.忆臻.nebulaf91等人的博客以及李航老师的<统计学习方法>后,豁然开朗,于是在此记下一些心得体会. “最大似然估计” ...
随机推荐
- 019 jquery中的动画
1.隐藏和显示 2.透明度与高度 3.可见性 4.程序一(show与hide加入参数实现动画) <!DOCTYPE html> <html> <head> < ...
- Django admin 产生'WSGIRequest' object has no attribute 'user'的错误
Django admin 产生'WSGIRequest' object has no attribute 'user'的错误 django 版本1.8.升级到django2.0, Django服务 ...
- 【斜优DP】bzoj4518-Sdoi2016征途
一.斜率优化DP与决策单调性 这里浅显(并且不严谨)地说明一下标题中的两个名词: 斜率优化DP:状态转移方程形如f[i]=min/max{f[k]+(x[i]-x[k])^y}的一类DP问题: 决策单 ...
- Atcoder Grand Contest 010 C - Cleaning 树贪心(伪)
C - Cleaning 题目连接: http://agc010.contest.atcoder.jp/tasks/agc010_c Description There is a tree with ...
- JVM进程cpu飙高分析
在项目快速迭代中版本发布频繁 近期上线报错一个JVM导致服务器cpu飙高 但内存充足的原因现象. 对于耗内存的JVM程序来而言, 基本可以断定是线程僵死(死锁.死循环等)问题. 这里是纪录一下排 ...
- 使用 IntraWeb (24) - 基本控件之 TIWFileUploader、TIWFile
TIWFileUploader 是基于 Ajax 的上传控件, 最初是 Andrew Valums 开发, 从 IntraWeb XIV 纳入并替换 TIWFile. 虽然从组件面板上还能看到 TIW ...
- bitnami redmine配置全过程
常见问题: 我在自己的机器上面配置完毕以后,移植到另外一台机器上面,登陆页面总是在检查network,并且最后网络加载失败,不论我是用桥接还是NAT方式连接.登陆系统以后,我尝试连接网络失败,尝试执行 ...
- C#打印图片
打印的原理是:生成mdi文件,系统碰到mdi的时候会自动以打印的方式处理.所以,不管用什么模板,什么方式:能在PrintPage事件处理中,生成一张要打印内容的图片就OK了! C#实现打印源码如下: ...
- PGXZ-腾讯全功能分布式关系数据集群
PGXZ-腾讯全功能分布式关系数据集群
- delphi GetKeyState
GetKeyState(VK_CAPITAL) & 0x0001 0x8000 是键有否按下0x0001 是键的翻转状态 var bF1Down: Boolean;begin bF1Down ...