机器学习理论中有一些基本的模型是被反复使用的,了解这些模型对于学习不同的算法十分重要,下面我们对常见的三个模型MLE(最大似然估计),MAP(最大后验概率)和贝叶斯推断做简单的介绍。

机器学习的基本问题

假设我们数据集X,其中每单个数据 xi 都是 i.i.d(独立同分布)的:

x可以理解为随机变量,其服从某个具有参数的分布。如果我们要依靠该模型去做预测,一个有效的途径就是先通过数据获取的信息。那么我们有什么样的方法获取的信息呢?

MLE(Maximum Likelyhood Expectation)

依据频率学派统计学家的观点,是一个固定的值,那么依据这样的参数产生数据集 X 的概率应该是非常大的。也就是说我们可以考虑找到这样一个,使得似然概率概率最大化:

我们把这样的表示为。我们知道,由于x是i.i.d的,所以联合概率分布可以表示为:

由于连乘符号相比连加符号没有那么容易处理,所以我们往往会使用对数联合概率L:

那么MLE的解可以表示为:

MAP(Maximum a Posteriori)

在介绍最大后验概率之前,我们先回顾下贝叶斯定理。

或者也可以写为:

后验概率,似然概率和先验概率我们已经在其他博客中说明,这里prob(X)我们称之为 evidence。

MAP和MLE不同,后者考虑的是使似然概率最大化,而前者考虑的是使参数的后验概率最大化,且在MAP中,我们假定参数服从某种先验分布。所以MAP算法如下:

当然,如果换成对数方式求解会更加方便:

MLE和MAP的区别于联系

MLE的计算完全依赖于数据,相对MLE来说有更可能会过度拟合;对应的,MAP由于引入了先验只是,过拟合的可能更小,但是,如果要获取更好的泛化能力,先验概率的选择也是非常重要的,而先验概率的选择就要依靠人员的经验,从而增加了操作的复杂度。

贝叶斯推断

根据前面小节的描述,我们可以看出,无论是MLE还是MAP其最终目的都是要求出一个最优的参数。而贝叶斯推断要做的是求出整个后验概率:

也就是说我们依然需要引入先验概率。但是有人会说,这不是和MAP的求法是一样的吗?当然不是,MAP由于要求的最优的参数,所以我们对于evidence的求解可以忽略。但是如果要后验概率的表达式,evidence是必须要求得的,当然这也是贝叶斯推断的一个难点。

evidence可以利用以上公式计算,如果利用解析的方法计算往往会非常复杂,尤其是对于高维概率分布。这时候我们会引入其它的一些求解方法,比如MCMC和重要采样等等。

参考资料:

[1] prml 第一章

[2] ML, MAP, and Bayesian — The Holy Trinity of Parameter Estimation and Data

MLE,MAP和贝叶斯推断相关推荐

  1. 贝叶斯推断方法 —— 从经验知识到推断未知

    贝叶斯推断方法 -- 从经验知识到推断未知 机器学习基础算法python代码实现可参考:zlxy9892/ml_code 1 什么是贝叶斯 ​ 在机器学习领域,通常将监督学习 (supervised ...

  2. 贝叶斯推断应用:垃圾邮件过滤

    附上新博客地址:月光森林 引入 仍然是"信息内容安全" 课程的一个实验总结.为了理解整个原理,不但重新复习了一边贝叶斯,还因为对"联合概率"理解不透彻,直接翻译 ...

  3. 贝叶斯推断 概率编程初探

    1. 写在之前的话 0x1:贝叶斯推断的思想 我们从一个例子开始我们本文的讨论.小明是一个编程老手,但是依然坚信bug仍有可能在代码中存在.于是,在实现了一段特别难的算法之后,他开始决定先来一个简单的 ...

  4. 为机器学习爱好者推荐一本书《贝叶斯方法:概率编程与贝叶斯推断》

    本书的内容特色: 学习贝叶斯思维方式 ·理解计算机如何进行贝叶斯推断 ·利用PyMC Python库进行编程来实现贝叶斯分析 ·利用PyMC建模以及调试 ·测试模型的拟合优度 ·打开马尔科夫链蒙特卡洛 ...

  5. 估计参数的方法:最大似然估计、贝叶斯推断

    一.最大似然估计 假设有3个数据点,产生这3个数据点的过程可以通过高斯分布表达.这三个点分别是9.9.5.11.我们如何计算高斯分布的参数μ .σ的最大似然估计? 我们想要计算的是观测到所有数据的全概 ...

  6. 10分钟教你用睡觉这件事玩转贝叶斯推断

    编译 | AI科技大本营(ID:rgznai100) 参与 | 张建军 编辑 | 明 明 [AI科技大本营导读]贝叶斯法则和其他统计概念很难通过只用到字母的抽象公式.或者一些虚构的情景来理解.在作者W ...

  7. 干货 | 基于贝叶斯推断的分类模型 机器学习你会遇到的“坑”

    本文转载自公众号"读芯术"(ID:AI_Discovery) 本文3153字,建议阅读8分钟. 本文讲解了在学习基于贝叶斯推断的分类模型中,我们需要的准备和方法. 数学准备 概率: ...

  8. 贝叶斯推断及其互联网应用(三):拼写检查

    (这个系列的第一部分介绍了贝叶斯定理,第二部分介绍了如何过滤垃圾邮件,今天是第三部分.) 使用Google的时候,如果你拼错一个单词,它会提醒你正确的拼法. 比如,你不小心输入了seperate. G ...

  9. 贝叶斯推断及其互联网应用(二):过滤垃圾邮件

    上一次,我介绍了贝叶斯推断的原理,今天讲如何将它用于垃圾邮件过滤. ======================================== 贝叶斯推断及其互联网应用 作者:阮一峰 (接上文) ...

最新文章

  1. sort,uniq,fmt,wc,提取开头和结尾的命令的使用
  2. php reset input,PHP reset() 函数
  3. ielts writing
  4. TRzCheckTree
  5. Selenium UI自动化测试(五)WebDriver控制浏览器的操作
  6. 2. Android Basic 搭建Android开发环境
  7. 现实世界的Windows Azure: 采访LexisNexis的Marc Slovak 和 Manish Bhargava
  8. PDF顽固水印去除(Foxit PDF Editor)
  9. 矩阵相乘取共轭_共轭矩阵
  10. 中断上下文中的preempt count
  11. html的介绍及常用标签,吊打面试官系列!
  12. rancher部署安装好后,无法部署pod
  13. 海图水深点的标注方法
  14. 如何优雅的使用LiveData实现一套EventBus(事件总线)
  15. MFRC53101TOFE小知识
  16. 七个习惯之六:统合综效
  17. Redis 3.0集群搭建/配置/FAQ
  18. 月租最便宜的手机卡_有什么很划算的手机卡套餐?
  19. 字节跳动 Flink 单点恢复功能及 Regional CheckPoint 优化实践
  20. 绿盟rsasnx3_绿盟RSASNX3-S远程安全评估系统V6.0

热门文章

  1. speedoffice使用方法-Word插入的表格怎么拆分单元格
  2. 刷脸设备引进越来越多的人喜欢靠脸消费
  3. 顺序表实现图书信息管理系统
  4. 老板电器的新“大厨”,能否在厨电行业炒出新菜?
  5. 我是如何从 0 到 1 打造一款百万用户 App 的?
  6. Error querying database. Cause: java.sql.SQLSyntaxErrorException
  7. LKT6830C安全MCU(一):资源介绍
  8. Apache-Tomcat-Ajp漏洞复现幽灵猫
  9. sorted()函数,实现排序
  10. android何如获取SIM卡提供国家代码(ISO)