HMM定义

1、马尔可夫链
马尔可夫链是满足马尔可夫性质的随机过程。马尔可夫性质是无记忆性,也就是说,这一时刻的状态,受且只受前一时刻的影响,而不受更往前时刻的状态的影响。我们下面说的隐藏状态序列就马尔可夫链。
2、隐马尔可夫模型
隐马尔科夫模型(HMM, Hidden Markov Model)可用标注问题,在语音识别、NLP、生物信息、模式识别等领域被实践证明是有效的算法。
HMM是关于时序的概率模型,描述由一个隐藏的马尔科夫链生成不可观测的状态随机序列,再由各个状态生成观测随机序列的过程。
隐马尔科夫模型随机生成的状态随机序列,称为状态序列。每个状态生成一个观测,由此产生的观测随机序列,称为观测序列。
机器学习——HMM
隐马尔科夫模型有初始概率分布、状态转移概率分布以及观测概率分布确定,其形式化定义如下:
QQ是所有可能状态集合,VV是所有可能的观测的集合
机器学习——HMM
其中NN是可能的状态数,MM是可能的观测数。
II是长度为TT的状态序列,OO是对应的观测序列
机器学习——HMM
A是状态转移矩阵
机器学习——HMM
其中
机器学习——HMM
表示的是tt时刻处于qiq_i的条件下在t+1t+1时刻状态转移到qjq_j的概率。
B是观测概率矩阵
机器学习——HMM
其中
机器学习——HMM
是在时刻t处于状态qjq_j​的条件下生成观测vkv_k​的概率。
ππ是初始状态概率向量
机器学习——HMM
其中
机器学习——HMM
所以隐马尔科夫模型λ\lambda可以用三元符号表示,即
机器学习——HMM

隐马尔科夫模型的两个性质

1、齐次马尔科夫性假设
即设隐藏的马尔科夫链在任意时刻tt的状态只依赖于前一时刻的状态,与其他时刻的状态以及观测无关。
机器学习——HMM
2、观测独立性假设
即假设任意时刻的观测只依赖该时刻的马尔科夫链的状态,与其他观测和状态无关。
机器学习——HMM

HMM的三个基本问题

1、概率计算问题
给定模型λ=(A,B,π)\lambda=(A,B,\pi)和观测序列O=(o1,o2,...,oT)O=(o_1,o_2,...,o_T)计算在模型λ\lambda下观测序列为OO的概率P(Oλ)P(O|\lambda)
2、学习问题
已知观测序列O=(o1,o2,...,oT)O=(o_1,o_2,...,o_T),估计模型λ=(A,B,π)\lambda=(A,B,\pi)的参数,使得在该模型下观测序列概率P(Oλ)P(O|\lambda)最大。
3、预测问题
也成为解码问题。已知模型λ=(A,B,π)\lambda=(A,B,\pi)和观测序列O=(o1,o2,...,oT)O=(o_1,o_2,...,o_T),求对给定的观测序列概率PP(IO)P(I|O)的最大值。即给定观测序列,求最有可能的对应状态序列。

概率计算问题

直接计算法

按照概率公式,列举所有可能的长度为TT的状态序列I={i1,i2,,it}I=\{i_1,i_2,···,i_t\}求各个状态序列II与观测序列O={o1,o2,,ot}O=\{o_1,o_2,···,o_t\}的联合概率P(O,Iλ)P(O,I|\lambda),然后对所有可能的状态序列求和,从而得到P(Oλ)P(O|\lambda)
状态序列I={i1,i2,,it}I=\{i_1,i_2,···,i_t\}的概率是:
机器学习——HMM
对固定的状态序列II,观测序列OO的概率是:
机器学习——HMM
OOII同时出现的联合概率是:
机器学习——HMM
对所有可能的状态序列II求和,得到观测序列OO的概率P(Oλ)P(O|\lambda)
机器学习——HMM
最终式:
机器学习——HMM

前向算法

给定λ\lambda,定义到时刻tt部分观测序列为o1,o2,...,oto1,o2,...,ot且状态为qiqi的概率称为前向概率,记做:
机器学习——HMM
可以递推计算前向概率at(i)a_t(i)及观测序列概率P(Oλ)P(O|\lambda)
初值:
机器学习——HMM
递推:
机器学习——HMM
最终:
机器学习——HMM

后向算法

给定λ\lambda,定义到时刻tt状态为qiqi的前提下,从t+1t+1TT的部分观测序列为ot+1,ot+2..oTot+1,ot+2..oT的概率为后向概率,记做:
机器学习——HMM
可以递推计算后向概率βt(i)\beta_t(i)及观测序列概率P(Oλ)P(O|\lambda)
初值:
机器学习——HMM
递推:
机器学习——HMM
最终:
机器学习——HMM
说明:
为了计算在时刻tt状态为qiqi条件下时刻t+1t+1之后的观测序列为ot+1,ot+2,...,oTot+1,ot+2,...,oT的后向概率βt(i)\beta_t(i),只需要考虑在时刻t+1t+1所有可能的NN个状态qjqj的转移概率(aij)(aij项),以及在此状态下的观测ot+1ot+1的观测概率(bjot+1)(bjot+1项) ,然后考虑状态qjqj之后的观测序列的后向概率βt(j)\beta_t(j)

Baum-Welch算法

若训练数据只有观测序列,则HMM的学习需要使用EM算法,是非监督学习。
EM算法整体框架:
机器学习——HMM
所有观测数据写成O=(o1,o2,...,oT)O=(o_1,o_2,...,o_T),所有隐数据写成I=(i1,i2,...,iT)I=(i_1,i_2,...,i_T),完全数据是(O,I)=(o1,o2,...,oT,i1,i2,...,iT)(O,I)=(o_1,o_2,...,o_T,i_1,i_2,...,i_T)完全数据的对数似然函数是InP(O,Iλ)InP(O,I|\lambda)
假设λ\overline{\lambda}是HMM参数的当前估计值,入为待求的参数。
机器学习——HMM
EM过程
根据:
机器学习——HMM
函数可写成:
机器学习——HMM
极大化
极大化QQ,求得参数A,B,πA,B,\pi,由于该三个参数分别位于三个项中,可分别极大化:
机器学习——HMM
注意πi\pi_i满足加和为1,利用拉格朗日乘子法得到:
机器学习——HMM
初始状态概率
对上式相对于TiT_i求偏导得到:
机器学习——HMM
ii求和得到:
机器学习——HMM
从而得到初始状态概率:
机器学习——HMM
转移概率和观测概率
第二项可写成:
机器学习——HMM
仍然使用拉格朗日乘子法,得到:
机器学习——HMM
同理,得到:
机器学习——HMM

预测算法

近似算法

在每个时刻tt选择在该时刻最有可能出现的状态iti_t^*,从而得到一个状态序列I={i1,i2,...,it}I^*=\{i_1^*,i_2^*, ...,i_t^*\},将它作为预测的结果。
给定模型和观测序列,时刻tt处于状态qiq_i的概为:
机器学习——HMM

Viterbi算法

Viterbi算法实际是用动态规划解HMM预测问题,用DP求概率最大的路径(最优路径),这是一条路径对应一个状态序列。
定义变量δt(i)\delta_t(i):在时刻tt状态为ii的所有路径中,概率的最大值。
定义:
机器学习——HMM
递推:
机器学习——HMM
终止:
机器学习——HMM

相关文章:

  • 2021-06-22
  • 2022-12-23
  • 2021-09-03
  • 2021-11-24
  • 2021-09-09
  • 2021-07-31
  • 2021-05-28
  • 2021-08-31
猜你喜欢
  • 2021-07-24
  • 2021-06-08
  • 2021-05-25
  • 2021-09-14
  • 2021-12-18
  • 2022-01-14
  • 2021-09-12
相关资源
相似解决方案