PR Structured Ⅲ:马尔可夫、隐马尔可夫 HMM 、条件随机场 CRF 全解析及其python实现
Content
归纳性长文,不断更新中...欢迎关注收藏
本章承接概率图知识
马尔可夫不仅是强化学习在时序决策上的理论基础,也是语音、NLP等领域处理时序数据并进行预测的基础。在使用这一族方法的时候,我们的目的是什么?
与普通的回归和分类不同,时序数据相邻数据间是有关系的,而非相互独立的。因此我们可以用上下文(主要是上文)所提供的信息,更好地对这类数据做分类或回归。
本章分以下三个递进的环节:将之前所有的观测作为未来预测的依据是不现实的,因为其复杂度会随着观测数量的增加而无限制地增长。因此,就有了马尔科夫模型,即假定未来的预测仅与最近的观测有关,而独立于其他所有的观测;
通过引入隐变量,解决Markov Model需要强独立性的问题,即隐马尔可夫模型 HMM;
HMM等为生成式模型,计算联合概率分布
;CRF则是判别式模型,计算条件概率
。由于 CRF 利用最大熵模型的思路建立条件概率模型,对于观测序列并没有做马尔科夫假设,可以得到全局最优,而HMM则是在马尔科夫假设下建立的联合分布,会出现局部最优的情况。(此处
均代表隐变量,
为观测)
1 马尔可夫 Markov引例:假设我们观测⼀个⼆值变量,这个⼆值变量表⽰某⼀天是否下⾬。给定这个变量的⼀系列观测,我们希望预测下⼀天是否会下⾬。如果我们将所有的数据都看成独⽴同分布的, 那么我们能够从数据中得到的唯⼀的信息就是⾬天的相对频率;
然而,我们知道天⽓经常会呈现出持续若⼲天的趋势。因此,观测到今天是否下⾬对于预测明天是否下⾬会 有极⼤的帮助。
我们可以使用概率的乘积规则来表示观测序列的联合概率分布,形式为
利用马尔科夫性,可以将上式变为⼀阶马尔科夫链(first-order Markov chain):
Image
根据我们在概率图模型中讲的 d-分离 性质,观测
的条件概率分布为
当然了,还可以有⼆阶马尔科夫链,其中特定的观测
依赖于前两次观测
和
的值:
Image
还有M阶马尔可夫链,当然计算代价也很大:如果有K个状态的离散变量,⼀阶马尔可夫链
需要
个参数;
而M阶马尔可夫
需要
个参数。
1.1 连续变量
1.1.1 Autoregressive (AR)
使⽤线性⾼斯条件概率分布, 每个结点都是⼀个⾼斯概率分布,均值是⽗结点的⼀个线性函数。
1.1.2 Tapped delay line
使用神经网络等参数化模型拟合
,因为它对应于存储(延迟)观测变量的前⾯M个值来预测下⼀个值。
2 状态空间模型 state space model
问题来了,我们既想构造任意阶数的、不受马尔可夫假设限制的序列模型,同时能够使⽤较少数量的⾃由参数确定。怎么做呢?引入隐变量。
对于每 个观测
,我们引⼊⼀个对应的潜在变量
(类型或维度可能与观测变量不同)。我们现在假设潜在变量构成了马尔科夫链,得到的图结构被称为状态空间模型(state space model)。
Image
它满⾜下⾯的关键的条件独⽴性质,即给定
的条件下,
和
是独⽴的,从而
联合概率分布为
HMM 这类引入隐变量的模型好处在于:根据d-分离准则,总存在⼀个通过隐变量连接任意两个观测变量
和
的路径,且这个路径永远不会被阻隔。这也就间接地解决了马尔可夫模型中需要直接连接多个之前观测的问题,相当于将
之前的观测信息全部包含在对应的隐变量
中。
2.1 隐马尔可夫 HMM隐变量:离散
观测变量:离散或连续
引例:以句子和词性对应为例,观测变量
为显式的句子,隐变量
为每一个单词对应的词性。
观测变量和隐变量上的联合概率分布为:
首先,定义HMM中用到的变量(2.1节适用)
给定模型
和观测序列
,求观测序列
在模型
下出现的条件概率
:
是隐状态转移概率矩阵,其中
,
为从隐状态
转移到
的频率计数;
是观测状态生成概率矩阵,其中
,
是从隐状态
对应观测
的频率计数;
是隐状态的初始概率分布,
是初始隐状态为
的频率计数。
HMM可以解决的三个问题:评估观察序列概率。
给定模型