概率图的学习真的要接近尾声了啊,了解的越多越发感受到它的强大。这周的作业本质上是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. Github的使用以及Git的简单入门 - 课程作业三

    GitHub创建项目 登录GitHub,在个人主页创建项目(repository) 创建后会生成2个文件,README.md和.gitignore.如图 创建本地仓库 如果是第一次使用git的话,需要 ...

  2. 向Array中添加插入排序

    插入排序思路 从第二个元素开始和它前面的元素进行比较,如果比前面的元素小,那么前面的元素向后移动,否则就将此元素插入到相应的位置. 插入排序实现 Function.prototype.method = ...

  3. transitionend 事件的兼容

    google :webkitTransitionEnd firefox :transitionend ie       : MSTransitionEnd

  4. 标准SQL

    1. SQL语句对大小写不敏感! 2. 查询和更新指令构成了 SQL 的 DML 部分: SELECT - 从数据库表中获取数据 UPDATE - 更新数据库表中的数据 DELETE - 从数据库表中 ...

  5. 引入代码后,在@override报错

    最近引入了spring的源码到工程里,发现凡是@override修饰的代码都会报错 这里有java历史的原因 5及以前不支持@override的注解,所以,此时,你最需要知道的是当前项目djk的编译版 ...

  6. Android系统软件卸载方法

    最简单直接的卸载方式当然是用Re文件浏览器进系统软件目录删除即可,其次是用LBE等工具卸载系统软件.不过发现系统软件卸载后还会有桌面图标,怎么都干不掉,真是匪夷所思啊!简直就打不死的小强 系统软件装在 ...

  7. lua与 object-C 通信

    IOS中如何调用LUA,以及LUA如何调用IOS中的功能 下面将讲解一下如何在iOS里调用Lua函数,以及Lua函数如何调用iOS本地函数. 转载请注明出处.原文出处 http://www.cnblo ...

  8. Load hlsl

    这个函数和sample差不多 不过没有samplestate和filter http://msdn.microsoft.com/zh-cn/library/windows/desktop/bb5096 ...

  9. uialertview 改变文字显示位置

    - (void)willPresentAlertView:(UIAlertView *)alertView{ UIView * view = [alertView.subviews objectAtI ...

  10. POJ 1548 Robots (Dilworth)

    Robots Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 3621 Accepted: 1643 Description Yo ...