什么是隐马尔科夫模型?

如题所述

‍‍‍‍

隐马尔科夫模型(Hidden Markov Model,HMM),和回归、分类那些处理相互独立的样本数据的模型不同,它用于处理时间序列数据,即样本之间有时间序列关系的数据。从这一点来说,它和卡尔曼滤波算法很像。事实上,HMM和卡尔曼滤波的算法本质是一模一样的,只不过HMM要假设隐藏变量是离散的,而卡尔曼滤波假设隐藏变量是连续的。隐藏变量是HMM里的关键概念之一,可以理解为无法直接观测到的变量,即HMM中Hidden一词的含义;与之相对的是观测变量,即可以直接观测到的变量;HMM的能力在于能够根据给出的观测变量序列,估计对应的隐藏变量序列是什么,并对未来的观测变量做预测。比如语音识别,给你一段音频数据,需要识别出该音频数据对应的文字。这里音频数据就是观测变量,文字就是隐藏变量。我们知道,对单个文字而言,虽然在不同语境下有轻微变音,但大致发音是有统计规律的。当我们说出一句话时,文字与文字之间也是有一些转移规律的。比如,当我们说出“比”这个字时,下一个大概率的字一般是“如”“较”等。虽然文字千千万,但文字与文字之间的转移却是有章可循的。有了文字的发音特征,以及文字与文字之间的转移规律,那么从一段音频中推测出对应的文字也就可以一试了,在当前深度学习一统江湖的时代,已经很少有人还在用HMM做语音识别了。

‍‍‍‍
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-01-07
‍‍

假设你有一个住得很远的朋友,他每天跟你打电话告诉你他那天做了什么。你的朋友仅仅对三种活动感兴趣:公园散步,购物以及清理房间。他选择做什么事情只凭天气。你对于他所住的地方的天气情况并不了解,但是你知道总的趋势。在他告诉你每天所做的事情基础上,你想要猜测他所在地的天气情况。你认为天气的运行就像一个马尔可夫链.其有两个状态"雨"和"晴",但是你无法直接观察它们,也就是说,它们对于你是隐藏的。每天,你的朋友有一定的概率进行下列活动:"散步", "购物", 或 "清理". 因为你朋友告诉你他的活动,所以这些活动就是你的观察数据。这整个系统就是一个隐马尔可夫模型HMM。同样在计算机中语音识别和翻译之类用的很多,就是说通过你说的话或者提供的句子,这些是可以观察的,通过隐马模型推断出你说的话或者写的句子的实际意义,这个就是隐藏的内容。通过已知推断出未知。

‍‍
第2个回答  2018-01-07
‍‍

手写识别、地图匹配、金融预测、DNA序列分析等等。这里之所以啰嗦这么多,是想强调几点,这几点也是我们在判断一个问题是否适合用HMM解决的关键:我们已知一组数据,需要推断与之对应的另一组数据。比如音频数据、字符序列是已知数据,对应的文字是要推断的数据。要推断的数据是离散的。比如前面两个例子中的文字。而对观测数据没有要求,既可以是离散的,也可以是连续的。对输入数据的顺序敏感。比如音频数据和字符序列,如果把它们的顺序打乱,结果就完全不一样了。 对顺序敏感并不是坏事,顺序即信息,有信息才可以做推断。  

‍‍
相似回答