正如标题所示,在我的程序的多次运行中,我得到了不同的 trans 和 est 值。这些是局部最小值吗?如果是这样,我如何获得最佳的?
注意 - 它们都具有相同的 trans 和 est 起始值。
谢谢!
编辑:我意识到为什么我在不同的运行中得到不同的 trans 和 est 值,但这在我脑海中提出了另一个问题。
我的目标是在经典歌曲数据(MFCC 系数)上训练 HMM。为了离散化,我将 MFCC 系数分配给 7 个集群。
我有一个存储在矩阵 M 中的 10 个观察序列,我提供给 hmmtrain 函数作为输入。每行代表一首歌曲,每一列是 MFCC 系数(针对歌曲的不同帧)分配到的不同簇。
前任:
米=
1 1 1 3 3 3 3 2 7 7 7
1 1 1 3 1 1 1 1 3 1 1
3 3 3 2 2 3 3 2 2 3 3
6 6 6 2 2 5 5 2 2 5 5
3 3 3 3 1 1 1 1 1 1 1
7 7 7 7 5 5 5 7 2 5 5
3 3 3 2 2 3 3 2 2 6 6
7 7 5 7 2 3 6 2 2 2 2
7 7 7 7 7 7 7 7 7 7 2
但是,由于我每次都重新计算聚类,我的输入数据会发生变化。通过将矩阵保存到文件并在每次我的结果一致时使用它。我不明白为什么对于某些集群形式(即对于某些输入矩阵)我会获得更好的性能?集群的形成不应该大体相同(即使数字例如 1,2.. 可能代表不同的集群)?
抱歉之前的事。如有必要,我会重新发布问题。再次感谢!