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 ...
随机推荐
- (二)Lua脚本语言入门(关于函数)
上一篇文章忘了插入代码了,方便粘贴复制...... 函数 对于c语言就是 void aa()//c语言是用void { print("这是一个函数") } Lua就变成了 func ...
- Ubuntu忘记密码的解决办法
ubuntu忘记root密码怎么办?如果普通用户忘记了怎么办 第一种方法: 无论你是否申请了root帐号,或是普通账号密码忘记了都没有问题的! 1.重启ubuntu,随即长按shift进入grub菜单 ...
- debian系统下改语言设置
debian系统下改语言设置 安装debian 的时候选择了中文zh_CN_UTF-8,然后进系统后想换成en_US_UTF-8 可以使用一下命令选择:找到需要的语言 确定即可 dpkg-reconf ...
- 使用nginx很卡之strace命令
一.strace命令常用参数 strace -tt -T -v -f -e trace= -p -tt 在每行输出的前面,显示毫秒级别的时间 -T 显示每次系统调用所花费的时间 -v 对于某些相关调用 ...
- 不再迷惑,无值和NULL值
在关系型数据库的世界中,无值和NULL值的区别是什么?一直被这个问题困扰着,甚至在写TSQL脚本时,战战兢兢,如履薄冰,害怕因为自己的一知半解,挖了坑,贻害后来人,于是,本着上下求索,不达通幽不罢休的 ...
- C# Language Specification 5.0 (翻译)第一章 引言
C#(念作 See Sharp)是一种简单.现代.面向对象并且类型安全的编程语言.C# 源于 C 语言家族,因此 C.C++ 和 Java 工程师们能迅速上手.ECMA 国际[1](ECMA Inte ...
- TICTOC: Header Only C++ Timer
感觉最近的更新频率略高啊-哈哈- 这次的带来的是一个十分简单便利的C++计时库. 项目地址:https://github.com/miaoerduo/tictoc 欢迎Start和提MR. 项目中有详 ...
- Error:Could not find common.jar (android.arch.core:common:1.0.0)
Error:Could not find common.jar (android.arch.core:common:1.0.0). Searched in the following location ...
- OPPO A7X 刷机小结
OPPO A7X 刷机小结: 概述:根据网上找到的教程(MTK模式刷机教程),没有成功.在QQ上询问一位提供刷机服务的大神,说是只有老版本才能刷. 操作步骤: 刷机工具: MediaTek SP Fl ...
- Accer 4752G添加固态硬盘 双系统
(此文一直在草稿箱里躺了一年,略作修改后发布~) 背景:电脑是2011年年末买的,用到现在也已经5年多了,好在没坏过什么硬件,有过2年疯狂打LOL的经历,之后电脑就打不动了,FPS始终上不去,启动游戏 ...