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

Data tell us everything

1、识别外星人

  如此强大的工具要用来做一件极其逗逼的事情:在给定肢体位姿条件下,从图形中识别外星人...显而易见,地球人只有两手两脚,外星人却有4手2脚!给定的肢体位姿以三坐标的形式出现(y,x, angle),其中x,y 代表肢体的位置,angle代表肢体的姿态。

  

  在这个问题中,最有趣的部分在于x,y,angle在空间中都是连续的,不存在明显的card。所以这个问题非常值得借鉴!

  我们用于建模的随机变量是各个关节的位姿,而每个位姿之间又包含 y x angle。可以认为这三个变量是独立的。一共有十个关节,每个关节有三个独立随机变量,故认为随机变量的总数为10x3.

2、连续随机变量的建模

2.1 高斯分布

  CPD的本质是 随机变量取值 与 随机变量取该值可能性之间的映射表。对于连续随机变量,我们可以假设高斯分布。高斯分布有 5 大优点:

  1、连续性。

  2、运算封闭性。

  3、中心极限定理:任何分布下,样本均值的分布为高斯分布。

  4、任何分布在有限空间,都可以用高斯分布较好的近似。

  5、高斯分布可以由充分统计定理进行参数训练。

  我们假设上述随机变量(关节位姿)存在一个分布,我们可以给定一个较强的假设——高斯分布。

2.2 关节识别模型

  在假设了随机变量本身的分布之后,我们需要设计识别模型以满足分类的要求。最简单的分类模型是Naive Beyes Model —— 假设各个关节之间的运动没有影响,是相互独立的。对于人体,我们可以由解剖学给出运动关联模型,以躯干为根节点,相连的肢体可认为存在 依赖关系,比如,前臂的位姿依赖于后臂的位姿(手臂位置的观测值当然会影响我们对手掌位置的推断)。但是对于外星人而言,我们并没有解剖学的先验知识,暂时把其模型假设与人相同。

  

  图中,c 代表分类变量。可取  0——地球人,1——外星人

  Naive Beyes Model    P(O1,O2,O3.....O10 |C ) = P(O1|C)*P(O2|C)*.......P(O10|C).

  解剖模型                     P(O1,O2,O3.....O10 |C ) = P(O1|C)*P(O2|O1,C).......

2.3 高斯模型的训练

  对于Naive Beyes Model,其训练问题非常简单,在给定C的情况下,每个P就只有一个 u 和 sigma,有充分统计定理可知,总体均值 = 样本均值,总体方差 = 样本方差/N。

  但是对于解剖模型,其不是单纯的高斯模型,在其 u , sigma 均与父节点有关,建模如下,此模型称为条件线性高斯模型(CLG)

  

  该模型的训练目标是估计所有的 theta(共计12个),以及sigma. 具体算法见代码。由训练集求得所有参数后,可以用之分类。精度为84%,naive beyes model 的精度为79% ,精度提升不大的原因是对外星人结构假设错误。(进一步证明了如果你不是专家,最好采用简单模型建模)。

3、图结构的训练

  由于人体的树状图结构,所以很容易用Score 算法实现,本次作业并为使用L1/2  normalization 同样取得了很好的效果。

  

  树状图结构的训练在于求解节点之间的权重,求权重就是求信息熵 Ip ,如果两个数据相关性较强,那么可以认为之间存在edges.

  

  人体结构与外星人结构如上图。

  在新的图模型条件下,识别率上升到了94%

4、总结

  很奇怪的是,我们处理的数据是坐标,可是现实中如何提取呢?请期待最后一次作业:基于PGM的人体点云分割算法!!!!!!!!! 

机器学习 —— 概率图模型(Homework: Structure Learning)的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. 机器学习 —— 概率图模型(推理:MAP)

    MAP 是最大后验概率的缩写.后验概率指的是当有一定观测结果的情况下,对其他随机变量进行推理.假设随机变量的集合为X ,观察到的变量为 e, W = X-e , AP = P(W|e). 后验概率和联 ...

随机推荐

  1. Log4j2 配置笔记(Eclipse+maven+SpringMVC)

    Log4j2相关介绍可以百度看下,这里只注重配置Log4j2 能够马上跑起来: 1.pom.xml文件中添加Log4j2的相关Maven配置信息 <!-- log4j2 --> <d ...

  2. 浅谈IT

    在没有学计算机应用技术之前我对IT的认知度几乎为零,曾经还天真的认为IT就是白领,只要做上IT行业,以后便可高枕无忧.后来阴差阳错学了这个专业.通过一年的学习,虽然学艺不精但多少对IT行业了解的一知半 ...

  3. MSDN:Code First 迁移

    来自:MSDN:Code First 迁移,完全照搬! 本演练将提供对实体框架中 Code First 迁移的概述.您可以完成整个演练,也可以跳至自己感兴趣的主题.主题如下: 启用迁移 生成并运行迁移 ...

  4. 使用css3伪元素制作时间轴并且实现鼠标选中高亮效果

    利用css3来制作时间轴的知识要点:伪元素,以及如何在伪元素上添加锚伪类 1)::before 在元素之前添加内容. 2)::after 在元素之后添加内容. 提示:亦可写成 :before :aft ...

  5. 火狐和IE之间的7个JavaScript差异

    尽管 JavaScript 历史上使用冗长而令人生厌的代码块来标的特定浏览器的时期已经结束了,但是偶尔使用一些简单的代码块和对象检测来确保一些代码在用户机器上正常工作依然是必要的. 这篇文章中,我会略 ...

  6. jQuery .tmpl() 用法

    动态请求数据来更新页面是现在非常常用的方法,比如博客评论的分页动态加载,微博的滚动加载和定时请求加载等. 这些情况下,动态请求返回的数据一般不是已拼好的 HTML 就是 JSON 或 XML,总之不在 ...

  7. Mac下使用Apache TCPMon

    Mac下使用Apache TCPMon 参考链接: TCPMon Tutorial Anyone know how to get TCPMON working on a mac? Apache TCP ...

  8. Sublime Text3激活 破解

    Sublime Text 是一个复杂的文本.代码编辑器.出色用户界面,非凡的功能和惊人的性能. Sublime Text 3 官方网站 http://www.sublimetext.com/ 点击菜单 ...

  9. linux gcc loudong

    五事九思 (大连Linux主机维护) 大连linux维护qq群:287800525 首页 日志 相册 音乐 收藏 博友 关于我     日志       spcark_0.0.3_i386.src.t ...

  10. C#&Java重学笔记(集合比较和转换)

    C#部分: 1.C#中集合有三种,数组类,ArrayList,和字典键值对类,一般也可以自定义集合,但是自定义集合的类型也只有这三类. 2.自定义集合实现三类集合的方法:前两者需要继承Collecti ...