隐马尔可夫模型:是否有可能准确度随着状态数的增加而降低?
Hidden Markov Model: Is it possible that the accuracy decreases as the number of states increases?
我使用 Baum-Welch 算法针对越来越多的状态构建了几个隐马尔可夫模型。我注意到在 8 个状态之后,验证分数下降超过 8 个状态。所以我想知道是否有可能由于某种过度拟合,隐马尔可夫模型的准确性会随着状态数量的增加而降低?
提前致谢!
为了清楚起见,我在此提出一个非常简化的现象说明。
假设您使用数据序列 (A-B-A-B) 训练 HMM。
假设您使用 2 态 HMM。
自然地,状态 1 将优化自身以表示 A,而状态 2 将表示 B(或相反)。
然后,您有一个新序列 (A-B-A-B)。你想知道这个序列相对于你的 HMM 的可能性。
一个Viterbi算法会发现最可能的状态序列是(1-2-1-2),Baum-Welch算法会给这个序列一个很高的可能性作为状态序列和新的"values"序列(如果使用连续数据)与您的训练序列明显匹配。
现在假设您使用相同的训练序列 (A-B-A-B) 训练一个 3 态 HMM。数据的初始聚类很可能会将 HMM 的前 2 个状态分配给符号 A,最后一个状态分配给符号 B(或再次相反)。
所以现在,查询序列(A-B-A-B)可以表示为状态序列(1-3-1-3)或(2-3-2-3)或(1-3-2-3)或 (2-3-1-3) !
这意味着对于这个 3 态 HMM,两个相同的序列 (A-B-A-B) 对于 HMM 可能具有较低的相似性。这就是为什么对于任何 HMM 和任何数据集,超过一定数量的状态,性能都会下降。
您可以使用贝叶斯信息准则、Akaike 信息准则、最小消息长度准则等标准来估计状态的最佳数量,或者如果您只是想获得一个模糊的想法,可以结合使用 k 均值聚类解释方差的百分比。前 3 个标准很有趣,因为它们包含一个与模型参数数量相关的惩罚项。
希望对您有所帮助! :)
我使用 Baum-Welch 算法针对越来越多的状态构建了几个隐马尔可夫模型。我注意到在 8 个状态之后,验证分数下降超过 8 个状态。所以我想知道是否有可能由于某种过度拟合,隐马尔可夫模型的准确性会随着状态数量的增加而降低?
提前致谢!
为了清楚起见,我在此提出一个非常简化的现象说明。
假设您使用数据序列 (A-B-A-B) 训练 HMM。 假设您使用 2 态 HMM。 自然地,状态 1 将优化自身以表示 A,而状态 2 将表示 B(或相反)。 然后,您有一个新序列 (A-B-A-B)。你想知道这个序列相对于你的 HMM 的可能性。 一个Viterbi算法会发现最可能的状态序列是(1-2-1-2),Baum-Welch算法会给这个序列一个很高的可能性作为状态序列和新的"values"序列(如果使用连续数据)与您的训练序列明显匹配。
现在假设您使用相同的训练序列 (A-B-A-B) 训练一个 3 态 HMM。数据的初始聚类很可能会将 HMM 的前 2 个状态分配给符号 A,最后一个状态分配给符号 B(或再次相反)。
所以现在,查询序列(A-B-A-B)可以表示为状态序列(1-3-1-3)或(2-3-2-3)或(1-3-2-3)或 (2-3-1-3) ! 这意味着对于这个 3 态 HMM,两个相同的序列 (A-B-A-B) 对于 HMM 可能具有较低的相似性。这就是为什么对于任何 HMM 和任何数据集,超过一定数量的状态,性能都会下降。
您可以使用贝叶斯信息准则、Akaike 信息准则、最小消息长度准则等标准来估计状态的最佳数量,或者如果您只是想获得一个模糊的想法,可以结合使用 k 均值聚类解释方差的百分比。前 3 个标准很有趣,因为它们包含一个与模型参数数量相关的惩罚项。
希望对您有所帮助! :)