《数学之美》读书笔记(五)

隐含马尔科夫模型

典型的通信系统:发送者发送信息,采用一种能够在媒体中传播的信号,比如语音或者电话线的调制信号,这个过程是广义的编码;

然后通过媒体传播到接受方,这个过程是信道传输。

在接受方,接收者根据事先约定好的方法,将这些信号还原成发送者的信息。这个过程是广义上的解码。


用S1,S2,S3...代表信息源发出的信号,用O1,O2,O3...代表接收器收到的信号。解码就是根据o还原出s;


通信中,如何根据观测信号还原出发送的信息?

用概率论的语言来描述,就是在已知o1234...的情况下,求得令条件概率P(s1,s2,s3,...|o1,o2,o3...)达到最大值的那个信息串s1,s2,s3...

即s1,s2,s3,...=ArgMaxP(s1,s2,s3...|o1,o2,o3...)

利用贝叶斯公式,上述公式变成(P(o1,o2,o3...|s1,s2,s3...)*P(s1,s2,s3...))/P(o1,o2,o3...).

其中,上式的分母是一个常数,因为o已经观测到了。


P(o1,o2,o3...|s1,s2,s3...)*P(s1,s2,s3...);转化为求这个东西。


隐含马尔科夫模型:随即过程中各个状态st的概率分布,只有他的前一个状态St-1有关。P(St|s1,s2,,s3...st-1)=P(st|st-1)

马尔科夫假设、马尔科夫过程、马尔可夫链


隐含马尔科夫:任意时刻的t的状态St是不可见的。所以观察者没法通过观察到一个状态序列s来求出转移概率等参数。但是隐含马尔科夫模型在每个时刻会输出一个符号o,这个o跟且仅跟s相关(同一状态下)。那么其中的隐含状态s1,s2,s3...是一个i典型的马尔可夫链。


基于马尔科夫假设和独立输出假设,可以计算某个特定状态序列s产生输出o的概率

P(s1,s2,s3,...,o1,o2,o3,...,)=P(St|St-1)*P(Ot|St)连乘,关于t


这个公式意思就是s和o同时出现的概率等于St-1出现下St出现的概率乘上St出现下Ot出现的概率。(这个必须基于马尔科夫假设)


在这个公式中,公式右端的前者相当于语言模型P(s1,s2,s3...),公式右端后者相当于翻译模型P(o1,o2,o3...|s1,s2,s3...)



围绕隐含马尔科夫模型,有三个基本问题:

给定一个模型,如何计算某个特定的输出序列的概率

给定一个模型和某个特定的输出序列,如何找到最可能产生这个输出的状态序列

给定足够量的观测数据,如何估计隐含马尔科夫模型的参数


第二个问题:维特比解码算法

第三个问题:下面将会讨论的模型训练问题

鲍姆-韦尔奇算法:首先找到一组能够产生输出序列O的模型参数(显然他们是一定存在的,因为转移概率P和输出概率Q为均匀分布时,模型可以产生任何输出,当然包括了我们观察到的输出O)现在,有了这样的一个初始模型,我们称之为M0.需要在这个基础上找到一个更好的模型。假定解决了前两个问题,不但可以找出这个模型产生O的概率,而且可以找到这个模型产生O的所有可能路径以及这些路径的概率。这些路径,实际上标志着每个状态经历了多少次,到达了哪些状态,输出了哪些符号,因此可以将他们看作标注的训练数据。从而可以算出对应参数,得到新的模型。称之为一次迭代。


可以证明,这个新模型的概率更大。


不断迭代,就是鲍姆-韦尔奇算法的原理。这个算法的每一次迭代都是不断的估计新的模型参数,使得输出的概率达到最大化,因此这个过程被称为期望值最大化。简称EM过程。能找到局部最优点,不能找到全局最优点。是一种无监督的算法。


猜你喜欢

转载自blog.csdn.net/jr1261181988/article/details/54691316