机器学习_17_隐马尔可夫模型

1 马尔可夫性质

在这里插入图片描述

2 马尔可夫链

  • 马尔可夫链是指具有马尔可夫性质的随机过程。在过程中,在给定当前信息的情况下,过去的信息状态对于预测将来状态是无关的。
  • 在马尔可夫链的每一步,系统根据概率分布,可以从一个状态变成另外一个状态,也可以保持当前状态不变。状态的改变叫做转移,状态改变的相关概率叫做转移概率。
  • **马尔可夫链中的三元素是:**状态空间S、转移概率矩阵P、初始概率分布π。

2.1 马尔可夫链—案例

设将天气状态分为晴、阴、雨三种状态,假定某天的天气状态只和上一天的天气状态有关,状态使用1(晴)、2(阴)、3(雨)表示,转移概率矩阵P如下:

在这里插入图片描述

3 隐马尔可夫模型(HMM)

  • 隐马尔可夫模型(Hidden Markov Model, HMM)是一种统计模型,在语音识别、行为识别、NLP、故障诊断等领域具有高效的性能。
  • HMM是关于时序的概率模型,描述一个含有未知参数的马尔可夫链所生成的不可观测的状态随机序列,再由各个状态生成观测随机序列的过程。HMM是一个双重随机过程—具有一定状态的隐马尔可夫链和随机的观测序列。
  • HMM随机生成的状态随机序列被称为状态序列;每个状态生成一个观测,由此产生的观测随机序列,被称为观测序列

在这里插入图片描述

  • HMM由隐含状态S、可观测状态O、初始状态概率矩阵π、隐含状态转移概率矩阵A、可观测值转移矩阵B(又称为混淆矩阵,Confusion Matrix);
  • π和A决定了状态序列,B决定观测序列,因此HMM可以使用三元符号表示,称为HMM的三元素:

在这里插入图片描述

3.1 HMM参数说明

在这里插入图片描述

3.2 HMM的两个基本性质

在这里插入图片描述

3.3 HMM案例

在这里插入图片描述

3.4 HMM案例—前向算法

  • 在给定参数π、A、B的时候,得到观测序列为“白黑白白黑”的概率是多少?? (4.1.3 前向算法)

在这里插入图片描述

3.5 HMM案例-Viterbi

在给定参数π、A、B的时候,得到观测序列为“白黑白白黑”,求出最优的隐藏状态序列。

在这里插入图片描述

回溯最优路径:

δ5(3)→δ4(2)→δ3(2)→δ2(3)→δ1(2)

最终盒子序列为:(2,3,2,2,3)

4 HMM的三个问题

概率计算问题:前向-后向算法

  • 给定模型λ=(A,B,π)和观测序列Q={q1 ,q2 ,…,qT },计算模型λ下观测到序列Q出现的概率P(Q|λ)。

学习问题:Baum-Welch算法(状态未知)

  • 已知观测序列Q={q1 ,q2 ,…,qT },估计模型λ=(A,B,π)的参数,使得在该模型下观测序列P(Q|λ)最大。

预测问题:Viterbi算法

  • 给定模型λ=(A,B,π)和观测序列Q={q1 ,q2 ,…,qT },求给定观测序列条件概率P(I|Q,λ)最大的状态序列I。

4.1 概率计算问题(3种解法)

在这里插入图片描述

4.1.2前向概率-后向概率

在这里插入图片描述

4.1.3 ②前向算法

定义:给定λ,定义到时刻t部分观测序列为q1,q2,…,qt且状态为si的概率为前向概率。记做:
在这里插入图片描述
在这里插入图片描述

4.1.4 ③后向算法

定义:给定λ,定义到时刻 t 状态为 si 的前提下,从t+1到T部分观测序列为qt+1,qt+2,…,qT的概率为后向概率。记做:

在这里插入图片描述
在这里插入图片描述

4.1.5 单个状态的概率

求给定模型λ和观测序列Q的情况下,在时刻t处于状态si的概率,记做:

在这里插入图片描述

单个状态概率的意义主要是用于判断在每个时刻最可能存在的状态,从而可以得到一个状态序列作为最终的预测结果。具体求解公式如下:

在这里插入图片描述

4.1.6 两个状态的联合概率

求给定模型λ和观测序列Q的情况下,在时刻t处于状态si并时刻t+1处于状态sj概率,记做:

在这里插入图片描述

4.2 学习问题

  • 若训练数据包含观测序列和状态序列,则HMM的学习问题非常简单,是监督学习算法。
  • 若训练数据只包含观测序列,则HMM的学习问题需要使用EM算法求解,是非监督学习算法。

4.2.1 学习问题—监督学习

直接利用大数定理的结论“频率的极限是概率”,直接给出HMM的参数估计

在这里插入图片描述

4.2.2 学习问题—非监督学习(使用Baum-Welch算法)

  • 若训练数据中只有观测序列,则HMM的学习问题需要使用EM算法,属于非监督算法;此时一般使用Baum-Welch算法。

  • 所有的观测数据为Q={q1,q2……qT},所有的隐状态为l={i1,i2.……iT},则完整的数据为(O,I),完整数据的对数似然函数为In(p(Q,I;λ));然后直接使用EM算法的方式来进行参数估计。

在这里插入图片描述

4.2.3 Baum-Welch算法 - π求解

极大化L,使用拉格朗日乘子法,求解π的值:

在这里插入图片描述

4.2.4 Baum-Welch算法 - A求解

极大化L,使用拉格朗日乘子法,求解aij的值:

在这里插入图片描述

4.2.5 Baum-Welch算法 - B求解

极大化L,使用拉格朗日乘子法,求解bij的值:
在这里插入图片描述

4.2.6 Baum-Welch算法 - 分别求得π、A、B

极大化L函数,分别可以求得π、a、b的值

在这里插入图片描述

4.3 预测问题

问题: 在观测序列已知的情况下,状态序列未知。想找到一个最有可能产生当前观测序列的状态序列。

可以用下面两种办法来求解这个问题:
1、近似算法
2、Viterbi算法

4.3.1 近似算法

直接在每个时刻t时候最优可能的状态作为最终的预测状态,使用下列公式计算概率值:

在这里插入图片描述

遍历时间t。

优点是计算简单;而缺点就很明显了,没有考虑时序关系,不能保证预测的状态序列整体上是最优可能的状态序列,预测的状态序列可能有实际不发生的部分。

4.3.2 Viterbi算法

Viterbi算法实际是用动态规划的思路求解HMM预测问题,求出概率最大的“路径”,每条“路径”对应一个状态序列。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少云清

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值