最大后验估计是根据经验数据获得对难以观察的量的点估计。与最大似然估计类似,但是最大的不同时,最大后验估计的融入了要估计量的先验分布在其中。故最大后验估计可以看做规则化的最大似然估计。

首先,假设x为独立同分布的采样,θ为模型参数,f为我们所使用的模型。那么最大似然估计可以表示为:

现在,假设θ的先验分布为g。通过贝叶斯理论,对于θ的后验分布如下式所示:

最后验分布的目标为:

    注:最大后验估计可以看做贝叶斯估计的一种特定形式。

  举例来说:

  假设有五个袋子,各袋中都有无限量的饼干(樱桃口味或柠檬口味),已知五个袋子中两种口味的比例分别是

    樱桃 100%

    樱桃 75% + 柠檬 25%

    樱桃 50% + 柠檬 50%

    樱桃 25% + 柠檬 75%

    柠檬 100%

  如果只有如上所述条件,那问从同一个袋子中连续拿到2个柠檬饼干,那么这个袋子最有可能是上述五个的哪一个?

我们首先采用最大似然估计来解这个问题,写出似然函数。假设从袋子中能拿出柠檬饼干的概率为p(我们通过这个概率p来确定是从哪个袋子中拿出来的),则似然函数可以写作

  

  由于p的取值是一个离散值,即上面描述中的0,25%,50%,75%,1。我们只需要评估一下这五个值哪个值使得似然函数最大即可,得到为袋子5。这里便是最大似然估计的结果。

上述最大似然估计有一个问题,就是没有考虑到模型本身的概率分布,下面我们扩展这个饼干的问题。

假设拿到袋子1或5的机率都是0.1,拿到2或4的机率都是0.2,拿到3的机率是0.4,那同样上述问题的答案呢?这个时候就变MAP了。我们根据公式

  

写出我们的MAP函数。

  

根据题意的描述可知,p的取值分别为0,25%,50%,75%,1,g的取值分别为0.1,0.2,0.4,0.2,0.1.分别计算出MAP函数的结果为:0,0.0125,0.125,0.28125,0.1.由上可知,通过MAP估计可得结果是从第四个袋子中取得的最高。

  上述都是离散的变量,那么连续的变量呢?假设为独立同分布的,μ有一个先验的概率分布为。那么我们想根据来找到μ的最大后验概率。根据前面的描述,写出MAP函数为:

  

  此时我们在两边取对数可知。所求上式的最大值可以等同于求

  

  的最小值。求导可得所求的μ为

  

  以上便是对于连续变量的MAP求解的过程。

在MAP中我们应注意的是:

MAP与MLE最大区别是MAP中加入了模型参数本身的概率分布,或者说。MLE中认为模型参数本身的概率的是均匀的,即该概率为一个固定值。

最大后验概率估计算法(简单,通俗易懂)相关推荐

  1. 最大后验概率估计算法

    原作者未知 最大后验估计是根据经验数据获得对难以观察的量的点估计.与最大似然估计类似,但是最大的不同时,最大后验估计的融入了要估计量的先验分布在其中.故最大后验估计可以看做规则化的最大似然估计. 首先 ...

  2. envi最大似然分类_闲谈最大后验概率估计(MAP estimate)amp;极大似然估计(MLE)和机器学习中的误差分类...

    上一篇文章中提到了一个有趣的实验,简单来说就是1-100中有若干个数字是"正确的",只告诉其中一部分"正确的"数字,去猜全部"正确的"数字. ...

  3. 几种经典非线性滤波算法简单概括(EKF,UKF,CKF,PF)

    几种经典非线性滤波算法概括(EKF,UKF,CKF,PF) 上一篇文章阐述了Kalman滤波算法,该算法是在线性高斯下的最优滤波估计算法.但是在实际控制系统中,系统的动态过程和测量过程很多情况都是非线 ...

  4. 机器学习:算法简单梳理

    前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考 ...

  5. 【数据挖掘】十大算法之EM最大期望估计算法

    目录 1 简介 2 投硬币问题 3 EM算法过程 4 EM收敛性定理 1 简介 EM算法是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计.EM算法的迭代由两步组成:E步, ...

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

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

  7. 详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解...

    转载声明:本文为转载文章,发表于nebulaf91的csdn博客.欢迎转载,但请务必保留本信息,注明文章出处. 原文作者: nebulaf91  原文原始地址:http://blog.csdn.net ...

  8. 深度学习人体姿态估计算法综述

    https://www.infoq.cn/article/6Btg0-1crfmb7svRGa6H 人体骨架是以图形形式对一个人的方位所进行的描述.本质上,骨架是一组坐标点,可以连接起来以描述该人的位 ...

  9. 基于倒谱法、自相关法、短时幅度差法的基音频率估计算法(MATLAB及验证)

    基音频率检测 一.概念 何为基音周期?人在发音时,根据声带是否振动可以将语音信号分为清音和浊音两种.浊音携带大量的能量,因此又被称为有声语音,其在时域上有明显的周期性.而清音类似于白噪声,没有明显的周 ...

最新文章

  1. Tempdb数据库详细介绍
  2. Django源码分析1:创建项目和应用分析
  3. 有什么事是你当了程序员才知道的? | 每日趣闻
  4. 微博php-sdk使用教程,腾讯微博api(php-sdk)的使用
  5. 第 1 节: 1-文本自增演示HttpHandler不记忆状态
  6. UML 对象模型图阅读指南 (转)
  7. ajax.filter json过滤,$.ajax()的dataFilter方法
  8. 1.3 torch_向量/矩阵操作
  9. React绑定事件处理函数this的几种方法
  10. iPhone ARC 宏定义
  11. 在jQuery代码中,实现转跳
  12. Python >>> 基于UDP 协议的实时网络视频传输
  13. liteide 如何进行修改默认快捷键
  14. 云桌面是什么-如何选择云桌面?
  15. Python非线性拟合自定义函数参数(对标MATLAB-nlinfit函数)
  16. 制作的动图太大怎么办?如何快速将gif图片缩小?
  17. 托福口语_新航道_刘莹_task 3 task5
  18. elementUI表格合并单元格
  19. JSP学习并实现的过程--day01
  20. java编写活期储蓄帐目管理_活期储蓄账目管理系统

热门文章

  1. 删除SQL表中的某一列
  2. 命令行把java项目打成jar包
  3. 从后端到前端,JavaScript和Java有关系吗
  4. EntityUtils MapStruct BeanCopier 数据实体类转换工具 DO BO VO DTO 附视频
  5. 传递给窗口过程函数的lParam参数指针
  6. JavaScript怎么获取当前时间的年月日?
  7. Docker查看正在运行的容器创建时的命令
  8. 图解Java多线程设计模式——Java多线程基础
  9. c语言break跳出几层循环,break跳出几层循环
  10. unity气流模拟效果