我了解如何在基因组序列中使用隐马尔可夫模型,例如寻找基因。但我不明白如何提出一个特定的马尔可夫模型。我的意思是,模型应该有多少个状态?有多少种可能的过渡?模型应该有一个循环吗?
他们怎么知道他们的模型是最优的?
他们会想象,比如说 10 个不同的模型,对这 10 个模型进行基准测试并发布最好的模型吗?
我了解如何在基因组序列中使用隐马尔可夫模型,例如寻找基因。但我不明白如何提出一个特定的马尔可夫模型。我的意思是,模型应该有多少个状态?有多少种可能的过渡?模型应该有一个循环吗?
他们怎么知道他们的模型是最优的?
他们会想象,比如说 10 个不同的模型,对这 10 个模型进行基准测试并发布最好的模型吗?
我熟悉三种主要方法:
先验。您可能知道有四个碱基对可供选择,因此允许 HMM 有四个状态。或者您可能知道英语有 44 个音素,因此语音识别模型中的隐藏音素层有 44 个状态。
估计。状态的数量通常可以预先估计,也许通过对 HMM 观察到的特征进行简单的聚类。如果 HMM 转移矩阵是三角形的(在故障预测中经常出现这种情况),则状态的数量决定了从开始状态到结束状态的总时间分布的形状。
优化。就像您建议的那样,创建并拟合了许多模型并选择了最佳模型。人们还可以调整学习 HMM 的方法,以允许模型根据需要添加或丢弃状态。
另一种方法是从具有无数个状态的模型中进行采样。然后通过对采样器进行平均得出“有多少”的答案。