马尔科夫过程
- 一个马尔科夫过程是状态间的转移仅依赖于前n个状态的过程。这个过程被称之为n阶马尔科夫模型,其中n是影响下一个状态选择的(前)n个状态。最简单的马尔科夫过程是一阶模型,它的状态选择仅与前一个状态有关
- 马尔可夫链(Markov Chain),描述了一种状态序列,其每个状态值取决于前面有限个状态。马尔可夫链是具有马尔可夫性质的随机变量的一个数列
- 在正常的马尔可夫模型中,状态对于观察者来说是直接可见的。这样状态的转换概率便是全部的参数。而在隐马尔可夫模型中,状态并不是直接可见的,但受状态影响的某些变量则是可见的。每一个状态在可能输出的符号上都有一概率分布。因此输出符号的序列能够透露出状态序列的一些信息。
- HMM是一种用参数表示的用于描述随机过程统计特性的概率模型,它是一个双重随机过程。HMM 由两部分组成:马尔可夫链和一般随机过程。其中马尔可夫链用来描述状态的转移,用转移概率描述。一般随机过程用来描述状态与观察序列间的关系,用观察值概率描述
- 隐马尔科夫三大基本问题
''
问题1 HMM的概率计算问题
给定观测序列o={ol,o2,⋯,ot}和模型λ,怎样有效地计算观测变量序列o的在给定模型下的概率P(OIλ)
问题2 HMM的最优状态序列问题
给定观测序列O={o1,o2,⋯,ot)和模型λ,怎样选择一个相应的状态序列q={q1,q2,⋯,qt),能够在某种意义上最优(例如,更好的解释“观测变量”)?
问题3:HMM的训练问题(参数估计问题)
给定观测序列O={o1,o2,⋯,ot,)和初始条件,如何调整模型参数λ=(π,A,B)使P(Olλ)为最大?
''
问题一:概率计算
暴力计算每种状态序列概率和该状态序列下过的目标观测序列的概率,乘积即为该状态序列下出现观测序列的概率,所有可能的状态序列都计算出目标观测序列的出现概率冰球和,即可获得该模型下目标观测序列的出现概率
- 前向算法
前向算法解释:计算任一时刻各种状态序列的可能,乘以相应的观测值值分布,即可获得当前状态目标观测值出现概率,根据当前状态序列概率,计算下一时刻所有状态序列概率,即可继续迭代
- 后向算法
与前向算法对称,相同的迭代方式,只是转换了方向,且假设初始尾状态均为1
- 相关概率计算
问题二:极大似然估计参数模型
- 监督学习:训练数据包括:观察序列和状态序列
- 非监督学习:训练数据只包括:观察序列
监督学习
根据状态序列频数估计概率
非监督学习
问题三:由模型和观测序列求观测序列确定条件下概率最大的状态序列
近似算法
在每个状态找出该时刻的最大概率状态,构成一个状态序列作为预测结果
局部最优化(概率最大状态)整体未必最优
viterbi算法
求解最优路径:概率最大路径,其对应的状态序列为所求