2

我对 HMM 不太熟悉,但我想在 Matlab 中实现。我想使用这个工具箱HMM Toolbox。我不确定我是否理解了我必须实现它的方式。如果有许多不同类别的状态训练序列。所以这就是我会这样做的方式:

  1. 我为每个序列计算[TRANS,EMIS] = hmmestimate(seq,states)表示 HMM的转换和发射矩阵
  2. 我将这些矩阵与属于哪个类的信息一起保存
  3. 我对每个训练序列都这样做
  4. 如果我得到一个用于分类的观察序列,我会使用 hmmviterbi(seq,TRANS,EMIS) 函数来计算我保存的每个 HMM 的“可能性”。
  5. 最“可能”的一个(最高百分比)是我寻找的 HMM --> 我知道这个类

这是我可以实现 HMM 的方式吗?

我希望你能给我一些提示

顺便提一句。我知道我的英语不是那么好,但我希望它是可以理解的。

4

1 回答 1

0

虽然我不知道 matlab 并且无法在该领域为您提供帮助,但您的步骤听起来是正确的。以下是我将实施它们的步骤:

  • 您首先使用您的训练集创建一个模型来表示该集。
  • 对您希望系统识别的每种情况重复此操作(例如,每种情况的模型)
  • 当您有一个输入集时,您将其与每个模型进行比较并保留概率/置信度分数。
  • 比较这些分数并选择最强的结果(假设它超过您设置的任何阈值)

编辑:我从上一个问题中找到了一个很好的例子。要回答您在评论中提供的链接是否正确,我不得不说是,但之前没有使用 matlab for HMM,因此无法确认这些功能的使用。我建议您查看上面上一个问题链接的答案并完成它,因为它更深入地解释了我上面的简单步骤。

于 2013-04-15T23:17:12.727 回答