机器学习(十)~隐马尔科夫模型

隐马尔科夫模型是关于时序的概率模型,通过隐藏状态→隐藏状态-观测的转移→观测,是生成模型

1. 两个基本假设

(1) 齐次马尔可夫性假设

假设任意时刻的状态只依赖于前一时刻的状态,与其他时刻的状
态无关,与时刻t无关

(2) 观测独立性假设

假设任意时刻的观测只依赖于该时刻的状态

2. 三组参数

初始状态概率矩阵π
在这里插入图片描述
状态转移概率矩阵A
在这里插入图片描述
输出观测概率矩阵B
在这里插入图片描述

3. 三个基本问题:

(1) 概率计算问题
给定模型λ=[π,A,B],如何计算P(x|λ),即如何计算 观测序列出现的概率?

解决:前向-后向算法

(2) 学习问题
给定观测序列x,如何使P(x|λ)最大,即如何调参 使得训练出的模型最好?
解决:EM算法(无监督)

(3) 预测问题
给定模型λ=[π,A,B]与观测序列x,如何求隐藏状态 y,即如何根据观测序列推测隐藏状态?
解决:维特比算法

4. 三类算法核心思路

(1) Forward/Backward算法

a.【观测概率的前向算法】
在这里插入图片描述
b.【观测概率的后向算法】
输入:隐马尔可夫模型λ,观测序列O;
输出:观测序列概率P(O|λ)
在这里插入图片描述
c.利用前向概率与后向概率的定义,观测序列概率P(O|λ)可写为
在这里插入图片描述

(2) Baum-Welch算法

参数学习由EM算法实现
1.确定完全数据的对数似然函数logP(O,I|λ)
2.EM算法的E步:求Q函数
在这里插入图片描述
其中T为序列长度

3.EM算法的M步:极大化Q函数,求模型参数A,B,π

要极大化的三个参数分别出现在Q函数三个单独的项中,也方便求导,对每项拆出来,考虑三个约束:
在这里插入图片描述
分别写拉格朗日函数,分别对对应参数A,B,π求偏导,使偏导为0求对应参数(即极大化后的参数)
在这里插入图片描述

(3) 维特比算法

维特比算法实际是用动态规划求最优路径(最大概率路径),一条路径对应一个状态序列

【维特比算法】
输入: 模型λ=(A,B,π)和观测序列O=(o1,o2,…,oT);
输出: 最优路径I*=(i1*,i2*,…,iT*)
思路: 求前一个状态j求argmax[π→Aji→B转化],记录最大概率的状态转化路径
步骤: 初始化→递推→终止→回溯最优路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值