(动态)贝叶斯网络和 HMM 有什么区别?

数据挖掘 贝叶斯网络 pgm
2021-09-29 01:56:26

我读过 HMM、粒子滤波器和卡尔曼滤波器是动态贝叶斯网络的特例。但是,我只知道 HMM,我看不出与动态贝叶斯网络的区别。

有人可以解释一下吗?

如果您的答案类似于以下内容,那就太好了,但对于贝叶斯网络:

隐马尔可夫模型

隐马尔可夫模型 (HMM) 是一个 5 元组 λ=(S,O,A,B,Π)

  • S:一组状态(例如“音素开始”、“音素中间”、“音素结束”)
  • O:一组可能的观察结果(音频信号)
  • AR|S|×|S|:给出概率的随机矩阵 (aij) 从国家得到 i 陈述 j.
  • BR|S|×|O|:给出概率的随机矩阵 (bkl) 进入状态 k 观察 l.
  • ΠR|S|: 在其中一个州开始的初始分发。

它通常显示为有向图,其中每个节点对应一个状态 sS 并且转移概率在边缘上表示。

隐藏马尔可夫模型被称为“隐藏”,因为当前状态是隐藏的。算法必须从观察结果和模型本身中猜测它。它们被称为“马尔科夫”,因为对于下一个状态,只有当前状态很重要。

对于 HMM,您给出一个固定的拓扑(状态数、可能的边)。然后有3个可能的任务

  • 评估:给定一个 HMMλ, 得到观察的可能性有多大 o1,,ot (前向算法)
  • 解码:给定一个 HMMλ 和观察 o1,,ot,最可能的状态序列是什么 s1,,st (维特比算法)
  • 学习:学习A,B,Π: Baum-Welch 算法,这是期望最大化的一个特例。

贝叶斯网络

贝叶斯网络是有向无环图 (DAG) G=(X,E). 节点代表随机变量XX. 对于每一个X, 有一个概率分布取决于 X

P(X|parents(X))

似乎有(请澄清)两个任务:

  • 推理:给定一些变量,得到其他变量最可能的值。精确推理是 NP 难的。大约,您可以使用 MCMC。
  • 学习:您如何学习这些分布取决于确切的问题(来源):

    • 已知结构,完全可观察:最大似然估计 (MLE)
    • 已知结构,部分可观察:期望最大化(EM)或马尔可夫链蒙特卡罗(MCMC)
    • 未知结构,完全可观察:搜索模型空间
    • 未知结构,部分可观察:EM + 搜索模型空间

动态贝叶斯网络

我猜动态贝叶斯网络(DBN)也是有向概率图模型。可变性似乎来自随时间变化的网络。但是,在我看来,这相当于只复制同一个网络并一次连接每个节点t与每个相应的节点时间t+1. 是这样吗?

1个回答

类似的交叉验证问题遵循@jerad答案:

HMM 并不等同于 DBN,而是它们是 DBN 的一种特殊情况,其中世界的整个状态由单个隐藏状态变量表示。DBN 框架内的其他模型泛化了基本的 HMM,允许更多隐藏状态变量(参见上面的第二篇论文了解许多变体)。

最后,不,DBN 并不总是离散的。例如,线性高斯状态模型(卡尔曼滤波器)可以被认为是连续值 HMM,通常用于跟踪空间中的对象。

我建议您阅读以下两篇优秀的评论论文: