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


21

这是我的老问题

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

因此,根据书目,这两个都是状态空间模型,包括隐藏(或潜在或不可观察)状态。根据Wikipedia(Hidden_​​Markov_model),在HMM中,隐藏变量的状态空间是离散的,而观察值本身可以是离散的(通常从分类分布生成)或连续的(通常从高斯分布生成)。隐藏的马尔可夫模型也可以泛化为允许连续的状态空间。这样的模型的例子是那些对隐变量的马尔可夫过程是线性动力学系统,在相关变量之间具有线性关系,并且所有隐变量和观测变量都遵循高斯分布的模型。在简单的情况下,例如刚才提到的线性动力系统,精确推断是很容易的(在这种情况下,使用卡尔曼滤波器);但是,通常,在具有连续潜在变量的HMM中进行精确推断是不可行的,必须使用近似方法,

但是对我而言,这有点令人困惑……简而言之,这是否意味着关注(也基于我所做的更多研究):

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

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

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

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

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

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

  • 再次简单地说,保护伞是动态贝叶斯网络,其中包含HMM状态空间模型(子类)(http://mlg.eng.cam.ac.uk/zoubin/papers/ijprai.pdf)。
  • 此外,这两个模型之间的初始差异在于,在HMM中,隐藏状态变量是离散的,而观测值可以是离散的连续的。在PF中,隐藏状态变量是连续的(实值隐藏状态向量),并且观测值具有高斯分布
  • 此外,根据@conjugateprior,每个模型都有以下3个任务:滤波,平滑和预测。在滤波中,模型HMM将离散的隐藏状态变量用于正向算法,将状态空间用于连续变量并将线性动态系统用于卡尔曼滤波器,等等。
  • 但是,HMM也可以泛化为允许连续的状态空间
  • 通过HMM的这些扩展,这两个模型在概念上似乎是相同的(正如在“ 隐马尔可夫模型”,“马尔可夫过渡模型”与“状态空间模型...”中提到的一样)。

我认为我使用的术语更加准确,但对我来说一切仍然很模糊。谁能向我解释HMM和State Space模型有什么区别

因为我真的找不到适合我需求的答案。

再次谢谢你!


1
如果您所在学校的图书馆有这本书:crcpress.com/Time-Series-Modeling-Computation-and-Inference/…,我来看一下。它很好地解释了所有三个主题,我可能会提到这三个非常不同的主题。

不幸的是,我只是检查了图书馆没有这本书。因此,如果您可以向我发送您认为可以回答我的问题的部分,或者帮助我也区分这些主题,那就太好了!:)
user5584748

Answers:


15

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

在模型中,您可以指定以下内容的性质:隐藏空间(离散或连续),隐藏状态动态(线性或非线性),观测的性质(通常有条件地为多项式或法线)以及与测量模型相关的部分观察结果的隐藏状态。HMM和状态空间模型就是两组这样的模型规范。

对于任何此类模型,都有三个标准任务:过滤,平滑和预测。任何时间序列文字(或Google确实应该如此)都应该使您了解它们的含义。您的问题是关于滤波的,这是一种获取a)在给定完整的值的情况下,对处的隐藏状态进行后验分布(或从某种意义上来说,“最佳”估计(如果没有贝叶斯的感觉,则为“最佳”估计))的一种方式。直到并包括时间的数据的概率,以及相关地b)模型下数据的概率。 ŤŤŤ

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

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

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

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

至于进一步的阅读:我很喜欢Särkkä的贝叶斯滤波和平滑第4-7章,尽管它很简洁。作者制作了可供个人使用的在线副本。否则,大多数状态时空丛书将涵盖该材料。对于粒子过滤,有Doucet等人。关于这个话题的数量,但是我想它已经很老了。也许其他人会指出较新的参考。


首先,非常感谢您的回答。请检查我是否已编辑上面的问题,以便与术语保持一致和准确。我也改一下我的整个问题。
user5584748 2015年

在您的重写中,“在PF中,隐藏状态变量是连续的(实值隐藏状态向量),并且观测值具有高斯分布”并不是很正确。PF是一个过滤器。该模型用于其它是过滤器必须有一个连续的状态空间(有一些马尔可夫结构或其它),但是在其他方面无约束:任何分布,任何动力学和任何测量过程。
共轭

例如,您可以使用PF来过滤普通的线性高斯状态空间模型。它将正常工作。由于卡尔曼滤波器是精确的,因此您不必这样做。
共轭

4
“ HMM和状态空间模型之间有什么区别?” 基本上:按照惯例,HMM具有离散状态。同样按照惯例,“状态空间模型”表示具有连续状态的事物。
2015年

非常感谢!因此,这种差异是按惯例发生的(根据书目)。但总的来说,我们可以选择所需的模型。那是对的吗?我将选择的模型取决于我是否会有更好的结果?
user5584748
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.