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 ...
随机推荐
- HUE配置HBase
HBase的配置 修改配置hue.ini的配置文件 [hbase] hbase_clusters=(Cluster|node1:) hbase_conf_dir=/usr/hbase-0.98.12. ...
- bitmap过大无法显示图片的问题 - z
public Bitmap ratio(Bitmap image, float pixelW, float pixelH) {Bitmap bitmap = null;try {ByteArrayOu ...
- 20155301 Web基础
20155301 Web基础 1.基础问题回答 (1)什么是表单 答: 表单是一个包含表单元素的区域. 表单元素是允许用户在表单中(比如:文本域.下拉列表.单选框.复选框等等)输入信息的元素 (2)浏 ...
- # 20155319 Exp3 免杀原理与实践
20155319 Exp3 免杀原理与实践 基础问题 (1)杀软是如何检测出恶意代码的? 基于特征码的检测 启发式的恶意软件检测 基于行为的恶意软件检测 (2)免杀是做什么? 免杀,从字面进行理解,避 ...
- 20155323刘威良《网络对抗》Exp4 恶意代码分析
20155323刘威良<网络对抗>Exp4 恶意代码分析 实践目标 1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件: ...
- WPF应用
代码 private void button1_Click(object sender, RoutedEventArgs e) { calculate sa = new calculate(int.P ...
- OpenCV学习C++接口 Mat像素遍历详解
OpenCV学习C++接口 Mat像素遍历详解
- pandas:根据行间差值进行数据合并
1. 问题描述 在处理用户上网数据时,用户的上网行为数据之间存在时间间隔,按照实际情况,若时间间隔小于阈值(next_access_time_app),则可把这几条上网行为合并为一条行为数据:若时间间 ...
- PHP调用WCF提供的方法
一.准备工作 1.安装wampserver:过程略 2.配置wampserver: 2.1打开php.ini文件,去掉 ;extension=php_soap.dll 这里那个分号. 也有说把这个 ; ...
- 开源微信Http协议Sdk【实现登录/获取好友列表/修改备注/发送消息】
基于微信Http协议封装的一个Sdk,目前实现了以下功能:. 1:扫码登录(检测二维码扫描状态) 2:获取最近联系人.群组.所有联系人 3:修改好友备注 4:给好友发送消息 暂且这么多,也没多余的时间 ...