1. 隐马尔可夫模型简介

先提一句,判别式模型(计算条件概率分布)和生成式模型(计算联合概率分布),而HMM是生成式模型。

隐马尔可夫模型是一种贝叶斯网,是一种有向图模型,主要用于时序数据建模,主要应用于语音识别和NLP。

状态序列:yi表示第i时刻的系统状态,它是隐藏的不可被观测的,亦称“隐变量”。例如:Y表示大气层的变化!

观测序列:xi表示第i时刻的观测值,可以是连续值也可以是离散值(仅讨论离散的)。例如:X表示天气的情况!

模型的参数:矩阵A(状态转移概率 N*N  N种状态)                 矩阵B(观测概率矩阵N*M N种状态M种观测)    10.隐马尔可夫模型(HMM) 向量(初始化状态 N种状态),      这就是模型的三要素:10.隐马尔可夫模型(HMM)

2.模型的假设和三个基本问题

两个基本假设:

(1)任意t时刻的状态只依赖于前一时刻的状态,与其他时刻的状态与观测都无关,也与t时刻无关。

10.隐马尔可夫模型(HMM)

(2)任意时刻的观测只依赖于该时刻模型的状态,与其他观测和状态无关。

10.隐马尔可夫模型(HMM)

这就是它的模型:

10.隐马尔可夫模型(HMM)

三个基本问题:

(1)概率计算问题。给定模型参数10.隐马尔可夫模型(HMM)和观测序列O,计算在模型参数条件下观测序列出现的概率10.隐马尔可夫模型(HMM)。(DP)

(2)学习问题。已知观测序列,估计模型参数10.隐马尔可夫模型(HMM),使得在该模型下观测序列出现概率最大10.隐马尔可夫模型(HMM)。(EM)

(3)预测问题。已知模型参数10.隐马尔可夫模型(HMM)和观测序列O,求给定观测序列条件概率10.隐马尔可夫模型(HMM)最大的状态序列10.隐马尔可夫模型(HMM)。(DP)

3.问题一:概率计算算法

直接计算法:

10.隐马尔可夫模型(HMM)

前向算法:

给定模型10.隐马尔可夫模型(HMM),定义到时刻t观测序列为O1,O2.....Ot且状态为qi的概率为前向概率。

10.隐马尔可夫模型(HMM)

算法过程:

10.隐马尔可夫模型(HMM)

递推解释:

10.隐马尔可夫模型(HMM)

后向算法:

给定参数10.隐马尔可夫模型(HMM),定义在时刻t状态为qi前提下,从t+1到T部分的观测序列为Ot+1,Ot+2,OT的概率为后向概率。

10.隐马尔可夫模型(HMM)

10.隐马尔可夫模型(HMM)

递推解释:同上

给定模型参数求观测序列:

10.隐马尔可夫模型(HMM)

10.隐马尔可夫模型(HMM)

4.问题二:学习算法

若训练数据包含观测序列和状态序列,那么HMM的学习非常简单,是监督学习。

可以直接利用大数定理“频率的极限是概率”给出HMM的参数估计!

10.隐马尔可夫模型(HMM)

若训练数据不包含状态序列,那么HMM的学习需要使用EM算法,是非监督学习。

第一步(E):根据初始化的参数求值,确定Q函数并且取期望。

10.隐马尔可夫模型(HMM)

确定Q函数(对数似然函数):

10.隐马尔可夫模型(HMM)

并且对Q取期望得:

10.隐马尔可夫模型(HMM)

第二步(M):将第一步求出来的值带入到化简的模型(用极大似然估计建立)中去,在求极值更新参数即可

10.隐马尔可夫模型(HMM)

注意三个参数分别位于三个项中,所以可以分别极大化,分别用拉格朗日乘子法+概率和为1的约束条件去求!

5.问题三:预测算法

近似算法:

在每一时刻t选择一个最有可能出现的状态10.隐马尔可夫模型(HMM),从而得到一个状态序列,将他作为预测结果。

10.隐马尔可夫模型(HMM)

10.隐马尔可夫模型(HMM)

10.隐马尔可夫模型(HMM)

实际中是有效的!

维特比(Viterbi)算法:

利用DP思路求概率最大的路径,这一条路径对应一个状态序列!

10.隐马尔可夫模型(HMM)

10.隐马尔可夫模型(HMM)

10.隐马尔可夫模型(HMM)

递推解释:同上

相关文章:

  • 2021-04-14
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-05
  • 2021-06-16
  • 2021-10-06
  • 2021-11-02
  • 2021-05-03
  • 2021-10-03
相关资源
相似解决方案