如何使用sklearn HMM计算观测数据的似然

How to use sklearn HMM to calculate the likelihood of the observed data

HMM 存在三个基本问题:

  1. 给定模型参数和观测数据,估计隐藏状态的最优序列。
  2. 给定模型参数和观测数据,计算数据的可能性。
  3. 只给定观测数据,估计模型参数。

问题1和问题3可以通过sklearn HMM解决tutorial。但是我们如何使用sklearn来解决问题2呢?

使用 score() 函数。来自代码:

def score(self, X, lengths=None):
"""Compute the log probability under the model.

    Parameters
    ----------
    X : array-like, shape (n_samples, n_features)
        Feature matrix of individual samples.

    lengths : array-like of integers, shape (n_sequences, ), optional
        Lengths of the individual sequences in ``X``. The sum of
        these should be ``n_samples``.

    Returns
    -------
    logprob : float
        Log likelihood of ``X``.