【问题标题】:HMMlearn library -ergodic and left-to-right topologyHMMlearn 库 - 遍历和从左到右的拓扑
【发布时间】:2020-05-08 17:36:03
【问题描述】:

我已经使用 HMMlearn 库来执行手势识别,并且在某些手势中我想使用遍历拓扑,而在其他的从左到右的拓扑中。 HMM 架构内的拓扑是否由“协方差”参数设置为“完整”或“诊断”或我需要定义其他内容?

【问题讨论】:

    标签: python hidden-markov-models hmmlearn left-to-right


    【解决方案1】:

    我不知道我的回答是否迟到,但可能会有所帮助。

    如他们的文档中所述

    转移概率矩阵不必是遍历的。例如,一个左右 HMM 可以定义如下:

    lr = hmm.GaussianHMM(n_components=3, covariance_type="diag",
                      init_params="cm", params="cmt")
    lr.startprob_ = np.array([1.0, 0.0, 0.0])
    lr.transmat_ = np.array([[0.5, 0.5, 0.0],
                              [0.0, 0.5, 0.5],
                            [0.0, 0.0, 1.0]])
    

    在这里,您强制模型学习参数“cmt”代表协方差、均值和转移矩阵,因此 startprob 永远不会改变。但是您通知(通过传递 init_params)它只是为了自己初始化协方差和平均值,因此您在 startprob 和 transmat_ 中生成的值将被锁存。 这里的 hack 是这里的任何 0 都不会被训练,并且在更新中总是 0,所以你强制拓扑为 ltr。

    covariance full 或 diag 与拓扑完全无关。它与您对功能的了解有关。以 diag 为例,您说所有特征都是完全独立的,因此它们的协方差为 0

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多