我有许多可变长度的序列。对于这些,我想训练一个隐马尔可夫模型,稍后我想用它来预测(部分)序列的可能延续。到目前为止,我已经找到了两种使用 HMM 预测未来的方法:
1)幻觉延续并获得该延续序列的可能性。选择可能性最高的一个作为您的预测。此方法需要明确了解连接的可能值。
2)对(部分)序列使用维特比算法来获得最可能的隐藏状态序列。取该序列中最后一个隐藏状态的发射分布并预测例如该分布的平均值(通常是高斯分布)。
现在我的问题是:还有其他可能更原则性的方法来使用 HMM 预测未来吗?
谢谢!
我有许多可变长度的序列。对于这些,我想训练一个隐马尔可夫模型,稍后我想用它来预测(部分)序列的可能延续。到目前为止,我已经找到了两种使用 HMM 预测未来的方法:
1)幻觉延续并获得该延续序列的可能性。选择可能性最高的一个作为您的预测。此方法需要明确了解连接的可能值。
2)对(部分)序列使用维特比算法来获得最可能的隐藏状态序列。取该序列中最后一个隐藏状态的发射分布并预测例如该分布的平均值(通常是高斯分布)。
现在我的问题是:还有其他可能更原则性的方法来使用 HMM 预测未来吗?
谢谢!
HMM 中的马尔可夫假设表明,时间 T+1 的状态独立于 T 之前的所有状态,以 T 为条件。
您的选项 2 接近我的建议,只是您使用的是对最后一个状态的最大似然分配。相反,计算序列中最后一项的隐藏状态的分布。这相当于在维特比算法中用“和”替换“最大值”。(参见https://www.coursera.org/course/pgm并搜索“sum-product”算法,也称为信念传播)。
然后,为了对未来进行抽样,你首先要对最后一个状态进行抽样,给定它的分布。然后使用转换矩阵对下一个隐藏状态进行采样并重复恶心。由于在序列中的最后一点之后没有实际观察结果,因此您正在从马尔可夫链中采样。鉴于您对部分序列的了解,这将为您提供未来的样本。这与 Viterbi 不同的原因是,即使是最可能分配给部分分配的隐藏变量的可能性也很低。通过使用最后一个状态的整个分布,您可以更好地估计以下(未观察到的未来)状态。