隐马尔科夫模型简介

马尔可夫(Andrei Andreyevich Markov) 是前苏联数学家。在概率论、数论、函数逼近论和微分方程等方面卓有成就。他提出了用数学分析方法研究自然过程的一般图式—马尔可夫链,并开创了随机过程(马尔可夫过程)的研究。 马尔可夫模型,存在一类重要的随机过程,如果一个系统有 N 个状态 S1, S2,…, SN, 随着时间的推移,该系统从某一状态转移到另一状态。隐马尔可夫模型是美国数学家鲍姆(Leonard E.Baum)等人提出来的。

HMM是关于时序的的概率模型(标注问题的统计学习模型);描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列(state sequence),再由各个状态生成一个观测而产生观测随机序列(observation sequence)的过程,序列的每个位置可看作是一个时刻。例如:N个袋子,每个袋子中有M种不同颜色的球。一实验员根据某一概率分布选择一个袋子,然后根据袋子中不同颜色球的概率分布随机取出一个球,并报告该球的颜色。对局外人:可观察的过程是不同颜色球的序列,而袋子的序列是不可观察的。每只袋子对应HMM中的一个状态;球的颜色对应于HMM中状态的输出。

隐马尔可夫模型的三个基本问题,

1.预测问题(解码问题) 已知:=(,,),O=(_1,_2,…,_) 求:I=(_1,_2,…,_ ),使得P(|) 最大,主要算法是维特比算法(HMM-Viterbi)

核心思想:动态规划(Dynamic Programming)求解最短路径 最短路径性质:如果最短路径在时刻t通过结点_^∗,那么这一路径从结点_^∗到终点_^∗的部分路径,对于从_^∗到_^∗的所有可能的部分路径来说,必定是最短的。反证法即可证明。

2.概率计算 给定:=(,,),O=(_1,_2,…,_) 求:P(O|λ) 前向算法,给定隐马模型,定义到时刻t的部分观测序列为_1,_2,…,_且状态为_的概率为前向概率,本质上属于动态规划的算法,也就是我们要通过找到局部状态递推的公式,这样一步步的从子问题的最优解拓展到整个问题的最优解。 后向算法,给定隐马模型,定义在时刻t状态为_的条件下,从t+1到T的部分观测序列为_(+1),_(+2),…,_的概率为后向概率

3.学习算法 已知:O=(_1,_2,…,_) 求:模型参数=(,,) 使得P(O|λ)最大

监督学习算法 假设训练数据是包括观测序列O和对应的状态序列I:

可以利用极大似然估计法来估计隐马模型参数(即求频率)

非监督学习方法 假设训练数据只有S个长度为T的观测序列 采用Baum-Welch算法(即EM算法)求解,即期望值最大化算法(Expectation-Maximization,EM)

基本思想:初始化时随机地给模型的参数赋值(遵循限制规则,如:从某一状态出发的转移概率总和为1)得到模型_0,然后可以从_0得到从某一状态转移到另一状态的期望次数,然后以期望次数代替公式中的次数,得到模型参数的新估计,由此得到新的模型_1,从_1又可得到模型中隐变量的期望值,由此重新估计模型参数。循环这一过程,参数收敛于最大似然估计值。

你可能感兴趣的:(隐马尔科夫模型简介)