隐马尔可夫模型和粒子滤波器(和卡尔曼滤波器)的区别

机器算法验证 机器学习 自习 隐马尔可夫模型 卡尔曼滤波器 粒子过滤器
2022-02-06 06:06:56

这是我的老问题

我想问一下是否有人知道隐马尔可夫模型(HMM)和粒子滤波器(PF)之间的区别(如果有任何区别),以及因此卡尔曼滤波器,或者在什么情况下我们使用哪种算法。我是一名学生,我必须做一个项目,但首先我必须了解一些事情。

因此,根据参考书目,两者都是状态空间模型,包括隐藏(或潜在或未观察到)状态。根据维基百科(Hidden_​​Markov_model)在 HMM 中,隐藏变量的状态空间是离散的,而观察本身可以是离散的(通常从分类分布生成)或连续的(通常从高斯分布生成)。隐马尔可夫模型也可以推广到允许连续状态空间。这种模型的例子是那些隐变量上的马尔可夫过程是一个线性动态系统,相关变量之间具有线性关系,并且所有隐变量和观察变量都服从高斯分布。在简单的情况下,例如刚刚提到的线性动力系统,精确推理是易于处理的(在这种情况下,使用卡尔曼滤波器);然而,一般来说,在具有连续潜在变量的 HMM 中进行精确推断是不可行的,必须使用近似方法,

但对我来说这有点令人困惑......简单来说,这是否意味着以下(也基于我所做的更多研究):

  • 在 HMM 中,状态空间可以是离散的,也可以是连续的。观察本身也可以是离散的或连续的。HMM 也是线性和高斯或非高斯动力系统。
  • 在 PF 中,状态空间可以是离散的或连续的。观察本身也可以是离散的或连续的。但是 PF 是一个非线性(和非高斯?)动态系统(这是它们的区别吗?)。
  • 当我们有线性高斯动态系统时,正在使用卡尔曼滤波器(在我看来也像 HMM) 。

另外我怎么知道要选择哪种算法,因为对我来说所有这些似乎都是一样的......我还发现了一篇论文(不是英文),它说 PF 虽然可以有线性数据(例如来自传感器-kinect 的原始数据识别运动),动力系统可以是非线性的。这会发生吗?它是否正确?如何?

对于手势识别,研究人员可以使用 HMM 或 PF,但他们没有解释为什么选择每种算法……有谁知道如何帮助我区分这些算法,了解它们的差异以及如何选择最佳算法?

如果我的问题太大,或者某些部分很幼稚,我很抱歉,但我没有在某个地方找到令人信服和科学的答案。非常感谢您抽出宝贵时间!

这是我的新问题(根据@conjugateprior 的帮助)

因此,通过进一步阅读,我想更新我之前评论的一些部分,并确保我对正在发生的事情有更多的了解。

  • 再次简单地说,伞是动态贝叶斯网络,其中包含HMM状态空间的模型(子类)(http://mlg.eng.cam.ac.uk/zoubin/papers/ijprai.pdf)。
  • 此外,两个模型之间的初始差异在于,在 HMM 中,隐藏状态变量是离散的,而观测值可以是离散的或连续的。在 PF 中,隐藏状态变量是连续的(实值隐藏状态向量),并且观测值具有高斯分布
  • 同样根据@conjugateprior,每个模型都有以下 3 个任务:过滤、平滑和预测。在滤波中,模型 HMM 用于离散隐藏状态变量的方法 Forward 算法,状态空间用于连续变量和线性动态系统的 Kalman 滤波器等。
  • 然而,HMM 也可以推广到允许连续状态空间
  • 通过 HMM 的这些扩展,这两个模型在概念上似乎是相同的(正如在Hidden Markov Model vs Markov Transition Model vs State-Space Model ...?中提到的那样)。

我认为我使用了更准确的术语,但对我来说一切都很模糊。谁能向我解释HMM 和状态空间模型有什么区别

因为我真的找不到适合我需要的答案..

再次感谢您!

1个回答

将模型与您想用它进行的推理区分开来会很有帮助,因为现在标准术语将两者混合在一起。

模型是您指定性质的部分:隐藏空间(离散或连续)、隐藏状态动态(线性或非线性)、观察的性质(通常是条件多项式或正态)以及连接的测量模型观察的隐藏状态。HMM 和状态空间模型就是这样两组模型规范。

对于任何此类模型,都存在三个标准任务:过滤、平滑和预测。任何时间序列文本(或实际上是谷歌)都应该让您了解它们是什么。你的问题是关于过滤的,这是一种获得a)隐藏状态的后验分布(或“最佳”估计,对于某种最好的感觉,如果你感觉不到贝叶斯)t给定完整的数据集,包括时间t,以及相关的 b) 模型下数据的概率。

在状态连续、状态动态和测量线性且所有噪声正常的情况下,卡尔曼滤波器将有效地完成这项工作。它在状态离散时的类似物是前向算法。在存在非正态性和/或非线性的情况下,我们回退到近似滤波器。有确定性近似,例如扩展或无迹卡尔曼滤波器,还有随机近似,其中最著名的是粒子滤波器。

一般的感觉似乎是,在状态或测量部分中存在不可避免的非线性或观察中存在非正态性(常见问题情况)的情况下,人们试图摆脱可能的最便宜的近似值。所以,EKF 然后 UKF 然后 PF。

关于 Unscented Kalman 滤波器的文献通常会比较一些可能比传统的扩展卡尔曼滤波器线性化效果更好的情况。

粒子过滤器具有几乎完全的通用性——任何非线性、任何分布——但根据我的经验,它需要非常仔细的调整,并且通常比其他的更笨拙。然而,在许多情况下,它是唯一的选择。

至于进一步阅读:我喜欢 Särkkä 的 Bayesian Filtering and Smoothing 的第 4-7 章,虽然它很简洁。作者制作了一个可供个人使用的在线副本。否则,大多数状态时空系列书籍将涵盖此材料。对于粒子过滤,有 Doucet 等人。关于这个话题的音量,但我想它现在已经很老了。也许其他人会指出一个更新的参考。