隐马尔科夫模型(HIDDEN MARKOV MODEL)

本文介绍了隐马尔科夫模型(HMM)的基本概念,包括问题的提出、定义及核心关注的三大问题:计算观察序列概率、寻找最优状态序列和参数调整。并详细解释了forward-backward过程如何高效解决这些问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.0  问题的提出

假设有一个房间,一个人在房间里投掷硬币,你在房间的外面,只能看见结果,例如:TTHTHHTT(T代表反面,H代表正面),这个结果被称为观察序列,但是你却不知道房间里的人是一直在投掷一个硬币,还是投掷不同的硬币,你也不知道硬币是均匀的,还是有偏差的。下图给出四个例子,a代表投掷一个均匀的硬币,b代表两个均匀的硬币,c代表两个有偏差的硬币,d代表三个有偏差的硬币。


可以看出,输出的序列取决于几个方面:每个状态独立发生的概率,状态转化的概率,状态导致现象的概率。这就是隐马尔科夫模型研究的问题。

 

2.0  问题的定义

N 代表模型中状态的数量

M 代表观察现象的数量(例如之前的T和H)

T 观察序列的长度,通常认为是时间

V 所有可能的观察现象的离散集合

it 时间t时的状态

 初始时状态i的概率

 时间t时状态为i,时间t+1时状态为j的概率,通常假设状态跳转的概率与时间独立。

 时间t状态为j导致的观察结果为vk的概率

Ot t时的观察结果

 HMM的定义


3.0  HMM的三个问题

研究HMM主要关注在三个问题上:

问题一:给定一个HMM,计算,观察序列O=O1,,OT发生的概率

问题二:给定一个HMM,怎样选择一个状态序列I=i1,i2,,,iT,使观察序列和状态序列的联合概率最大

问题三:怎样调整HMM的参数,使或者最大化

其中,问题1与问题2可以认为是分析型的问题,问题3可以认为是一个训练问题。


4.0  问题的解决

 

问题一:用最直接的方式


然后,我们用全概率公式:


其中


但是,从公式(4)中我们不难看出,这个公式包含了2T个乘法,然后有N的T次方种不同的状态序列,所以这个公式要进行次的乘法,这是一个天文数字,为了解决这个问题,引入forward-backward 过程。

 

forward 过程

令前向变量义为:


给定HMM,时间t时状态为i,从t=1到t部分观察序列出现的概率,计算过程如下:


其中第一步有N个乘法,第二步有(N+1)N(T-1)个乘法,第三步没有乘法。总共的计算开支比之前的算法要好很多。

 

Backward 过程

后向过程可以完全类比与前向过程,后向变量定义为


给定HMM,时间t时状态为i,从t+1到T部分观察序列出现的概率,计算过程如下:


计算代价为N^2*T


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值