MAP 是最大后验概率的缩写。后验概率指的是当有一定观测结果的情况下,对其他随机变量进行推理。假设随机变量的集合为X ,观察到的变量为 e, W = X-e , AP = P(W|e). 后验概率和联合概率是不同的两个概念。事实上,后验概率更接近推理本身的“意义”,并且被越来越多的用于诊断系统中。在医疗诊断系统中,存在包括病症,症状等许多随机变量,使用VE或者消息传递之类的推理手段确实可以获得每个随机变量的概率以及某些随机变量的联合概率(一个Scope的概率)。但实际上,如果面对某些很少出现的症状以及对应病症,联合概率密度函数并不合适,比如病人红细胞减少的概率非常小,但红细胞减少很大几率上对应“白血病”。如果求联合分布则会得到一个较小的概率值(因为得白血病的人本来就不多,加上有其他症状干扰),但是如果使用后验概率,则能排除此干扰。

1. 积化和的最大化  

  最大后验概率是一种推理手段。w = argmax P(W|e)。 W是尚未观测到的随机变量,使得此概率最大的意义是在获得某观测后,推断最可能发生了什么。这个公式把MAP变成了一个优化问题。P(X)实际上是一系列 P(scope)的乘积。在取对数的情况下,积就变成了和,对数的底是可以随意选择的。demo example 如下图所示.

  如果 PHI_k (Dk) 是链状分解的情况下,可以采用变量分离最大化的方式来求取其最大值。如图所示:

  由变量边际类比可知,还可由消息传递的方式来计算最终结果。实际上这里的最大值代替了边际。利用消息传递的方式计算最大后验概率如图所示:

  最大化执行完毕后,得到的是各个变量的“势”,以及使得“势”最大的变量组合取值。简而言之,就是一组推断的结果。

2. NP完备的MAP问题

2.1 对应问题

  对应问题是在工程中经常碰到的问题。例如多目视觉中的配准,同一个物体被不同像素观测到。那么我们关心的两个不同的像素值各是多少。这个像素值本质是随机变量,物体是观测量。该问题可以直观的表示为下图:

  

2.2 联系势能与最小割

  联系势能往往用于一种特殊的MRF中,例如 pair wise MRF(成对的马尔科夫网络)。这种网络有一个特点就是随机变量之间两两相连,随机变量(用于图像分割问题则是label,三维重构中则是深度)可以分为两个部分,第一是图的顶点,也就是图片的像素,第二是图的边,也就是两个相连像素的邻接关系(xixj)。pair wise 马尔科夫场就是这样定义变量scope的,原因不明。

  针对相邻的两个变量,可以定义Phi_(xi,xj)为联系势能,其表述如下图所示。

  其中,a+d>b+c表示相邻的两个像素应该相近。此外再利用罚函数防止边缘误判。最后通过最小割算法对连接势能进行分割则可达成图像分割的目的。

2.3 基数因子,离散因子

  因子法比较简单粗暴,直接对某种随机变量的特定组合,一般是scope的组合,定义一个因子,希望可能发生的就把因子定义的尽可能大。其中基数因子利用直接统计随机变量取值的方式,如相邻4像素均为蓝色,则label可能是天空的概率就极高。

  离散因子法是针对某些特定组合定义较高的势能,而其他组合则给较低的势能,这种势能定义方法往往用于输入判断。如果输入某个拼音组合和字典中的某个词对应,则提示改词。

2.4 凸因子

  凸因子是在一串随机变量中给出一个凸紧集的方式,本质上是强化目标的连续性。例如图像分割问题中,相邻像素的label极大可能是相同的。以此为约束可提高运算速度。

机器学习 —— 概率图模型(推理:MAP)的更多相关文章

  1. 机器学习 —— 概率图模型(Homework: MCMC)

    除了精确推理之外,我们还有非精确推理的手段来对概率图单个变量的分布进行求解.在很多情况下,概率图无法简化成团树,或者简化成团树后单个团中随机变量数目较多,会导致团树标定的效率低下.以图像分割为例,如果 ...

  2. 机器学习 —— 概率图模型(Homework: Exact Inference)

    在前三周的作业中,我构造了概率图模型并调用第三方的求解器对器进行了求解,最终获得了每个随机变量的分布(有向图),最大后验分布(双向图).本周作业的主要内容就是自行编写概率图模型的求解器.实际上,从根本 ...

  3. 机器学习 —— 概率图模型(Homework: Representation)

    前两周的作业主要是关于Factor以及有向图的构造,但是概率图模型中还有一种更强大的武器——双向图(无向图.Markov Network).与有向图不同,双向图可以描述两个var之间相互作用以及联系. ...

  4. 机器学习 —— 概率图模型(Homework: StructuredCPD)

    Week2的作业主要是关于概率图模型的构造,主要任务可以分为两个部分:1.构造CPD;2.构造Graph.对于有向图而言,在获得单个节点的CPD之后就可依据图对Combine CPD进行构造.在获得C ...

  5. 机器学习 —— 概率图模型(Homework: CRF Learning)

    概率图模型的作业越往后变得越来越有趣了.当然,难度也是指数级别的上涨啊,以至于我用了两个周末才完成秋名山神秘车牌的寻找,啊不,CRF模型的训练. 条件随机场是一种强大的PGM,其可以对各种特征进行建模 ...

  6. 机器学习 —— 概率图模型(Homework: Factors)

    Talk is cheap, I show you the code 第一章的作业主要是关于PGM的因子操作.实际上,因子是整个概率图的核心.对于有向图而言,因子对应的是CPD(条件分布):对无向图而 ...

  7. 机器学习 —— 概率图模型(学习:CRF与MRF)

    在概率图模型中,有一类很重要的模型称为条件随机场.这种模型广泛的应用于标签—样本(特征)对应问题.与MRF不同,CRF计算的是“条件概率”.故其表达式与MRF在分母上是不一样的. 如图所示,CRF只对 ...

  8. 机器学习 —— 概率图模型(CPD)

    CPD是conditional probability distribution的缩写,翻译成中文叫做 条件概率分布.在概率图中,条件概率分布是一个非常重要的概念.因为概率图研究的是随机变量之间的练习 ...

  9. 机器学习 —— 概率图模型(Homework: Structure Learning)

    概率图的学习真的要接近尾声了啊,了解的越多越发感受到它的强大.这周的作业本质上是data mining.从数据中学习PGM的结构和参数,完全使用数据驱动 —— No structure, No par ...

随机推荐

  1. 含有自增序列的表中使用truncate与delete的不同结果

    一个含有自增序列的表,使用delete跟truncate之后会有什么不同结果呢? 大概说一下,使用truncate,表中的记录全部被清除,如果向表中插入数据,那么数据的排序是从1开始的. 如果使用的是 ...

  2. range,shuffle,str_shuffle

    print_r(range(1,20)); 输出,range产生 Array( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ...

  3. Linux命令练级初级

    Linux命令练级初级 http://ke.qq.com/video/index.html?course_id=6815 ls    -a 所有文件    -l    类型,连接数,所属用户,工作组, ...

  4. c 标签

    1 . c:out  -- Like <%= ... >, but for expressions. =out.println(String) <c:out value=" ...

  5. php文字水印和php图片水印实现代码(二种加水印方法)

    文字水印 文字水印就是在图片上加上文字,主要使用gd库的imagefttext方法,并且需要字体文件.效果图如下: $dst_path = 'dst.jpg';//创建图片的实例$dst = imag ...

  6. 第一个Nodejs程序

    我的第一个Nodejs程序:Hello World var http = require("http"); http.createServer(function(request, ...

  7. ora-28002 the password will expire解决办法

    Oracle11g R2数据库提示ORA-28002: the password will expire within 5 days,是说密码过期,将Oracle密码设置成永不过期就可以了,不过并不推 ...

  8. Ext学习-基础概念,核心思想介绍

    1.目标   本阶段的目标是通过学习一些基础知识来对EXTJS有个整体的了解,知道EXTJS的基础语法,核心设计思想等等 2.内容   1.基础部分学习   2.EXTJS类系统介绍   3.EXTJ ...

  9. SQL Server性能常用语句

    查看各表的数据行数 SELECT o.name, i. ROWS FROM sysobjects o, sysindexes i WHERE o.id = i.id AND o.Xtype = ORD ...

  10. asp.net 通过ajax方式调用webmethod方法使用自定义类传参及获取返回参数

    实体类    public class User    {        public int Id { get; set; }        public string Name { get; se ...