Matlab中的hmmtrain在不同的运行中收敛到不同的trans和est值

数据挖掘 matlab
2022-02-16 09:29:18

正如标题所示,在我的程序的多次运行中,我得到了不同的 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.. 可能代表不同的集群)?

抱歉之前的事。如有必要,我会重新发布问题。再次感谢!

0个回答
没有发现任何回复~