【机器学习系列】隐马尔科夫模型第二讲:前向算法、后向算法


作者:CHEONG

公众号:AI机器学习与知识图谱

研究方向:自然语言处理与知识图谱


阅读本文之前,首先注意以下两点:

1、机器学习系列文章常含有大量公式推导证明,为了更好理解,文章在最开始会给出本文的重要结论,方便最快速度理解本文核心。需要进一步了解推导细节可继续往后看。

2、文中含有大量公式,若读者需要获取含公式原稿Word文档,可关注公众号后回复:HMM第二讲,本文主要讲解使用前向算法和后向算法求解隐马尔科夫模型的Evaluation问题。



一、核心结论


1.HMM Evaluation问题定义:已知参数 λ = ( π , A , B ) \lambda=(\pi,A,B) λ=(π,A,B),求输出观测序列 O O O的概率 p ( O ∣ λ ) p(O|\lambda) p(Oλ)


2.常规复杂计算 p ( O ∣ λ ) p(O|\lambda) p(Oλ)

在这里插入图片描述

复杂计算的时间复杂度为 O ( N T ) O(N^T) O(NT)


3.前向算法,假设:

在这里插入图片描述

α t ( i ) \alpha_t(i) αt(i)递推式得 α T ( i ) \alpha_T(i) αT(i),最终得出:

在这里插入图片描述


4.后向算法,假设:

在这里插入图片描述

β t ( i ) \beta_t(i) βt(i)递归式得 β 1 ( i ) \beta_1(i) β1(i),最终得出:

在这里插入图片描述

前向、后向算法的时间复杂度为 O ( T N 2 ) O(TN^2) O(TN2)



二、复杂计算


一般情况下,求解 p ( O ∣ λ ) p(O|\lambda) p(Oλ)的时间复杂度为 O ( N T ) O(N^T) O(NT),指数级的复杂度,运算如下:

在这里插入图片描述

其中:

在这里插入图片描述

其中:

在这里插入图片描述

因此:

在这里插入图片描述

同理可得:

在这里插入图片描述

所以:

【机器学习系列】隐马尔科夫模型第二讲:前向算法、后向算法_第1张图片

由此可见,常规计算的时间复杂度是 O ( N T ) O(N^T) O(NT)



三、前向算法


下面介绍通过前向算法来求解 p ( O ∣ λ ) p(O|\lambda) p(Oλ),如下图所说:

【机器学习系列】隐马尔科夫模型第二讲:前向算法、后向算法_第2张图片

根据上图,先给出一个假设变量

在这里插入图片描述

因此:

在这里插入图片描述

所以:

在这里插入图片描述

接下来目的便是找出 α t ( i ) \alpha_t(i) αt(i)的递推式,从而可以方便的求出 α T ( i ) \alpha_T(i) αT(i),最终求得 p ( O ∣ λ ) p(O|\lambda) p(Oλ)

【机器学习系列】隐马尔科夫模型第二讲:前向算法、后向算法_第3张图片

根据观测独立假设,存在:

在这里插入图片描述

因此:

【机器学习系列】隐马尔科夫模型第二讲:前向算法、后向算法_第4张图片

根据齐次马尔科夫假设,存在:

在这里插入图片描述

并且

在这里插入图片描述

所以可以得到递推式:

在这里插入图片描述

从而便得到了前向算法的递归公式,通过递归公式便可以计算出 p ( O ∣ λ ) p(O|\lambda) p(Oλ)



四、后向算法


下面介绍通过后向算法来求解 p ( O ∣ λ ) p(O|\lambda) p(Oλ),如下图所说:

【机器学习系列】隐马尔科夫模型第二讲:前向算法、后向算法_第5张图片

根据上图,先做出一个假设:

在这里插入图片描述

因此:

在这里插入图片描述

所以可以通过上述假设变量求出 p ( O ∣ λ ) p(O|\lambda) p(Oλ),推导过程如下:

【机器学习系列】隐马尔科夫模型第二讲:前向算法、后向算法_第6张图片

其中:

在这里插入图片描述

因此:

【机器学习系列】隐马尔科夫模型第二讲:前向算法、后向算法_第7张图片

其中:

在这里插入图片描述

因此:

在这里插入图片描述

因此只需要通过后向算法求出 β 1 ( i ) \beta_1(i) β1(i),便可以求解 p ( O ∣ λ ) p(O|\lambda) p(Oλ),接下来推导 β t ( i ) \beta_t(i) βt(i)的递推公式
【机器学习系列】隐马尔科夫模型第二讲:前向算法、后向算法_第8张图片

结合上图,其中:

在这里插入图片描述

因此:

【机器学习系列】隐马尔科夫模型第二讲:前向算法、后向算法_第9张图片

根据观测独立假设,其中:

在这里插入图片描述

因此:

在这里插入图片描述

从而得到了 β t ( i ) \beta_t(i) βt(i)的递归式,可以求出 p ( O ∣ λ ) p(O|\lambda) p(Oλ)



三、往期精彩


【知识图谱系列】Over-Smoothing 2020综述

【知识图谱系列】基于生成式的知识图谱预训练模型

【知识图谱系列】基于2D卷积的知识图谱嵌入

【知识图谱系列】基于实数或复数空间的知识图谱嵌入

【知识图谱系列】自适应深度和广度图神经网络模型

【知识图谱系列】知识图谱多跳推理之强化学习

【知识图谱系列】知识图谱的神经符号逻辑推理

【知识图谱系列】动态时序知识图谱EvolveGCN

【知识图谱系列】多关系神经网络CompGCN

【知识图谱系列】探索DeepGNN中Over-Smoothing问题

【知识图谱系列】知识图谱表示学习综述 | 近30篇优秀论文串讲

【知识图谱系列】动态知识图谱表示学习综述 | 十篇优秀论文导读

【面经系列】八位硕博大佬的字节之旅

【机器学习系列】机器学习中的两大学派

各大AI研究院共35场NLP算法岗面经奉上

干货 | Attention注意力机制超全综述

干货 | NLP中的十个预训练模型

干货|一文弄懂机器学习中偏差和方差

FastText原理和文本分类实战,看这一篇就够了

Transformer模型细节理解及Tensorflow实现

GPT,GPT2,Bert,Transformer-XL,XLNet论文阅读速递

机器学习算法篇:最大似然估计证明最小二乘法合理性

Word2vec, Fasttext, Glove, Elmo, Bert, Flair训练词向量教程+数据+源码


原稿获取请关注公众号后回复:HMM第二讲 ,原创不易,有用就点个赞呀!

你可能感兴趣的:(机器学习,机器学习,HMM,隐马尔可夫模型,前向算法,后向算法)