概率与贝叶斯方法

隐马尔可夫模型(hidden Markov model)

/ HID-un MAR-kof MOD-ul /

隐马尔可夫模型,描述这样一种情形:某样东西正沿着一串你看不见的隐藏状态在变化,但它每一步都会留下一个可见的线索。设想隔壁房间里有位朋友,你看不到他的心情(高兴、疲惫、烦躁),却能听见他在哼歌、叹气,还是沉默。你试着从这串声音里,推断出那看不见的心情序列。「马尔可夫」这一部分,是一个化简的承诺:明天的心情只取决于今天的,而与整段历史无关。

模型有两个活动部件。转移规则掌管隐藏状态如何从一步漂移到下一步——高兴的心情有多大可能保持高兴、又有多大可能滑向疲惫。发射规则掌管每个隐藏状态如何产生它那可见的线索——疲惫的心情有多大可能引出一声叹息。给定一段记录下来的线索序列,经典而高效的算法便能算出整段序列的概率、找出隐藏状态最可能的那一条路径,并单凭数据把规则学出来。

它为何重要:隐马尔可夫模型曾在数十年间是语音识别的主力,至今仍驱动着DNA中的基因查找、词性标注与活动追踪——凡是有一个隐藏过程在时间中展开、又只透过带噪声的信号现身之处,都有它。诚实的局限,源自那个马尔可夫承诺:由于假定下一个状态只记得紧邻的过去、忘掉其余一切,模型在处理长程结构时便力不从心。在丰富的数据上,现代神经序列模型常常胜过它;但隐马尔可夫模型仍因「可解释、省数据、可精确求解」而备受珍视。

从海藻推断天气。你看不见每天是晴是雨(隐藏状态),但挂在屋外的一片海藻是干、是潮、还是湿透(观测)。湿透的海藻让「雨」变得可能,干燥则让「晴」变得可能。给定一周的海藻读数——干、潮、湿透、湿透、潮——模型便能重建出最可能的那一串隐藏天气。

隐马尔可夫模型用维特比算法,从一串带噪声的线索(海藻)里,推断出一段看不见的序列(天气)。

马尔可夫假设——下一个状态只取决于当前那个——既是模型的长处,也是它的天花板。它让计算变得精确而廉价,却也刻意遗忘了长程的上下文,因此隐马尔可夫模型无法像现代基于注意力的模型那样,捕捉跨越许多步的依赖关系。

又称
HMM隐马尔可夫模型隱馬可夫模型隐式马尔可夫模型