隐马尔可夫模型
概述
通常,当一个人对一个系统进行观察时,被观察到的不是系统的状态,而是由系统的底层隐藏状态生成的一些标记或数据。例如,当一个人听到别人说话时,进入他们耳朵的声音并不是产生声音的系统的状态。该系统的真实状态将是直接决定产生哪些声音的参数的集合,如说话者嘴的形状、声带的频率和声音背后的语义。
然而,仅从观察结果中不可能知道底层系统的确切状态,因为许多底层状态可能对应于相同的观察结果。因此,函数可以将状态映射到观测值 ,在那里 是状态变量和吗 是由函数生成的观察结果吗 应用于 有两种不同的状态 产生相同的观察结果 .这就是所谓的多对一的函数一般来说,这是不可能完全倒置的,因为 可以平等 或 .
考虑多对一函数 .由于只有 ,一个人无法恢复 正是因为 而且 对应于 当的平方。HMM的相似之处在于,给定一个观察序列,人们只能推断在任何时间点上状态的分布,因为许多不同的基础状态序列可以产生相同的观察序列。
在语音识别的情况下,知道产生声音的潜在语义会使问题变得容易。这是因为语音识别的全部问题是发现观察(声音)背后的模型状态(语义)。因此,能够在观察到的情况下对HMM的基本状态进行建模和推断,为许多类型的问题提供了一种强大的技术。
时间演化
隐马尔可夫模型的演化遵循两个规则:
第一个规则是模型从当前状态移动到下一个状态,下一个状态可能是相同的状态,根据一些只依赖于当前状态的概率分布,即。 .这被称为马尔可夫性质.直观地说,这条规则表明,系统的发展不考虑系统的过去状态,只依赖于当前状态。
第二个规则是,在每次转换之后,模型都会发出一个观察它的分布只取决于当前的状态,即。 .由于模型只发出观察结果,而生成观察结果的状态对观察者来说是未知的,因此生成这些观察结果的状态被称为隐状态.
规范
隐马尔可夫模型完全由以下参数指定:
1)状态转移概率
从状态转移的概率 州 是 .2)观察发射概率
发射观测的概率 而在国家 是 .如果观察集合是离散的,那么发射标记的概率 从国家 是 .3)状态初始化概率
HMM在状态启动的概率 是 .
知道了上述参数,我们就可以很容易地生成观察序列。我们从选择一个初始隐藏状态开始 根据分布 .然后,我们选择一个观察结果 鉴于 .接下来,模型转换到一个新的隐藏状态 根据状态的状态转移概率 之后,模型发出一个新的观察结果 .这个过程一直持续到生成所需的观察数为止。
观察概率
由于hmm计算隐藏状态和输出的概率序列,自然会问可能性一个特殊的观察序列 是多少。计算一个观测序列的概率涉及HMM的隐藏状态的和,这对于大型HMM,使朴素的计算非常缓慢。幸运的是,应用技术动态规划可以使这个计算更容易处理。
想象两个说话的人,鲍勃和爱丽丝。如果每个人都有一个经过训练的HMM来模拟他们的声音,那么我们就可以计算出任何声音序列的可能性。如果我们计算Bob的声音在他的嗯的情况下出现的可能性,我们会期望它比Alice的嗯的情况下Bob的声音出现的可能性高。直观地说,这是因为来自Bob的HMM的观察序列应该听起来像Bob,或者至少更像Bob而不是Alice,因为它是根据Bob的声音训练的。同样地,Alice的声音出现HMM的可能性应该比Bob的声音出现HMM的可能性高。知道了这一点,我们就可以进行一些基本的说话人识别,只需计算给定一些已知hmm的观察序列的可能性。最有可能的说话者是其HMM最能生成实际语音数据的人。
参考文献
- , M。Hidden-markov-model-abc.检索自2013年9月11日https://commons.wikimedia.org/wiki/File: Hidden-markov-model-abc.svg)
- , T。HiddenMarkovModel.2007年8月29日,从https://commons.wikimedia.org/wiki/File:HiddenMarkovModel.png