作者:CHEONG

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

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

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

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

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

一、核心结论

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

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

复杂计算的时间复杂度为O(NT)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(TN2)O(TN^2)O(TN2)

二、复杂计算

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

其中:

其中:

因此:

同理可得:

所以:

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

三、前向算法

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

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

因此:

所以:

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

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

因此:

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

并且

所以可以得到递推式:

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

四、后向算法

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

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

因此:

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

其中:

因此:

其中:

因此:

因此只需要通过后向算法求出β1(i)\beta_1(i)β1​(i),便可以求解p(O∣λ)p(O|\lambda)p(O∣λ),接下来推导βt(i)\beta_t(i)βt​(i)的递推公式

结合上图,其中:

因此:

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

因此:

从而得到了β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第二讲 ,原创不易,有用就点个赞呀!

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

  1. m基于隐马尔科夫模型(HMM)的手机用户行为预测(MMUB)算法matlab仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 隐马尔可夫模型(Hidden Markov Model,HMM)是一种统计模型,广泛应用在语音识别, ...

  2. 机器学习-- > 隐马尔科夫模型(HMM)

    博客内容将首发在微信公众号"跟我一起读论文啦啦",上面会定期分享机器学习.深度学习.数据挖掘.自然语言处理等高质量论文,欢迎关注! 本篇博文将详细总结隐马模型相关知识,理解该模型有 ...

  3. 【NLP | 机器学习】隐马尔科夫模型与代码实现

    1.马尔科夫模型.马尔科夫网络.马尔科夫过程.贝叶斯网络的区别       前提条件:将随机变量作为节点,若两个随机变量相关或不独立,则将二者连接一条边:若给定的若干个随机变量,则构成一个有向图 若该 ...

  4. 隐马尔科夫模型 (HMM) 算法介绍及代码实现

    Table of Contents Hidden Markov Model (隐马尔科夫模型) 定义 基本问题 前向算法 算法流程 实现代码 后向算法 算法流程 实现代码 Viterbi算法 算法流程 ...

  5. 隐马尔科夫模型HMM详解(1)

    目录 隐马尔科夫模型基本概念 隐马尔科夫模型的三个基本问题 概率计算 预测算法-Viterbi算法 HMM学习算法参考下篇文章 代码地址:https://gitee.com/liangcd/speec ...

  6. 隐马尔科夫模型(Hidden Markov Models) 系列之五

    隐马尔科夫模型(Hidden Markov Models) 系列之五 介绍(introduction) 生成模式(Generating Patterns) 隐含模式(Hidden Patterns) ...

  7. 20200918:【广发金融工程】2018年重磅专题系列之九:基于隐马尔科夫模型的选股策略研究

    参考链接:https://www.sohu.com/a/252454782_465470 [广发金融工程]2018年重磅专题系列之九:基于隐马尔科夫模型的选股策略研究 2018-09-07 11:26 ...

  8. 隐马尔科夫模型(Hidden Markov Models) 系列之三

    隐马尔科夫模型(Hidden Markov Models) 系列之三 介绍(introduction) 生成模式(Generating Patterns) 隐含模式(Hidden Patterns) ...

  9. 隐马尔科夫模型(Hidden Markov Models) 系列之四

    隐马尔科夫模型(Hidden Markov Models) 系列之四 介绍(introduction) 生成模式(Generating Patterns) 隐含模式(Hidden Patterns) ...

  10. 隐马尔科夫模型(Hidden Markov Models) 系列之一

    隐马尔科夫模型(Hidden Markov Models) 系列之一 介绍(introduction) 生成模式(Generating Patterns) 隐含模式(Hidden Patterns) ...

最新文章

  1. 装系统w7、ubuntu、centos等系统(一)
  2. asp.net 中Gridview 使用总结
  3. editor 插入图片之后将光标放到右侧_通过vscode插件自动上传剪贴板图片至aws s3
  4. 集成 AquaLogic BPM Suite 6.0 和 AquaLogic Service Bus
  5. 七、朴素贝叶斯中文文本分类
  6. mysql5.6优化建议
  7. mysql数据库连接失败,挑战大厂重燃激情!
  8. spring webflow getting start
  9. 冲压模板自动标注LISP_干货满满!超实用冲压模具资料,加薪必看!
  10. strtotime()加半个小时_椰子鸡这样做太好吃了,一滴水不用加,鲜香嫩滑,做法非常简单...
  11. 项目管理系列:项目启动会
  12. 从微软和思科的 IT 服务化转型过程中得到的几点思考
  13. 基于java图书销售系统
  14. vrep和simulink联合仿真
  15. LaTeX详细教程+技巧总结
  16. 中国足球深度剖析之五,破除周期性怪圈
  17. 内存对齐是什么?为什么要内存对齐?
  18. 北斗GPS同步时钟(授时系统)技术原理详解
  19. 思科路由器配置enable password
  20. c语言程序个人实验报告,C语言程序设计实验报告(5)

热门文章

  1. 转: Eclipse自动提示功能
  2. 浅谈Nodejs应用主文件index.js组成部分——略详解
  3. Android 虚拟机快捷键
  4. Oracle技术之使用dd复制asm中文件
  5. 黑客攻击成网络安全大患 危害长久
  6. 流浪北京的日子(二)
  7. js实现简单的全选和反选
  8. Java实现棒子老虎鸡小游戏
  9. sudo spctl --master-disable_2020推荐聊城灭火器检测--正规企业--【聊城市久安消防】...
  10. 2020年不能启动win7_包装车间2020年大修正式启动