Chap4 Dynamic Bayesian Networks

2019/05/27

HMM 是 generative model,生成式模型。HMM 有两种 inference 问题,和一个 learning 问题。

Inference 1: ,已知模型和观察序列,推测该模型得到该观测序列的概率。基本的想法是由联合分布 , 积掉 Y,得到 用分解定理分解为由项组成的连乘公式。积掉 可以从两个方向积,一个是从前往后积(Forward),一个是从后往前积(Backward),所以有了 Forward/Backward Algorithm

Inference 2: 已知模型和观测序列, 推出该序列对应的 hidden label Y。这个问题其实就是使用 HMM 模型时的 decode 解码过程,使用了 Viterbi Algorithm,是动态规划算法,注意和 beam search 做区分。因为 HMM 当前状态只依赖于上个状态,所以可以由上个状态得到当前状态的最优解,适合动态规划。forward phase和 Inference 1 相似,只是把 上个时刻所有可能状态之和 替换为 上个状态到当前状态最大概率的值,并且记录下到当前状态所经过的上个状态值。backward phase 是由 forward phase 求出的最后一个时刻的最优状态,根据 forward phase中产生的状态记录,回溯,得到最优状态序列 Y

Learning: 模型参数未知, 从观测序列 X 学习得到。学习的过程是用了 Baum-Welch algorithm。和 EM 过程一样(迭代 inference 和 re-estimate 过程),先填充未知的参数,做 inference 得到 hidden variable 的值(注意,这边的 inference 不是和前面一样,用的是 Gibbs Sampling 的方法),然后再重新估计参数。重复上述过程直到收敛。

Stochastic Process and Markov property

Markov property 也可以说是 Memoryless property。

给变量增加时间维度

  • Markov assumption: , 当前时刻只由上个时刻决定

  • 分布式稳态的(stationary),时不变的(time invariant), 同质的(homogeneous)

Dynamic Bayesian Networks

Dynamic Bayesian Networks for Time Invariant Process/System

时不变过程/系统的动态贝叶斯网络

通常时不变系统的参数是不会随着时间改变的

image-20190527140619382

image-20190527140716298

在每个时间片的参数:

  • 内部state variables的参数
  • state variables 和 observation variables 之间的 emission/observation parameters

transition parameters between two consecutive time slices

Hidden Markov Models(HMMs)

State-Observation Models

如果 hidden variables 可以离散化为若干状态,那么 HMM 可以表示为 State-Observation Models.

  • State-State Transmission Matrix T(n, n):
  • State-Observation Emission Matrix E(m, n):

A Few Examples of HMM Representations

  1. Stock Market Index
  2. Chromatin States

Calculations for HMMs

Formal Model Representation

模型参数: 隐状态有 N 个值,观测变量有 K 个取值

观测序列 基本思想是:

通过分解定律:

所以可以通过不断消掉来解决这个模型

Problem1(Inference): $P(X|\theta)$ , 已知模型$\theta$和观察序列$X$,推测该模型得到该观测序列的概率

基本思路就是, 从 XY 的联合分布,将 Y 积掉,得到观测序列 X 的概率。而 P(XY)可以根据 HMM 分解:

或者

所以可以从两个方向去吧 消除,一个是从前往后(Forward alogrithm),如上述式子 1,一个是从后往前(Backward algorithm),如上述式子 2

这里的, 所以不断迭代的过程其实就是在P(XY)的连乘式子上不断添加项,并且做消元,下面另一个方向也是同理。

Problem2(Inference): $\mathop{\arg \max}_Y P(X, Y|\theta)$ 已知模型$\theta$和观测序列$X$, 推出该序列对应的 hidden label Y

这一步就是求 HMM 中最有可能的状态序列(即概率最大的状态序列 Y)

使用 Viterbi algorithm,这是一个动态规划算法。由于 HMM 的 Markov 性质,当前状态只依赖于上个状态,所以只从上个状态就能推断出当前状态的最优值。

对于 ,有点类似于 inference 1 中的 ,只不过是 只需要得到最大可能转移值,而不像 将所有转移路径的可能都相加了。非常重要的是,用记录下了 t 时刻转移到状态 i时是由上个时刻的状态转移过来的。当forward phase 走到最后,可以得到最后时刻的最优状态 。进入到 backward phase,可以直接从最后一个状态得到上个状态,依次递推出整个状态序列,结束 backward phase。

Problem3(Learning): $\mathop{\arg \max}_{\theta} P(X|\theta)$ 模型参数$\theta$未知, 从观测序列 X 学习得到

使用 Baum-Welch algorithm ,也就是 EM。

  1. 先初始化参数
  2. 做 inference(用 Gibbs sampling),推出 hidden values
  3. 重新估计新的参数
  4. 进行 2 和 3 的迭代,直到收敛

Gibbs sampling is a Markov chain Monte Carlo(MCMC) algorithm for obtaining a sequence of random samples from multivariate probability distribution.

使用 Gibbs sampling 来得到隐变量的概率,其实最后只需要保留和 相关的项,即的 Markov blanket,然后他们的条件概率相乘就行。然后用采样出来的样本,重新估计新的参数 T 和 E

时刻 t 隐状态为 i 的概率:

状态为 i 的期望:

从状态 i 转移到状态 j 的期望:

Generate Simulated Data Using HMMs

MCMC 的一个经典用法是可以近似一个 target distribution。

Extended Models

Factorial HMMs

Hierarchical HMMs

Bayesian HMMs

Max Entropy Markov Models——MEMM

这个模型是结合了 HMM 和 Maximum Entropy。和 HMM 的区别是把从状态到观测值的方向掉了个头,是从观测值来推出隐状态。所以是一个 discriminative model。

Post Directory