机器学习——HMM

HMM定义

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

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

1、齐次马尔科夫性假设
即设隐藏的马尔科夫链在任意时刻 t t t的状态只依赖于前一时刻的状态,与其他时刻的状态以及观测无关。
在这里插入图片描述
2、观测独立性假设
即假设任意时刻的观测只依赖该时刻的马尔科夫链的状态,与其他观测和状态无关。
在这里插入图片描述

HMM的三个基本问题

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

概率计算问题

直接计算法

按照概率公式,列举所有可能的长度为 T T T的状态序列 I = { i 1 , i 2 , ⋅ ⋅ ⋅ , i t } I=\{i_1,i_2,···,i_t\} I={i1,i2,,it}求各个状态序列 I I I与观测序列 O = { o 1 , o 2 , ⋅ ⋅ ⋅ , o t } O=\{o_1,o_2,···,o_t\} O={o1,o2,,ot}的联合概率 P ( O , I ∣ λ ) P(O,I|\lambda) P(O,Iλ),然后对所有可能的状态序列求和,从而得到 P ( O ∣ λ ) P(O|\lambda) P(Oλ)
状态序列 I = { i 1 , i 2 , ⋅ ⋅ ⋅ , i t } I=\{i_1,i_2,···,i_t\} I={i1,i2,,it}的概率是:
在这里插入图片描述
对固定的状态序列 I I I,观测序列 O O O的概率是:
在这里插入图片描述
O O O I I I同时出现的联合概率是:
在这里插入图片描述
对所有可能的状态序列 I I I求和,得到观测序列 O O O的概率 P ( O ∣ λ ) P(O|\lambda) P(Oλ)
在这里插入图片描述
最终式:
在这里插入图片描述

前向算法

给定 λ \lambda λ,定义到时刻 t t t部分观测序列为 o 1 , o 2 , . . . , o t o1,o2,...,ot o1,o2,...,ot且状态为 q i qi qi的概率称为前向概率,记做:
在这里插入图片描述
可以递推计算前向概率 a t ( i ) a_t(i) at(i)及观测序列概率 P ( O ∣ λ ) P(O|\lambda) P(Oλ)
初值:
在这里插入图片描述
递推:
在这里插入图片描述
最终:
在这里插入图片描述

后向算法

给定 λ \lambda λ,定义到时刻 t t t状态为 q i qi qi的前提下,从 t + 1 t+1 t+1 T T T的部分观测序列为 o t + 1 , o t + 2.. o T ot+1,ot+2..oT ot+1,ot+2..oT的概率为后向概率,记做:
在这里插入图片描述
可以递推计算后向概率 β t ( i ) \beta_t(i) βt(i)及观测序列概率 P ( O ∣ λ ) P(O|\lambda) P(Oλ)
初值:
在这里插入图片描述
递推:
在这里插入图片描述
最终:
在这里插入图片描述
说明:
为了计算在时刻 t t t状态为 q i qi qi条件下时刻 t + 1 t+1 t+1之后的观测序列为 o t + 1 , o t + 2 , . . . , o T ot+1,ot+2,...,oT ot+1,ot+2,...,oT的后向概率 β t ( i ) \beta_t(i) βt(i),只需要考虑在时刻 t + 1 t+1 t+1所有可能的 N N N个状态 q j qj qj的转移概率 ( a i j 项 ) (aij项) (aij),以及在此状态下的观测 o t + 1 ot+1 ot+1的观测概率 ( b j o t + 1 项 ) (bjot+1项) (bjot+1) ,然后考虑状态 q j qj qj之后的观测序列的后向概率 β t ( j ) \beta_t(j) βt(j)

Baum-Welch算法

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

预测算法

近似算法

在每个时刻 t t t选择在该时刻最有可能出现的状态 i t ∗ i_t^* it,从而得到一个状态序列 I ∗ = { i 1 ∗ , i 2 ∗ , . . . , i t ∗ } I^*=\{i_1^*,i_2^*, ...,i_t^*\} I={i1,i2,...,it},将它作为预测的结果。
给定模型和观测序列,时刻 t t t处于状态 q i q_i qi的概为:
在这里插入图片描述

Viterbi算法

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值