对于越来越多的状态,我使用Baum算法构造了几个隐马尔可夫模型。我注意到,在8个州之后,超过8个州的验证分数会下降。所以我想知道,由于某种过度拟合,隐马尔可夫模型的精确度是否会随着状态数的增加而降低?
提前感谢!
发布于 2015-07-21 14:30:48
为了清楚起见,我在这里提出一个非常简单的例子来说明这一现象。
假设你用数据序列训练你的HMM (A)。假设你用的是2状态的嗯。自然,状态1将自身优化为表示A,状态2将表示B(或相反)。然后,你有了一个新的序列(A)。你想知道这个序列对你的HMM有多大的可能性。Viterbi算法会发现最可能的状态序列是(1-2-1-2),而Baum算法会给出这个序列很高的可能性,因为状态序列和新序列的“值”(如果使用连续数据)与您的训练序列明显匹配。
现在假设你用相同的训练序列训练一个3状态的HMM (A)。数据的初始聚类很可能会为符号A的表示分配HMM的2个第一状态,而将最后一个状态分配给符号B(或者再一次相反)。
现在,查询序列( as )可以表示为状态序列(1-3-1-3)或(2-3-2-3)或(1-3-2-3)或(2-3-1-3)!这意味着对于这个三态HMM,两个相同的序列(A)对HMM的相似性很低.这就是为什么对于任何HMM和任何数据集,超过一定数量的状态,性能都会下降。
您可以使用诸如states信息准则、Akaike信息准则、最小消息长度准则等标准来估计最优状态数,或者如果您只想得到模糊概念,则使用k均值聚类和解释的方差百分比。第三个标准是有趣的,因为它们包含一个惩罚项,它与模型的参数数相一致。
希望能有所帮助!)
https://stackoverflow.com/questions/31268748
复制相似问题