1. hmmlearn概述
hmmlearn安装很简单,"pip install hmmlearn"即可完成。
hmmlearn实现了三种HMM模型类,按照观测状态是连续状态还是离散状态,可以分为两类。GaussianHMM和GMMHMM是连续观测状态的HMM模型,而MultinomialHMM是离散观测状态的模型,也是我们在HMM原理系列篇里面使用的模型。
对于MultinomialHMM的模型,使用比较简单,"startprob_"参数对应我们的隐藏状态初始分布$\Pi$, "transmat_"对应我们的状态转移矩阵$A$, "emissionprob_"对应我们的观测状态概率矩阵$B$。
对于连续观测状态的HMM模型,GaussianHMM类假设观测状态符合高斯分布,而GMMHMM类则假设观测状态符合混合高斯分布。一般情况下我们使用GaussianHMM即高斯分布的观测状态即可。以下对于连续观测状态的HMM模型,我们只讨论GaussianHMM类。
在GaussianHMM类中,"startprob_"参数对应我们的隐藏状态初始分布$\Pi$, "transmat_"对应我们的状态转移矩阵$A$, 比较特殊的是观测状态概率的表示方法,此时由于观测状态是连续值,我们无法像MultinomialHMM一样直接给出矩阵$B$。而是采用给出各个隐藏状态对应的观测状态高斯分布的概率密度函数的参数。
如果观测序列是一维的,则观测状态的概率密度函数是一维的普通高斯分布。如果观测序列是$N$维的,则隐藏状态对应的观测状态的概率密度函数是$N$维高斯分布。高斯分布的概率密度函数参数可以用$\mu$表示高斯分布的期望向量,$\Sigma$表示