马尔科夫模型在《随机过程》课程中有过系统学习,这里不再介绍。
本文为读书笔记,主要参考《模式分类》第二版。
/*===================================================================================*/
一.相关概念:
可见状态v(t):假设在某一时刻t,系统处于某一个状态w(t)中,同时,这个系统还激发出某种可见(可以被预测到的)符号v(t)。
隐马尔科夫模型(hiddwn markov model,HMM):在t时刻的状态w(t)下,每一个可能发出的状态Vk(t)都有相应的概率。把这个概率记为:P(Vk(t) | wj(t)) = bjk。因为我们只能观测到可见的状态,而不能直接知道wj处于哪个内部状态,所以整个模型就被称为“隐马尔科夫模型”。
有限状态机(finite state machine,FSM):图3-9所示的网络称之为有限状态机。
马尔科夫网络:如果网络内部的转移都与概率相关联的话,则称之为马尔科夫网络,社区检测里有相应应用。
// ==================================================================================
二.隐马尔科夫模型的三类核心问题
(1)估值问题:假设已有一个HMM,其转移概率aij和bjk已知。计算这个模型产生某一个特定观测序列Vt的概率。
(2)解码问题:假设我们已经有了一个HMM和它所产生的一个观测序列,决定最优可能产生这个可见观测序列的隐状态序列wt.
(3)学习问题:假设我们只知道一个HMM的大致结构(比如隐状态数量和可见状态数量),但aij和bjk均未知。如何从一组可见符号的训练序列中,决定这些参数。
// ==================================================================================
三.各类问题的算法伪代码
(1)用于估值问题算法
1. HMM前向算法:
2. HMM后向算法
//-----------------------------------------------------------------------------------------------------
(2)用于解码问题
隐马尔科夫模型解码算法
// -----------------------------------------------------------------------------------------------------------
(3)用于学习问题
前向-后向算法(也加Baum-Welch算法)——是一个广义期望最大化问题
// ==================================================================================
四.应用领域
主要应用于语音识别领域与手势的识别,将隐马尔科夫模型扩展到二维领域,可用于光学字符识别。以及“统计语言学习”、“序列符号识别”(比如DNA序列)等领域也有相应的应用。最后需要注意隐马尔科夫模型与图论模型的关系。