HMM 隐马尔可夫模型
抄录自 周志华. 机器学习 (北京: 清华大学出版社) 第 133− 137 页 Zhou ZH 2016[J]. Machine Learning, 2016.
隐马尔可夫模型是结构最简单的动态贝叶斯网,是一种有向图模型,主要用于时序数据建模。隐马尔可夫模型中变量可以分为两组。第一组谁状态变量,,其中
表示第i时刻的系统状态,通常假定状态变量是隐藏的,不可以 观测的,因此状态变量也称为隐变量(hidden variable)。第二组是观测变量
, 其中
表示第i时刻的观测值。系统通常在多个状态
之间转换,因此状态变量
的取值范围(状态空间)
通常有N个可能取值的离散空间。观测变量
可以 是离散型也可以是连续型的,这里仅考虑离散型观测变量,并假定取值范围
。
图中的箭头表示变量间的依赖关系。在任一时刻,观测变量的取值仅依赖于状态变量,即(观测变量)由(状态变量)
确定,与其他状态变量以及观测变量的取值无关。同时,t时刻的状态
仅依赖与t-1时刻的状态
,与其余n-2的状态无关,这就是所谓的马尔可夫链。即系统的下一时刻的状态仅由当前状态决定,不依赖任何以往的任何状态。基于这种依赖关系,所有变量的联合概率分布为:
除了结构信息,想要确定一个隐马尔可夫模型还需要以下三组参数。
- 状态转移概率:模型在各个状态之间转换的概率,通常记作矩阵
,其中
,
表示在任意时刻t,若状态为
,则在下一时刻状态为
的概率。
- 输出观测概率:模型根据当前状态获得各个观测值的概率,通常记作为矩阵
,其中
,
表示在任意时刻,若状态为
,则观测值
被获取的概率。
- 初始状态概率:模型在初始时刻各个状态出现的概率,通常记作
,其中
,
,表示模型初始状态为
的概率。
通过指定状态空间,观测空间,和上述三组参数,就能确定一个隐马尔可夫模型,通常用来指代。给定隐马尔可夫模型,它按照如下过程产生观测序列:
:
(1) 设置t=1,根据初始状态概率选择初始状态
.
(2) 根据状态和输出观测概率B选择观测变量值
.
(3) 根据状态和状态转移矩阵A转移模型状态,即确定
。
(4) 若t<n,设置t=t+1,并转到第2步,否则停止。
其中,分别是t时刻的状态和观测值。
在实际应用中,人们常关注隐马尔可夫模型的三个基本问题:
(1)如何根据观测序列推断出隐藏的模型状态。即给定模型,和观测序列
,如何找到与此观测序列最匹配的状态序列
?
(2)如何训练模型,使它能够最好地描述观测数据?即给定观测序列,如何调整模型参数使该观测序列出现的概率
最大?
(3)如何评估模型与观测序列之间的匹配程度?即给定模型,如何有效计算其产生观测序列
的概率
?
HMM 隐马尔可夫模型相关推荐
- NLP基础 : HMM 隐马尔可夫模型
Hidden Markov Model, HMM 隐马尔可夫模型,是一种描述隐性变量(状态)和显性变量(观测状态)之间关系的模型.该模型遵循两个假设,隐性状态i只取决于前一个隐性状态i-1,而与其他先 ...
- 李航《统计学习方法》之HMM隐马尔可夫模型
李航<统计学习方法>之HMM隐马尔可夫模型 文章目录 前言 一.基本概念 1.语言描述: 2.符号表示 3.基本假设 4.例子 5.隐马尔可夫模型解决的三个基本问题 二.概率计算算法 1. ...
- HMM隐马尔科夫模型(附维特比代码)
背景知识:马尔科夫模型 1 马尔科夫的局限性 在一些情况下,我们并不能直接得到观测的结果,比如在天气系统中,我们不能直接得到天气的状态,但是我们有一堆蚂蚁,可以从蚂蚁的行为状态找到天气变化的关系规律. ...
- 第五篇:HMM 隐马尔可夫模型
目录 概览 训练 预测(维特比算法) 概览 HMM本身也是用于序列标注,为什么需要HMM? POS 标记,我们按照一句话为一个类别,也就是将该句子中的每个词的对应的类别,连起来作为一个类别,比如NN_ ...
- 【自然语言处理】hmm隐马尔可夫模型进行中文分词 代码
本文摘要 · 理论来源:[统计自然语言处理]第七章 自动分词:[统计学习方法]第十章 隐马尔可夫模型 · 代码目的:手写HMM进行中文分词 作者:CSDN 征途黯然. 一.数据集 数据集的形式如下 ...
- 【机器学习基础】数学推导+纯Python实现机器学习算法24:HMM隐马尔可夫模型
Python机器学习算法实现 Author:louwill Machine Learning Lab HMM(Hidden Markov Model)也就是隐马尔可夫模型,是一种由隐藏的马尔可夫链随机 ...
- HMM隐马尔科夫模型浅析
http://www.zhihu.com/question/20962240 著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:Yang Eninala 链接:http:/ ...
- HMM隐马尔可夫模型(HMM)攻略
隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语言识别,自然语言处理以及生物信息等领域体现了很大的价 ...
- 机器学习——HMM(隐马尔可夫模型的基本概念)(一)
[开始之前]由于隐马尔可夫模型属于机器学习中比较难也比较重要的知识,所以此算法笔者将分段讲解,本文主要讲的是隐马尔可夫模型的定义以及相关例子,在后续的文章中会讲到概率计算方法如前向算法.后向算法.学习 ...
- HMM隐马尔可夫模型进行中文文本分词
文章目录 一.HMM简述 1.引入 2.隐马尔科夫模型 (1)定义(Definition of a hidden Markov model) (2)应用 3.前向算法(了解) 4. 维特比算法 5.前 ...
最新文章
- 游戏中每日刷新实现思路浅析
- iOS原生WebView中JavaScript和OC交互
- 我的世界java版游戏崩溃_我的世界:MC不一样的冷知识,游戏崩溃?没想到你是这样的F3!...
- 【Spark】SparkStreaming-Kafka-Redis-集成-基础参考资料
- 【汉化】DevExpress插件中RichEdit控件的自定义汉化方法
- python strip_Python strip()方法
- 【Vegas原创】如何配置 SQL Server 2005 以允许远程连接
- 我的世界java1.15.2光影_我的世界Java版带光影
- 严重: Compilation error org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
- 解决Linux“Device is busy”与磁盘只读
- 拉普拉斯-Laplacian
- windows11删除此电脑的6个图标,包括视频、图片、文档、下载、音乐、桌面
- Problem B: 薪酬计算
- php 获取hashcode,产生runnable
- blackjack java gui_求助一个java的题,blackjack, class 分为Card 和Deck,求大神帮我做一个程序...
- 决定系数 均方误差mse_误差分析计算公式及其 matlab 代码实现(mse、mape、rmse等)...
- 虚拟机命令里面的光标不动了怎么办_Linux 中实用但很小众的 11 个炫酷终端命令...
- Python爬虫实战:爬取股票信息
- 魔兽世界8.0哪个服务器稳定,魔兽世界8.0怀旧服是哪个版本 8.0怀旧服详细介绍...
- 软件配置管理之配置管理计划