如何使用sklearn HMM计算观测数据的似然
How to use sklearn HMM to calculate the likelihood of the observed data
HMM 存在三个基本问题:
- 给定模型参数和观测数据,估计隐藏状态的最优序列。
- 给定模型参数和观测数据,计算数据的可能性。
- 只给定观测数据,估计模型参数。
问题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``.
HMM 存在三个基本问题:
- 给定模型参数和观测数据,估计隐藏状态的最优序列。
- 给定模型参数和观测数据,计算数据的可能性。
- 只给定观测数据,估计模型参数。
问题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``.