MAP:最大后验概率(Maximum a posteriori)

估计方法根据经验数据获得对难以观察的量的点估计。它与最大似然估计中的 Fisher方法有密切关系,

但是它使用了一个增大的优化目标,这种方法将被估计量的先验分布融合到其中。所以最大后验估计可以看作是规则化(regularization)的最大似然估计


【转载自】最大后验估计(MAP) - 可乐LL - 博客园 https://www.cnblogs.com/liliu/archive/2010/11/24/1886110.html

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

首先,我们回顾上篇文章中的最大似然估计,假设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函数为:

  

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

  

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

  

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

在MAP中我们应注意的是:

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

【SR】MAP的更多相关文章

  1. 【Java】Map杂谈,hashcode()、equals()、HashMap、TreeMap、LinkedHashMap、ConcurrentHashMap

    参考的优秀文章: <Java编程思想>第四版 <Effective Java>第二版 Map接口是映射表的结构,维护键对象与值对象的对应关系,称键值对. > hashco ...

  2. 【STL】-Map/Multimap的用法

    初始化: map<string,double> salaries; 算法: 1. 赋值.salaries[ "Pat" ] = 75000.00; 2. 无效的索引将自 ...

  3. 【算法】map的应用

    map使用参考链接http://www.cnblogs.com/KID-XiaoYuan/articles/7297709.html 题目 在ACM比赛中,你每解决一道题,你就可以获得一个气球,不同颜 ...

  4. 【转】Map 与 Unordered_map

    map和unordered_map的差别和使用 map和unordered_map的差别还不知道或者搞不清unordered_map和map是什么的,请见:http://blog.csdn.net/b ...

  5. 【python】map list for 运行时长测试

    import time,sys reps=1000 size=10000 def tester(func,*args): starttime=time.time() for i in range(re ...

  6. 【SR】正则化

    MAP框架:

  7. 【SR】正则化超分辨率复原

    正则化超分辨率图像重建算法研究--中国科学技术大学 硕士学位论文--路庆春 最大后验概率(MAP)的含义就是在低分辨率图像序列已知的前提下,使高分辨率图像出现的概率达到最大.

  8. 【Java】Map转换器

    描述: 在控制层接收参数时候, 往往会出现Json格式需要转换为Bean. 通常一两个字段可以用new去save pojo, 但字段多的情况呢? 以下就是为了解决这个尴尬情况,  自己写一个转换工具类 ...

  9. 【转】Map/Reduce简介

    转自:http://blog.csdn.net/opennaive/article/details/7514146 1. MapReduce是干啥的 因为没找到谷歌的示意图,所以我想借用一张Hadoo ...

随机推荐

  1. 【FinancialKnowledge】拨备

    一句话: 银行拨备就是银行贷款损失减值准备的俗称,其相当于为承担风险和损失的金融资产计提的准备金 通俗易懂的解释见:https://wallstreetcn.com/articles/3307725

  2. python--文件处理范例

    import os,os.path,string dir="D:\\curl\\data" if (os.path.exists(dir)==False): print " ...

  3. Android给TextView设置透明背景、圆角边框

    第一种方法:在drawable文件夹下新建一个文件设置背景样式 代码: 在drawable文件夹下面新建text_view_border.xml <?xml version="1.0& ...

  4. PHP之AOP思想

    故事背景: 问题: 在传统的OOP(面向对象编程:Object-Oriented Programming)思想里,一般把应用程序分解成若干个的对象,强调高内聚,弱耦合,从而提高应用程序的模块化程度,但 ...

  5. JUC组件扩展(二)-JAVA并行框架Fork/Join(四):监控Fork/Join池

    Fork/Join 框架是为了解决可以使用 divide 和 conquer 技术,使用 fork() 和 join() 操作把任务分成小块的问题而设计的.主要实现这个行为的是 ForkJoinPoo ...

  6. Zynq GPIO 中断

    /* * Copyright (c) 2009-2012 Xilinx, Inc. All rights reserved. * * Xilinx, Inc. * XILINX IS PROVIDIN ...

  7. FPGA学习(第8节)-Verilog设计电路的时序要点及时序仿真

    一个电路能跑到多少M的时钟呢? 这和电路的设计有密切联系(组合逻辑的延时),我们知道电路器件都是由一定延迟的,所以信号的仿真很重要.如果延迟时间大于时钟,就会导致时序违例,出现逻辑错误. 项目要求30 ...

  8. JS高程3:DOM-DOM操作技术

    动态脚本 加载外部脚本 方式一,直接写代码: var script = document.createElement("script"); script.type = " ...

  9. Oracle配置客户端

    一.引言 当我们需要连接远程的Oracle数据库服务器时,就需要在自己的机器上安装Oracle客户端了. 二.安装步骤与配置 参考:http://blog.csdn.net/luiseradl/art ...

  10. ORACLE建立物化视图

    --使用 on commit 的方式建立物化视图 create materialized view emp_dept refresh on commit as select t.*,d.dname f ...