机器学习 —— 概率图模型(Homework: Structure Learning)
概率图的学习真的要接近尾声了啊,了解的越多越发感受到它的强大。这周的作业本质上是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)的更多相关文章
- 机器学习 —— 概率图模型(Homework: CRF Learning)
概率图模型的作业越往后变得越来越有趣了.当然,难度也是指数级别的上涨啊,以至于我用了两个周末才完成秋名山神秘车牌的寻找,啊不,CRF模型的训练. 条件随机场是一种强大的PGM,其可以对各种特征进行建模 ...
- 机器学习 —— 概率图模型(Homework: Exact Inference)
在前三周的作业中,我构造了概率图模型并调用第三方的求解器对器进行了求解,最终获得了每个随机变量的分布(有向图),最大后验分布(双向图).本周作业的主要内容就是自行编写概率图模型的求解器.实际上,从根本 ...
- 机器学习 —— 概率图模型(Homework: MCMC)
除了精确推理之外,我们还有非精确推理的手段来对概率图单个变量的分布进行求解.在很多情况下,概率图无法简化成团树,或者简化成团树后单个团中随机变量数目较多,会导致团树标定的效率低下.以图像分割为例,如果 ...
- 机器学习 —— 概率图模型(Homework: StructuredCPD)
Week2的作业主要是关于概率图模型的构造,主要任务可以分为两个部分:1.构造CPD;2.构造Graph.对于有向图而言,在获得单个节点的CPD之后就可依据图对Combine CPD进行构造.在获得C ...
- 机器学习 —— 概率图模型(Homework: Factors)
Talk is cheap, I show you the code 第一章的作业主要是关于PGM的因子操作.实际上,因子是整个概率图的核心.对于有向图而言,因子对应的是CPD(条件分布):对无向图而 ...
- 机器学习 —— 概率图模型(Homework: Representation)
前两周的作业主要是关于Factor以及有向图的构造,但是概率图模型中还有一种更强大的武器——双向图(无向图.Markov Network).与有向图不同,双向图可以描述两个var之间相互作用以及联系. ...
- 机器学习 —— 概率图模型(学习:CRF与MRF)
在概率图模型中,有一类很重要的模型称为条件随机场.这种模型广泛的应用于标签—样本(特征)对应问题.与MRF不同,CRF计算的是“条件概率”.故其表达式与MRF在分母上是不一样的. 如图所示,CRF只对 ...
- 机器学习 —— 概率图模型(CPD)
CPD是conditional probability distribution的缩写,翻译成中文叫做 条件概率分布.在概率图中,条件概率分布是一个非常重要的概念.因为概率图研究的是随机变量之间的练习 ...
- 机器学习 —— 概率图模型(推理:MAP)
MAP 是最大后验概率的缩写.后验概率指的是当有一定观测结果的情况下,对其他随机变量进行推理.假设随机变量的集合为X ,观察到的变量为 e, W = X-e , AP = P(W|e). 后验概率和联 ...
随机推荐
- 【扩展】Canvas绘制列表的尝试
传送:http://www.alloyteam.com/2015/10/canvas-attempts-to-draw-list/ 来自:on 2015年10月30日 by TAT.Cson view ...
- 2015最新百度搜索引擎(seo优化)排名算法
多少年来,对于弄清百度排名算法成为了一代又一代站长的最高目标.随着百度推出了搜索引擎网页质量**,直接揭开了神秘的百度排名算法,这是作为站长福音啊.现在小编就来为大家介绍一下. 首先想要得到直接需要的 ...
- 菜鸟搭建Android环境~~~~绝对靠谱
因为要测试移动设备.搭建了一下Android环境 这是菜鸟级别的安装 因为sdk版本,eclipse版本,adt版本各自有版本要求,所以我选择都去官网下载新版本,这样总不会出现版本兼容性问题了吧~~ ...
- JavaScript的DOM操作(1)
1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对象是指文档中每个元素:模型是指抽象化的东西. 2.Window对象操作 一.属性和方法: 属性(值或者子对象): op ...
- angular 嵌套实现树结构 ng-repeat ng-include
效果图 ang.html <!doctype html><html lang="en"><head> <meta charset=& ...
- Codeforces Round #281 (Div. 2)
题目链接:http://codeforces.com/contest/493 A. Vasya and Football Vasya has started watching football gam ...
- API文档管理工具-数据库表结构思考.
API文档管理工具-数据库表结构思考. PS: 管理工具只是为了方便自己记录API的一些基本信息,方便不同的开发人员 (App Developer, Restful API Developer)之间的 ...
- 4-Highcharts曲线图之时间轴折线图
鼠标按住左键 左右移动可以试试<!DOCTYPE> <html lang='en'> <head> <title>4-Highcharts曲线图之时间轴 ...
- NDK: unable to watch local variables after using GCC4.8
the problem definitly apears after changing toolchain from gcc 4.6 to gcc 4.8. here's a solution wit ...
- YTKNetwork
YTKNetwork 是猿题库 iOS 研发团队基于 AFNetworking 封装的 iOS 网络库,其实现了一套 High Level 的 API,提供了更高层次的网络访问抽象. YTKNetwo ...