pgm3
这部分主要讨论了一些概念性的东西。一个是常用的 local probabilistic models,一个是如何用 template-based representation。
这部分主要是一些概念,特别是对 BN 在某些特殊场所下 d-sep 概念的推广。
这里需要区分一点的是 context 与“给定某个随机变量”的细微差别,context 指某些变量的具体赋值,比如 ,而给定仅仅表明
的值我们知道,至于是 0 还是 1 天知道。从某个角度来说如果对任意的
赋值,我们都有同一个 context-specific CPD,那就等价于原先的 CPD 了。
另外一点是 causal relationship 对设计网络的好处在于,如果 BN 反应了因果关系,那么得到的网络往往具有较多的独立性,也就意味着我们有更少的边,更简单的模型,更少的参数,等等。否则就会导致模型变得复杂起来。
这部分主要介绍了使用 template 简化表示的形式,并讨论了使用 PGM 描述问题上的一些局限性。
这部分主要搞清楚 plate model,当然有一些特殊的例子(比如做时序模型,一般就会用 2-slice BN),这里为了把整个逻辑 formulate 得更加数学化(形式化,精确化),书里面用了不少符号看起来比较累。其实就是说原先的图上的顶点表示随机变量,但现在就对应的是一类随机变量了,那怎么办呢,没关系,我们称之为 template variable/attribute,并且定义了所谓的 object skeleton 这个所有可能的范围。这时 plate 里面画的“变量”其实代表了这个 template variable 的 index,而如果处于几个 plate 里面相当于有几个 index。但是 plate 这种搞法就出现了一个问题,由于是“cross product”意味着任意乘积空间里面的随机变量组合都是“合法”的,在某些情况这就会引入很多不必要的“边”。因此我们需要从这里面取子集出来,这每个子集就是我们常说的“关系”,通过所谓的 guard 定义的 contingent dependency 就是为了把符合关系的边加上而去掉不符合关系的边。
对于无向图模型,在 Gibbs distribution 下我们常用的 feature 也会被推广到 template feature 上:feature 是 r.v.s 的函数,而这里就是 template variables 的函数了。
来自 video 上的一些补充
有的内容还是听课稍微清楚一些,不过课程上面也有书上不少东西没有被 cover 到。
一个比较是关于什么时候使用 shared parameter 什么时候使用 specific 的 parameter。特别是用了 template-based representation 之后,我们很容易想到某些地方的参数可以 share,某些时候我们需要做额外的假定,比如 HMM 之类里面通过一阶 Markov 性简化到前后状态的转移后,我们很容易想到使用 plate 来简化这个图模型,这就导致我们想到使用 shared transition matrix 和 emission probability,这意味着 time-invariant assumption。
另外有一些前面的知识和概念上的补充。比如 minimal I-map 和 perfect I-map:前者只要求没有多余的边,往往不能很好的刻画给定的 independency set/给定的分布(存在更多边的图,这样 independency assertions 变少了,但是仍然 compatible to 给定的 independency assertions);而某些 independence set 又没有 perfect I-map(参考 MRF 和 BN 存在的表达上的差异那块)。
video 上至此 representation 上的内容就结束了。
——————
But Abimelech had not come near her: and he said, LORD, will you slay also a righteous nation?
pgm3的更多相关文章
- sqoop安装与使用
sqoop简介 sqoop名字是怎么来的?Sqoop: SQL-to-Hadoop 连接传统数据库和hadoop的桥梁,把关系型数据库的数据导入到hadoop系统(如HDFS,HBASE和hive中) ...
- [小北De编程手记] : Lesson 02 - Selenium For C# 之 核心对象
从这一篇开始,开始正式的介绍Selenium 以及相关的组件,本文的将讨论如下问题: Selenium基本的概念以及在企业化测试框架中的位置 Selenium核心对象(浏览器驱动) Web Drive ...
- 《Scala入坑笔记》缘起 3天就搞了一个 hello world
有小伙伴向我咨询 play framework 的问题,我就想了解一下 play framework ,按照官方的文档,要使用 SBT 安装,就掉进了 SBT 的坑. 第一坑:国外仓库太慢 安装完成后 ...
- Centos 7.0_64bit 下安装 Zabbix server 3.0服务器的安装
一.关闭selinux 修改配置文件/ etc / selinux / config,将SELINU置为禁用(disabled) vim /etc/selinux/config # This ...
随机推荐
- Feeling_2018_5_21
“像我们这种普通的家庭,爸爸妈妈年纪大了有时候需要我们.” 或许真正的长大,不是去了多少地方,走了多少路,爱了多少人,赚了多少钱,而是你能以多大的努力为你的亲人.家庭负责任.如果你现在觉得自己过得很轻 ...
- 【LeetCode234】Palindrome Linked List★
题目描述: 解题思路: 判断一个单向链表是否是回文链表,并且要求O(n)的时间复杂度和O(1)的空间复杂度. 方法有以下几种: 1.遍历整个链表,将链表每个节点的值记录在数组中,再判断数组是不是一个回 ...
- 线程池原理及python实现
为什么需要线程池 目前的大多数网络服务器,包括Web服务器.Email服务器以及数据库服务器等都具有一个共同点,就是单位时间内必须处理数目巨大的连接请求,但处理时间却相对较短. 传统多线程方案中我们采 ...
- 一条insert语句插入数据库
CREATE TABLE test_main ( id INT NOT NULL, value VARCHAR(10), PRIMARY KEY(id) ); oracle插入方式:INSERT IN ...
- Spark(Python) 从内存中建立 RDD 的例子
Spark(Python) 从内存中建立 RDD 的例子: myData = ["Alice","Carlos","Frank"," ...
- [Oracle]如果误删了某个数据文件,又没有被备份,能否恢复?
如果你有从这个数据文件创建之前,直到现在的,所有的ArchiveLog 和 Online REDO,是有可能进行恢复的. 执行: RMAN> restore datafile <filei ...
- 一段程序的分析——C++析构器,何时析构
最近在看小甲鱼的视频,有段程序是这么写的: #include <iostream> #include <string> class Pet { public: Pet(std: ...
- TMS320VC5509的MCBSP配置成SPI模式通信
1. 首先是把MCBSP的配置 其次是时钟停止模式的配置,关闭大同小异 SPI有4中模式,怎么根据上面的寄存器选择哪种模式?下面展示了其中两种,CLKXP=1的时候有另外两种,暂时不整出来了 2. 代 ...
- Linux每天一个命令:iperf
iperf命令 Iperf 是一个网络性能测试工具.Iperf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽.延迟抖动和数据包丢失.下载地址:https: ...
- 解决 配置springmvc拦截所有请求后请求静态资源404的问题
<servlet-mapping> <servlet-name>spring-servlet</servlet-name> <url-pattern>/ ...