算法-从观察中找到HMM的顺序

时间:2018-11-25 07:56:46

标签: hidden-markov-models viterbi

我得到的数据由隐藏变量的可变长度的N序列及其对应的观察变量组成(即,每个序列都具有隐变量和观察变量)。

是否可以找到这种数据的“最佳” HMM模型的顺序K,而无需进行详尽搜索? (合理的启发式也是合法的)。

1 个答案:

答案 0 :(得分:1)

我认为“ order”一词可能会引起混淆: 一阶HMM是转换矩阵仅取决于先前状态的HMM。 2阶HMM是一种HMM,其转换矩阵仅取决于两个先前的状态,依此类推。随着阶数的增加,理论变得更“厚”(即方程式),并且这种复杂模型的实现很少在主流库中实现。 在您喜欢的浏览器上搜索关键字“ second-order HMM”,将带您了解有关这些模型的有意义的文章。

如果按顺序表示状态数,并假设您使用分配给每个状态的单个分布(即,您不使用带有混合分布的HMM),那么实际上,您需要调整的唯一超参数是状态数。

您可以使用Bayesian Information CriterionAkaike Information CriterionMinimum Message Length Criterion之类的标准来估计最佳状态数,这些标准基于模型的似然计算。通常,使用这些准则需要训练多个模型,以便能够计算出一些有意义的似然结果进行比较。

如果您只是想弄清楚可能不是最佳的K值的模糊概念,则采用k均值聚类和解释的方差百分比可以解决问题:如果X聚类解释的比,可以说,训练集中观察值的90%是一个很好的开始。前三个标准很有趣,因为它们包含一个惩罚项,该惩罚项随模型的参数数量而增加,因此可以防止一些过拟合。

当使用基于混合的HMM时,也可以应用这些标准,在这种情况下,有更多的超参数需要调整(即混合模型的状态数和组件数)。