本文不是HMM的详细推导文章,是对HMM的一个小总结。详细的推导可参考李航统计学习方法第10章。本文目录如下:
目录
隐马尔可夫模型简介
HMM可用于标注问题。隐马尔可夫模型是关于时序的概率模型,由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测从而产生观测随机序列。隐藏的马尔可夫链随机生成的状态的序列,称为状态序列;每个状态生成一个观测,而由此产生的观测的随机序列,称为观测序列。序列的每个位置可以看作是一个时刻。
隐马尔可夫模型两个特点:1、引入了隐状态;2、是时序的。
HMM基本假设
1、齐次马尔可夫性假设:即假设隐藏的马尔可夫链在任意时刻 t 的状态只依赖于其前一时刻的状态,与其他时刻的状态和观测无关。
2、观测独立性假设:即假设任意时刻的观测只依赖于该时刻的马尔可夫链的状态,与其他时刻的状态和观测无关。
HMM三要素(也即参数)
1、初始状态概率向量
2、状态转移矩阵
3、观测概率矩阵
HMM基本问题
1、概率计算问题:在参数 给定的情况下,计算观测序列出现的概率。假设观测序列为 ,即计算 。
2、学习问题:已知观测序列或者已知观测序列和状态序列 ,求参数 ,(利用极大似然估计的方法估计参数)。
3、预测问题:给定模型参数,给定一个观测序列 (未必是用在训练集里的观测序列),求最有可能对应的状态序列。
其中 1概率计算问题服务于 2学习问题 和 3预测问题。
概率计算问题
计算,有两种方法,一种是直接计算法,复杂度高;另外一种是递推方法,复杂度低,包括前向算法和后向算法。
1、直接计算法:先求 状态序列和观测序列的联合概率 ,再求边缘概率得到 。计算复杂度 。
2-1、前向算法:从t=1时刻求到 t=T 时刻,最终求得完整序列概率。计算复杂度 。
2-2、后向算法:从t=T时刻求到 t=1 时刻,最终求得完整序列概率。计算复杂度 。
前向和后向计算复杂度低,利用前向算法和后向算法两者,还可以方便求得另外一些概率用于学习问题和预测问题。
学习问题
有两种方法。
1、训练数据是观测序列和对应的状态序列:极大似然估计,即频数统计。
2、训练数据只有观测序列:极大似然估计,即EM算法。EM算法可参考EM(期望最大)算法推导以及实例计算
预测问题
有两种方法。
1、近似算法:预测出来的状态序列中每一时刻的状态是该时刻所有状态中最优的。不保证预测出来的状态序列整体最优。该方法得到的状态序列中有可能存在转移概率为 0 的相邻状态。
2、维特比算法:预测出来的整条状态序列最优。保证预测出来的状态序列整体最优。