【问题标题】:HMM - correct number of statesHMM - 正确的状态数
【发布时间】:2015-01-08 12:07:13
【问题描述】:

我是 HMM 的新手。我在 Wikipedia Baum–Welch_algorithm Example 中遇到了一个例子,我有点困惑。希望可以有人帮帮我。

示例如下:“假设我们有一只鸡,我们每天中午从它那里收集鸡蛋。 现在鸡是否产下鸡蛋供收集取决于一些隐藏的未知因素。 然而,我们可以(为简单起见)假设只有两种状态决定了鸡是否产卵。”

我的问题是:

  1. 在我们不知道状态的情况下;我们如何才能找到正确的状态数。在上面的例子中;他们假设为 2。但也许 3 或 5 ...更好地代表系统。

  2. 是否有必要为系统中的每个状态赋予含义。在上面的例子中;我们有 s1 和 s2,但它们没有被赋予与应用程序相关的含义。

【问题讨论】:

    标签: matlab computer-vision hidden-markov-models


    【解决方案1】:

    如果您想为您的鸡示例安装 HMM,您将依次假设只有 1 个状态,然后是 2 个状态,然后是 3 个等。控制这个产蛋过程。如果您对鸡的生活方式稍有了解,您可能会根据您的知识假设状态数。

    例如,您可以测试一个两态假设,即认为一只鸡可能产下的鸡蛋数量取决于以下状态: (1) 鸡醒了,(2) 鸡睡着了。

    然后,您可以通过 (1) 鸡醒着,(2) 鸡在睡觉,以及 (3) 鸡在巢中来检验三状态假设。

    对于您要测试的每个状态,您都有新的参数添加到您的模型中。他们调整每个州产卵的数量,当然还有州之间的转换概率。然后,您可以在您的假设之​​间选择一个模型,例如基于它对数据的拟合优度(如果您欠一些)和一些信息标准(AIC、BIC、DIC...取决于您的拟合方法)。

    【讨论】:

    • 谢谢@kadok。是否有任何 Matlab 代码来测试具有不同状态数的模型的优劣?
    • 如果你有参考书目,我推荐这两个主要的出版物:Morales 2004Langrock 2012两者都提供代码,但不是在matlab中。他们专注于一种特定类型的 HMM,但非常明确,动物运动。 Morales 使用贝叶斯估计 (OpenBUGS),但我推荐 JAGS(我使用与 R 绑定的)。 Langrock 使用确定性似然估计,如果您不想弄乱贝叶斯的东西,它会更直观。
    • 也许这对你有帮助:stackoverflow.com/questions/23654578/…
    猜你喜欢
    • 1970-01-01
    • 2014-12-02
    • 2016-09-22
    相关资源
    最近更新 更多