已知数据X,去拟合某个概率模型的参数θ,是最基本的机器学习过程。
本文将入门讲解3个最基本的方法:最大似然估计(Maximum Likelihood Estimation,简称MLE),最大后验概率估计(Maximum a Posteriori estimation,简称MAP),以及贝叶斯估计。
下面的所有讲解都将用到这样的一组实验数据:抛一个硬币10次,得到如下结果:
正正反正反正正正反正
根据实验结果,我们的目标是用经典的二项分布来描述该概率模型。该概率模型有一个参数θ,即:每投一次硬币,出现正面的概率:p(正) =θ。我们将要通过数据来拟合这个参数。
下面分别用上述三种方法来求解θ。

1、 最大似然估计(Maximum Likelihood Estimation,MLE)

顾名思义, 最大似然估计尝试求解使得X出现概率最高的θ。
抛一个硬币10次,出现正面7次,我们的直觉会告诉我们,θ很有可能为0.7。
实际上,这种直觉恰好就是最大似然估计的结果。那么具体如何求解呢?
对于m次实验,由于每次都是独立的,我们可以将X中每一次实验结果Xi的似然函数P(Xi|θ)全部乘起来,那么,使得该式取得最大值的θ*,即为θ的最大似然估计:

在本例中,即:

我们用横轴表示θ的取值(从0到1),纵轴表示上述函数的值,该函数绘制出来如下所示:

图1 P(X|θ)的似然函数

很容易看到,当θ取值为0.7时,函数取得唯一的极大值。
具体求解方式可对该函数求导。为了便于计算,通常引入对数来处理:

当导数为0时函数取得极大值,此时θ取0.7。
值得注意的是,最终的表达式为正面出现的次数除以总实验次数,恰好符合我们的直觉。

2、最大后验概率估计(Maximum a Posteriori estimation,MAP)

上述最大似然估计方法尝试求解θ来最大化似然函数P(X|θ),显然计算出来的参数完全取决于实验结果。
如果该硬币是完全对称的(即实际上θ=0.5),但是由于实验误差,10次出现了7次正面,因此我们计算出来的0.7与真实值0.5相比,也产生了很大的误差。
MAP方法能够很大程度解决这个问题。该方法尝试最大化另外一个概率值——后验概率P(θ|X)
我们来看看这样做有什么不同。由贝叶斯公示我们得知:

上式的分母部分P(X)为已知的(称作证据),因此,我们只需要最大化分子部分:P(θ|X)P(θ)。
注意该式和最大似然估计的唯一区别,是增加了先验概率P(θ)。这里如何处理呢?
实际上,这里的先验概率是我们自己来设定的(这就是所谓的先验知识,即你的认知、经验等),和实验结果X无关。
在此例中,先验概率表示我们的经验和认知告诉我们,对于投硬币这个二项分布模型而言,该模型的参数θ应该服从什么分布。
比如,我坚定的认为,硬币就应该很均匀,但允许在0.5附近有一定偏差,那么,我们可以选择一个正态分布N(0.5, 0.1)来描述θ:

图2 P(θ)的正态分布

由于我们的任务为最大化P(θ|X)P(θ),因此我们如果把图1的似然函数和图2的正态分布两个函数乘起来,便得到了函数P(θ|X)P(θ)。同样当导数为0时函数求得最大值,对应的θ即为所求。其求解较为复杂,可以使用matlab进行求解。
如果手动求解,过程和最大似然方法类似,如下:

可以看到,导数的最终结果和最大似然法相比多了一项。
下面给出P(θ|X)P(θ)的图像:

图3 当P(θ)为正态分布时的P(θ|X)P(θ)

图中,上子图是实验10次,正面7次的结果;下子图是实验1000次,正面700次的结果。
可以看到,实验10次,取得最大值时的θ为0.5577左右,明显小于MLE求出来的0.7。
而实验1000次,取得最大值时的θ在0.7左右。
因此,可以这样理解:MAP方法对实验数据保留了怀疑态度,因此引入了先验信息来缓解实验数据的误差。如果要说服MAP相信实验结果,则必须增加实验次数。

上面是采取正态分布作为先验模型的结果。我们当然可以换别的先验模型,比如选择θ服从Beta(2,2)的贝塔分布,则同样的实验结果下,计算出来的结果如下:

图4 当P(θ)为贝塔分布时的P(θ|X)P(θ)

10次实验结果下,θ在0.68左右取得最大值;1000次实验结果下同样趋近于0.7。
可见,实验样本不够多的时候,先验概率模型的选择对结果影响还是很大的。就本例而言,Beta分布相对于正态分布,更愿意相信实验数据。

3、贝叶斯估计

贝叶斯估计与上述两类估计方法最大的区别在于:该类方法并不求出参数θ的具体值,而是求出θ的概率分布模型。
简单的说来,MLE方法求出θ=0.7,MAP求出θ=0.68,而对于贝叶斯估计,如果假设θ服从贝塔分布,则最终求出θ~Beta(α,β)的模型参数α,β。
首先,我们先来看贝塔分布的几种表示形式:

我们在待会的计算中会用到上述表达形式。
下面同样以10次抛硬币7次正面的结果为例进行讲解。
之前,我们已经介绍了贝叶斯公示。在MAP计算中,我们省略了贝叶斯公式中的证据部分P(X)。但是在贝叶斯估计方法里,我们要利用P(X)做点事情:

在上式中,我们通过全概率公式展开P(X)、约掉B(α,β),将结果巧妙的组成了一个新的贝塔概率分布函数θ~Beta(α+7,β+3),而这就是我们要求解的θ的概率分布。
计算的结果为一个新的贝塔分布,难道仅仅是巧合吗?
其实这是因为P(θ)使用的先验模型——贝塔分布,与P(θ|X)使用的伯努利分布是共轭关系。正是这种共轭关系,使得伯努利分布乘以贝塔分布,其结果是一个新的贝塔分布。
可以这样理解贝叶斯方法:
(1)首先提出一个先验模型,该模型参数为θ;
(2)通过结合实验数据,最终得到一个新的模型,该模型参数为θ*。
这个过程很好的体现了通过数据来修正模型的思想。

参考文献:
1、参数估计:贝叶斯思想和贝叶斯参数估计
2、常用的概率分布:二项式分布,贝塔分布,狄里克雷分布
3、详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解

最大似然估计(MLE),最大后验概率估计(MAP),贝叶斯估计入门讲解相关推荐

  1. 最大似然估计、最大后验概率估计和贝叶斯估计

      本内容主要介绍概率论与统计学相关基础知识,主要涉及 联合概率.边缘概率和条件概率:贝叶斯公式.先验概率.后验概率和似然函数:最大似然估计.最大后验概率估计和贝叶斯估计 等.为机器学习中的贝叶斯分类 ...

  2. 最大似然估计和最大后验概率估计的理解与求解

    1. 最大似然估计的理解 最大似然估计(Maximum likelihood estimation, 简称MLE)和最大后验概率估计(Maximum a posteriori estimation, ...

  3. 详解最大似然估计、最大后验概率估计及贝叶斯公式

    最大似然估计(Maximum likelihood estimation, 简称MLE)和最大后验概率估计(Maximum a posteriori estimation, 简称MAP)是很常用的两种 ...

  4. 机器学习:最大似然估计与最大后验概率估计

    在机器学习领域,概率估计是经常用到的一种模型,而概率估计中,我们经常会看到两种估计模型,一种是最大似然估计,即 Maximum likelihood, 另外一种就是最大后验概率估计,即 Maximum ...

  5. 贝叶斯公式的对数似然函数_贝叶斯估计、最大似然估计、最大后验概率估计

    贝叶斯估计.最大似然估计(MLE).最大后验概率估计(MAP)这几个概念在机器学习和深度学习中经常碰到,读文章的时候还感觉挺明白,但独立思考时经常会傻傻分不清楚(

  6. 贝叶斯估计、最大似然估计、最大后验概率估计的区别

    似然函数和概率函数(很重要) 这个式子有两种解读方法: 把 theta 看成常量,而 x 为变量,此时式子为概率函数,表示在不同 x 出现的概率. 把 x 看成常量,theta 看成变量,此时式子为似 ...

  7. 最大似然估计和最大后验概率估计的区别

    最大似然估计(MLE) 1.似然函数:L(θ|x)=P(X=x|θ) ①物理意义:某次实验,θ取不同值时,出现X=x的结果的概率: ②似然函数是参数(θ)的函数: ③似然函数是条件转移概率. 例1:设 ...

  8. 最大似然估计(MLE)与最小二乘估计(LSE)的区别

    最大似然估计与最小二乘估计的区别 标签(空格分隔): 概率论与数理统计 最小二乘估计 对于最小二乘估计来说,最合理的参数估计量应该使得模型能最好地拟合样本数据,也就是估计值与观测值之差的平方和最小. ...

  9. 理解极大似然估计与最大后验概率估计

    文章目录 概率和统计 贝叶斯公式 似然函数 最大似然估计 最大后验概率估计 最大似然估计和最大后验概率估计的区别 最大似然估计的一个例子 参考链接 概率和统计 概率(probabilty)和统计(st ...

  10. 极大似然估计,最大后验概率估计(MAP),贝叶斯估计

    1.贝叶斯公式 三种参数估计方法都和贝叶斯公式有关,因此首先从分析贝叶斯公式入手: 贝叶斯公式可以表达为: posterior:通过样本X得到参数的概率 likehood:通过参数得到样本X的概率 p ...

最新文章

  1. VS2005下如何新建一个WINCE设备的DLL工程
  2. C指针原理(30)-C语言-LINUX/UNIX环境下调试
  3. spring安全_Spring安全–幕后
  4. leetcode(167)两数之和 II - 输入有序数组
  5. 聚焦BCS|新华网:2020年北京网络安全大会开幕
  6. oracle sequence 应用,oracle应用之使用sequence批量写数据
  7. 情况控件Android layout_weight用法图解
  8. [书籍推荐]为了自己的钱包,为了自己的时间——分享一下自己的淘书经验
  9. 无法识别 移动固态硬盘_固态硬盘不识别怎么办 固态硬盘不认盘解决方法介绍...
  10. TypeScript 中括号用法笔记
  11. SDCC 的源码安装
  12. 修改阿里云CentOS的远程登录默认22端口
  13. 软考中级 真题 2015年上半年 信息系统管理工程师 应用技术
  14. 短信定位 android,短信定位
  15. React 音乐播放器
  16. STM32 Not a genuine ST Device! Abort connection 错误解决方案
  17. H5网页跳转至微信小程序
  18. 我所了解的方正平台(web开发平台)
  19. vue+django进行前后端分离开发
  20. STM32笔记——EXTI外部中断

热门文章

  1. 服务器防御基础(常见的几种攻击手段以及应对方式)
  2. pixhawk使用WiFi模块
  3. OneNote脱机文件的新旧电脑间转移(从win10到win11)
  4. 浅谈一下在阿里工作的前端性能优化的全链路经验
  5. 静雅思听,在听的世界里沉醉
  6. ionCube出错问题
  7. 突然无法访问局域网内的共享文件夹
  8. MixamoConverter教程
  9. Swift - iOS应用的国际化与本地化
  10. nn.sigmoid()