pgm12
作为 inference 部分的小结,我们这里对 machine learning 里面常见的三个 model 的 inference 问题进行整理,当然很幸运的是他们都存在 tractable 的算法是的我们避免了烦人的 approximate inference。
HMM
常意所说的 HMM 是对离散状态、离散观测情形下的一种 generative model,它包括
- 状态的先验分布
(在下面的推导中我们可以将其藏在转移概率中)
- 转移状态
,这是对
的分布
- 发射概率
,这是对
的分布
这个模型的潜台词是
- Markovian property:
- time-invariance:
因此联合分布的概率为
其中 故可省略。下面我们分别讨论这上面的 message passing、belief update 和一些常见的 inference 问题。
message passing 需要建立一个 cluster graph,当然实际也是一个 clique tree,这个图上的顶点包括 ,这是将
、
和
绑在一起,
;则每个对应的
。于是可以计算前向的消息,
其中 ,后向消息为
其中 。如果仔细分析一下这些消息,我们就会发现,前向消息其实是边际分布
我们可以继续代入后面的消息里面,
如果观测是给定的,即 已知,这获得的将是
。对后向消息而言,
代入后面的消息有
都是常数。如果 是已知的,这将获得
。
对于 MAP 类型的 query,我们需要使用 max-product 算法,此时的前向消息为()
且
后向消息为
且
对 belief update 来说,belief 是 上的边际分布
而对应的 belief update 为
类似可以导出 MAP 类型下的形式。这样,对于 filtering 来说 可以将前向消息归一化,而 prediction 使用的概率
是归一化后的值。smoothing 需要求 ,本质上就是
,这直接使用 MAP 类型两种 message 就能给出两种算法。
LDS
LDS 和 HMM 具有类似的图结构,但是对应的状态和观测均为连续分布,因而常使用 Gaussian 建模。
其中,
另一种描述这种关系的形式是使用 additive noise,
使用的 clique tree 与前面一致,前向消息为
且
其中 and
,后向消息也均为 1。对 MAP 类型的 query,前向消息为
关于 的优化问题是
其解为
这是 的线性函数,因此大致的求解过程是,从
的二次方程中解出
得到一个使用
的线性函数表示的关系,代入后得到
的消息,这仍然是一个二次函数,向后代入即可。最后获得的
的方程解出
后进行回代就解出了其他的隐变量。
beliefs 为
且
类似有对应 belief。
对 filtering 问题,给定 后计算
可使用前向消息,
其中,
且
其中
令 且
则以上计算可用统一的形式表述。
对 prediction 问题,给定 ,
可使用 filtering 的结果计算
MEMM
我们直接对 使用 ME 建模,但是为了引入上下文关系,我们可以将这个 ME 弄成多个
,这也就是说前面一个状态决定了后面使用的 ME 的参数。这样似然函数为
这里的假定有,
- Markovian 性:
,
- ME 假定:
我们使用与 HMM 一致的 cluster graph,前向消息为
后向消息为
max-product message passing 仅仅需要将求和换成 max。belief propagation 中 belief 为
且 belief update 为
其 filtering、prediction 和 smoothing 算法与 HMM 完全一样。
CRF
其假设为
- Markovian 性,与 MEMM 类似;
- invariant factor:对每个 transition,我们引入一个 log-linear 表示,
,其中
是所谓的 feature;
类似前面可以定义消息、belief 等。如果需要计算 log-likelihood,我们需要求 partition function 的函数值,这需要使用前向消息
就能避免指数求和项,而计算梯度的时候,
其中后者需要 ,这正是 belief。
——————
And Sarah saw the son of Hagar the Egyptian, which she had born to Abraham, mocking.
pgm12的更多相关文章
随机推荐
- ASP 基础一 基本语法
一 声明变量 二 给变量赋值 三 循环 四 case <html> <head title="test hello world"> </head> ...
- ubuntu 用remastersys 备份系统并且安装
sudo add-apt-repository ppa:mutse-young/remastersys 2.更新系统软件源 sudo apt-get update 3.更新完了,先安装remaster ...
- ubuntu和windows系统双系统的开机选项界面有很多无关选项
我的电脑是双系统,在进入系统选项的时候有很多无关的选项, 例如: 解决的方法是在终端输入 sudo gedit /boot/grub/grub.cfg 把文件多余的开机选项删除例如: 保存就可以,开机 ...
- Omi框架学习之旅 - 组件通讯(group-data通讯) 及原理说明
childrenData的方式可以批量传递数据给组件,但是有很多场景下data的来源不一定非要都从childrenData来, childrenData是个数组,会和组件的顺序一一对应,这就给不同传递 ...
- "system:serviceaccount:rook-ceph-system:rook-ceph-system" cannot get pods/log in the namespace "rook-ceph"
1.kubectl logs -f rook-ceph-operator-86776bbc44-cv5hs -n rook-ceph-system 日志:E | op-cluster: unk ...
- 5-(基础入门篇)学会刷Wi-Fi模块固件(刷LUA版本固件)
http://www.cnblogs.com/yangfengwu/p/9065559.html 基础教程源码链接请在淘宝介绍中下载,由于链接很容易失效,如果失效请联系卖家,谢谢 https://it ...
- Luogu3220 HNOI2012 与非 数位DP
传送门 题意:给出$N$个范围在$[0,2^k-1]$的整数,定义位运算$NAND$为位运算$AND$的逆运算,求$[L,R]$中有多少数能成为若干个前面给出的整数.若干括号和$NAND$运算组成的表 ...
- AutoMapper自动映射
十年河东,十年河西,莫欺少年穷. 学无止境,精益求精. 不扯犊子,直接进入正题: AutoMapper自动映射常用于EF中,能很好的解决DTO和Model之间相互映射的问题.在未使用AutoMappe ...
- FreeRTOS 任务与调度器(1)
前言: Task.c和Task.h文件内是FreeRTOS的核心内容,所有任务和调度器相关的API函数都在这个文件中,它包括下图这些内容FreeRTOS文件如下: Task.c和Task.h文件内是F ...
- RabbitMQ 延时消息设计
问题背景 所谓"延时消息"是指当消息被发送以后,并不想让消费者立即拿到消息,而是等待指定时间后,消费者才拿到这个消息进行消费. 场景一:客户A在十二点下了一个订单,我想半个小时后来 ...