二、seqlearn

  1. seqlearn 扩展了scikit-learn的功能,实现了隐马尔可夫模型的监督学习。

    其中监督学习的意思是:每一个观察序列都被正确的人工标定。

  2. MultinomialHMMseqlearn 给出的监督多项式分布的隐马尔可夫模型,其原型为:

    1. seqlearn.hmm.MultinomialHMM(decode='viterbi', alpha=0.01)
    • decode:一个字符串,指定解码算法。可以为:

      • 'bestfirst':最大后验概率算法。
      • 'viterbi':维特比算法 。
    • alpha:一个浮点数,用于平滑参数。
  3. 方法:

    • fit(X, y, lengths):训练数据。

      参数:

      • X:一个array-like,形状为 (n_samples, n_features)。指定了观测的样本。

      • y:一个array-like,形状为 (n_samples, )。指定了对应的状态序列。

      • lengths:一个array-like,形状为 (n_sequences, )。指定了观测样本中,每个观测序列的长度。

        它将样本切分成多个序列,它指定的就是每个序列的长度。

      返回值:self