第5章 隐含马尔科夫模型

通信模型

  • 通信的六要素:发送者,信道,接受者,信息,上下文,编码。

  • 问题:如何从接收端的观测信号o1,o2,o3...o_1,o_2,o_3...来推测信号源发送的信息s1,s2,s3...s_1,s_2,s_3...

    解:找最可能产生观测信号的源信息。
    《数学之美(第一版)》笔记 —— 第5章

    由于o1,o2,o3...o_1,o_2,o_3...一旦产生就不会改变,所以此时P(o1,o2,o3,...)P(o_1,o_2,o_3,...)就是一个可以忽略的常数。因此,上面的公式可以等价成为:P(o1,o2,o3,...s1,s2,s3,...)P(s1,s2,s3,...)P(o_1,o_2,o_3,...|s_1,s_2,s_3,...)*P(s_1,s_2,s_3,...)

    而这个公式可以使用隐含马尔可夫链模型来估计。

隐含马尔科夫模型

  • 马尔科夫假设:随机过程中各个状态sts_t的概率分布只与它的前一个状态st1s_{t-1}有关,即P(sts1,s2,s3,...st1)=P(stst1)P(s_t|s_1,s_2,s_3,...s_{t-1})=P(s_t|s_{t-1})

  • 马尔科夫链:符合马尔科夫假设的随机过程称为马尔科夫过程**,也称为马尔科夫链。一个离散的马尔科夫过程如下所示:

《数学之美(第一版)》笔记 —— 第5章

  • 隐含马尔科夫模型:是马尔科夫链的一个扩展:任一时刻tt的状态sts_t都是不可见的。所以观察者没办法通过观察到一个状态序列s1,s2,s3,...sTs_1,s_2,s_3,...s_T来推测转移概率等参数。但是,隐含马尔科夫模型在每个时刻tt会输出一个符号oto_t,而且oto_tsts_t相关且仅和 sts_t 相关。这个被称为独立输出假设。隐含马尔科夫模型如下:
    《数学之美(第一版)》笔记 —— 第5章

  • 和通信解码问题的联系:

    上文提到的通信解码公式:P(o1,o2,o3,...s1,s2,s3,...)P(s1,s2,s3,...)P(o_1,o_2,o_3,...|s_1,s_2,s_3,...)*P(s_1,s_2,s_3,...)

    和公式(5,4)非常像,可以做以下变换进行等价:

《数学之美(第一版)》笔记 —— 第5章

这样子便可以使用隐含马尔科夫模型来解决。找到式子的最大值,进而找出要识别的句子s1,s2,s3,...,s_1, s_2, s_3, ...,可以利用维特比算法

关于隐含马尔科夫模型的训练

  • 一些定义:
    《数学之美(第一版)》笔记 —— 第5章

  • 有监督的训练方法:直接根据语料估计模型的参数。
    《数学之美(第一版)》笔记 —— 第5章
    《数学之美(第一版)》笔记 —— 第5章

  • 无监督训练方法:通过大量观测到的信号o1,o2,o3,...o_1,o_2,o_3,...就能推算模型的参数P(stst1)P(s_t|s_{t-1})P(otst)P(o_t|s_t)。主要是使用鲍姆-韦尔奇算法。其思想如下:
    《数学之美(第一版)》笔记 —— 第5章

补充:

这一章涉及的内容其实非常难,可以深挖。推荐这个博主的内容:

  • https://www.cnblogs.com/pinard/p/6945257.html

包含了1)隐含马尔科夫模型介绍;2)前向后向算法;3)鲍姆-韦尔奇算法;4)维特比算法。

非常推荐!!

相关文章: