本文详解paper "A Tutorial on HMMs and Selected Applications in Speech Recognition"并进行matlab实现(尽量用其他编程语言通用的实现)

举个简单的HMM例子
天气:

状态转移矩阵A size:state*state:

问接下来的7天天气依次是”sun sun rain rain…”的概率,也就是说observation
O = {S3, S3, S3, S1, S1, S3, S2, S3}的概率,对应时间t=1~8
给定model,要决定O的概率

再举个最简单的HMM模型:
几个碗,每个碗里几种不同颜色的球,每次随机选一个碗,再从选的碗里随机抽一个球,记下球的颜色
每个碗相当于state,每个碗中球的颜色概率相当于概率分布
每次随机选碗由状态转移矩阵决定
观测序列就是颜色

由此看出
HMM元素:

  1. N: state个数,每个state记为S={S1, S2, …, Sn},时间t处的state为qt

  2. M: 每个state有多少个observation symbols, 定义每个symbol为V={v1, v2, …, vM}

  3. 状态迁移概率分布A={aij}

  4. state j下observation symbol概率分布B={bj(k)}

  5. 初始state分布

给出上述5个值,HMM模型就可以按如下步骤产生observation序列
每个Ot是V中一个symbol,步骤如下

  1. 根据初始state分布pai选择初始q1 = S1
  2. t = 1
  3. 根据stateSi中的symbol概率分布选择Ot=vk,即bi(k)
  4. 根据迁移概率分布aij,从Si迁移到一个新的state qt+1=Sj
  5. t=t+1, 如果t<T返回步骤3, 反之结束

可以看出一个HMM需要2个模型参数N,M,3个概率参数A,B, pi, 记为

HMM设计的3个基本问题:

  1. 给定一个HMM模型,一个观测信号序列,估计出序列的概率
    给出observation序列, 模型lambda=(A,B,pi), 计算P(O | lambda)
    即模型与Observation有多匹配
  2. 决定最好的模型states
    给出observation序列,模型lambda=(A,B,pi), 选择state序列Q=q1q2…qT
    即探索隐性状态
  3. 调整模型参数来最好地解释观测到的信号
    调整lamba=(A,B,pi)使P(O | lambda)最大
    即用observation进行训练

problem 1的解法
给出observation序列, 模型lambda=(A,B,pi), 计算P(O | lambda)
最直观的解法,列举每个可能的state,长度为T(observation个数)
q1为初始state, state序列为Q=q1q2…qT

假设observation间统计独立


state序列的概率

联合概率


相当于初始q1概率 × q1下观测到O1的概率 × q1迁移到q2的概率 ×
q2下观测到O2的概率 …
它的计算量是2T.NT,所以需要减小计算量的方法forward-backward法

forward-backward法
定义变量

即部分观测序列O1~Ot, 并且在时间t处state=Si, 模型是lambda
归纳求解alpha_t(i)
注意alpha是从上一个不同state i 转移到一个state j

回忆变量

其中第2步,表示所有可能的Si迁移到Sj后,t+1时刻观测到Ot+1,
即O=O1~Ot+1的概率

backward变量

相当于给定模型,t时刻的state是Si, 在这个条件加从t+1~T的观察序列的概率

归纳解
初始化变量

每次迭代都要T时刻所有state下的初始状态都设为1
归纳

beta_t(i)代表t时刻是state Si,而倒推回t的t+1时刻的Sj可以是所有可能的state

那么从Si到Sj迁移概率是aij, 同时在Sj下的观测是Ot+1, 而Ot+1往后就是beta_t+1(j)
求和所有可能的state就得到上式
计算量N2T

详解HMM模型 及 实现(之一:problem1)相关推荐

  1. 详解HMM模型原理 及 实现(之四:matlab实现曲线分类)

    本文详解paper "A Tutorial on HMMs and Selected Applications in Speech Recognition"并进行matlab实现( ...

  2. 公开课报名 | 详解CNN-pFSMN模型以及在语音识别中的应用

    近年来,在深度学习技术的帮助下,语音识别取得了极大的进展,从实验室开始走向市场,走向实用化.基于语音识别技术的输入法.搜索和翻译等人机交互场景都有了广泛的应用. Librispeech是当前衡量语音识 ...

  3. 公开课 | 详解CNN-pFSMN模型以及在语音识别中的应用

    近年来,在深度学习技术的帮助下,语音识别取得了极大的进展,从实验室开始走向市场,走向实用化.基于语音识别技术的输入法.搜索和翻译等人机交互场景都有了广泛的应用. Librispeech是当前衡量语音识 ...

  4. 【转】图形流水线中坐标变换详解:模型矩阵、视角矩阵、投影矩阵

    转自:图形流水线中坐标变换详解:模型矩阵.视角矩阵.投影矩阵_sherlockreal的博客-CSDN博客_视角矩阵 图形流水线中坐标变换详解:模型矩阵.视角矩阵.投影矩阵 图形流水线中坐标变换过程 ...

  5. Apollo进阶课程㉘丨Apollo控制技术详解——基于模型的控制方法

    原文链接:进阶课程㉘丨Apollo控制技术详解--基于模型的控制方法 PID控制是一个在工业控制应用中常见的反馈回路部件,由比例单元P.积分单元I和微分单元D组成.PID控制的基础是比例控制:积分控制 ...

  6. 电机标幺化、PI标幺化、锁相环PLL标幺化 详解电机模型相关标幺化处理

    电机标幺化.PI标幺化.锁相环PLL标幺化 详解电机模型相关标幺化处理 电流环PI控制器的标幺化处理 观测器中PLL锁相环的标幺化处理 采样时间处理 这是文档,不是代码,文档中的代码均为引用举例子的 ...

  7. 电机标幺化、PI标幺化、锁相环PLL标幺化 详解电机模型相关标幺化处理 电流环PI控制器的标幺化处理

    电机标幺化.PI标幺化.锁相环PLL标幺化 详解电机模型相关标幺化处理 电流环PI控制器的标幺化处理 观测器中PLL锁相环的标幺化处理 采样时间处理 这是文档,不是代码,文档中的代码均为引用举例子的 ...

  8. 详解概率图模型——概述

    详解概率图模型--概述 详解概率图模型--概述 概率图 概览 有向图 vs. 无向图 有向图 无向图 判别式(discriminative)模型 and 生成式(generative)模型 前言 两个 ...

  9. 图形流水线中坐标变换详解:模型矩阵、视角矩阵、投影矩阵

    图形流水线中坐标变换详解:模型矩阵.视角矩阵.投影矩阵 图形流水线中坐标变换过程 模型矩阵:模型局部坐标系和世界坐标系之间的桥梁 1.模型局部坐标系存在的意义 2.根据模型局部坐标系中点求其在世界坐标 ...

最新文章

  1. JavaScript - this详解 (三)
  2. C++——新类型与原始字面量(原始字符串)
  3. comet OJ 01背包
  4. STM32关于BOOT0和BOOT1设置,去掉Debug后完成硬件独立运行。
  5. C++ STL的基本基本原理
  6. 7 useLayoutEffect、useDebugValue
  7. mysql许多连接错误而被阻止_怎样解决mysql连接过多的错误?
  8. 【ElasticSearch】Es 源码之 Discovery DiscoveryModule ZenDiscovery 源码解读
  9. Git协作流程(转)
  10. 使用SqlBulkCopy 批量操作大量数据
  11. 关于注册测绘师的点点滴滴
  12. [4G+5G专题-143]: 一体化小基站-硬件架构设计概述
  13. 站群php自动地图,Discuz自动采集-DZ站群系统自动更新-Discuz站群管理系统
  14. 三因子两水平doe_温故而知新 | DOE实验设计学习系列之(三):多因子DOE的魅力 (附视频)...
  15. 详解云计算中的业务敏捷性
  16. 【毕业设计】单片机 火灾智能报警系统 - 嵌入式 物联网
  17. idea 2021 IDEA的Persistence 窗口 查看ERD关系图
  18. 阿里云企业邮箱登陆地址,阿里云个人免费邮箱邮箱登陆地址分享
  19. SpringBoot2.x系列教程11--小花样之SpringBoot其他常用配置
  20. 用废旧纸箱 DIY 智能宠物喂食器!旅行在外远程投喂“二狗子”

热门文章

  1. 十八、redis6从入门到高级
  2. 智慧园区综合管理系统的实用案例分析
  3. PMP的报名、考试流程
  4. 以太坊-入门基础(以太坊黄皮书学习)
  5. EOS草根版黄皮书出炉了,熊市让我们学习吧
  6. ad中使用智能粘贴_AD10 复制问题(复制方法和智能粘贴 拼版)
  7. 使用reCAPTCHA实现验证码
  8. 排序系列三: 二分查找法
  9. Unity FairyGUI(一)
  10. 生信分析- Pysam应用