马尔可夫链vs.HMM


11

马尔可夫链对我来说很有意义,我可以用它们来模拟现实生活中问题的概率状态变化。然后是HMM。据说HMM比MC更适合于建模许多问题。但是,人们提到的问题在理解方面有些复杂,例如语音处理。所以我的问题是,您能描述一个HMM比MC更适合的“真实而简单”的问题吗?并解释原因?谢谢

Answers:


19

语音识别并不像您想象的那样复杂。

首先,想象一下创建一个进行文本识别的马尔可夫链(MC)。您的程序读取了一堆(完美无误的)文本并计算状态(单词)和状态更改(下一个单词)。听起来你已经把这个记下来了。现在,您可以生成文本,或者使用MC的状态和转换概率,给某些文本预测下一个单词。

现在,假设您想在语音中使用MC。您只需让人们阅读与您的MC相似的文本就可以了,对吗?好吧...除了他们将以不同的方式发音这些单词:书面文字说“土豆”的地方,您实际上会听到“ po-TAY-toh”,“ po-TAH-toh”和“ pu-TAY”反之亦然:文本“ ate”和“八个”表示两个不同的状态,但(通常)发音相同。

您的算法不再看到基本状态(单词),而是看到每个单词的发音概率分布。您原来的MC隐藏在发音的后面,现在您的模型需要两层。

因此,您可以吸引很多人大声朗读您用于原始培训的文本,可以获得每个单词的发音分布,然后将您的原始模型与发音模型结合起来,就得到了一个隐马尔可夫模型( HMM)。

大多数现实世界中的问题都会是这样,因为现实世界中往往会很吵。您实际上并不会知道某物处于什么状态。相反,您将获得每种状态的各种指标:有时针对不同状态(“ ate”和“八个”)使用相同的指示器,有时针对同一状态使用不同的指示器(“ pu-TAY-toe”和“ pah-tah-TOE”)。因此,HMM更适合实际问题。

[两个注意事项:1)实际的语音识别在音素级别而不是单词级别起作用,并且2)我相信HMM是语音识别的王者,但最近已被深度神经网络所废止。


6

从根本上讲,HMM是状态无法完全观察到的马尔可夫模型,而只能通过一些嘈杂的观测值间接观察到。马尔可夫模型部分是在状态中施加时间依存关系的简单方法。相应地,HMM有用的问题是状态遵循马尔可夫模型的问题,但是您不能直接观察状态。

HMM可以执行多种操作。您可以做的一件有用的事情如下-考虑到目前为止的一系列嘈杂的观察,也许您想知道系统最可能的当前状态是什么。为此,您可以将马尔可夫链结构与观察值适当地结合起来以推断状态。同样,您可以扩展它以从观察序列中推断出整个状态序列(是标准的)。

在科学和工程领域,这种模型一直得到使用。例如,也许您正在录制像c这样的简单动物的视频。线虫(蠕虫),并且只有少量的离散行为状态。您想从视频中用动物的行为状态标记每一帧。从单个帧来看,标记算法具有一定的错误/噪声。但是,您也可以使用马尔可夫链进行时间依赖性...如果在一帧中动物处于一种状态,则下一帧可能处于同一状态(也许某些状态仅允许过渡)某些其他州)。基本上,通过将嘈杂的单帧观测值与过渡的结构(由HMM进行组合)相结合,可以获得状态平滑的,平滑的,约束更好的状态估计序列。


2

HMM是混合模型。就像高斯模型的混合。我们除了使用马尔可夫链之外还使用它的原因是,捕获数据模式更加复杂。

类似于如果我们使用单个高斯模型来建模一个有争议的变量,或者我们使用高斯混合模型来来建模一个连续变量。

我将使用一个连续变量来演示这个想法:假设我们有此数据

在此处输入图片说明

最好使用2个高斯和不同比例对其进行建模。在离散情况下这是“等效的”:我们构建具有2个隐藏状态的HMM。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.