【问题标题】:HMM implementation with Matlab使用 Matlab 实现 HMM
【发布时间】:2013-04-05 00:08:11
【问题描述】:

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

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

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

希望你能给我一些提示

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

【问题讨论】:

    标签: matlab machine-learning hidden-markov-models


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您的回答...您可以看看这个描述:mathworks.de/de/help/stats/hmmtrain.html 它看起来像是正确的训练方法,但我不知道我应该如何估计矩阵? (我想实现一个复杂的手势识别)
    猜你喜欢
    • 2014-05-03
    • 2016-07-15
    • 2014-12-27
    • 1970-01-01
    • 2018-04-01
    • 2014-02-08
    • 2013-06-19
    • 2020-03-22
    • 1970-01-01
    相关资源
    最近更新 更多