首页 > 其他分享 >HMM隐马尔可夫模型

HMM隐马尔可夫模型

时间:2023-12-25 10:06:11浏览次数:32  
标签:状态 模型 观测 HMM 马尔可夫 序列 时刻 隐藏


隐马尔可夫模型


文章目录

  • 隐马尔可夫模型
  • 定义
  • HMM模型的应用
  • Problem 1
  • 直接计算
  • 前向计算
  • 后向计算
  • Problem 2


定义

隐马尔科夫模型(Hidden Markov Model, HMM)是建模序列数据的图模型

HMM隐马尔可夫模型_马尔科夫链

在HMM模型存在隐藏状态HMM隐马尔可夫模型_马尔科夫链_02,以及观测状态HMM隐马尔可夫模型_Problem_03

HMM隐马尔可夫模型_Problem_04为所有隐藏状态的集合,HMM隐马尔可夫模型_机器学习_05为所有观测状态的集合,即
HMM隐马尔可夫模型_马尔科夫链_06
设存在长度为HMM隐马尔可夫模型_机器学习_07的序列,其中HMM隐马尔可夫模型_建模_08对应的状态序列,HMM隐马尔可夫模型_Problem_04是对应的观察序列
HMM隐马尔可夫模型_Problem_10
其中HMM满足齐次马尔科夫链假设,即即任意时刻的隐藏状态只依赖于它前一个隐藏状态,一般来说, 给定状态HMM隐马尔可夫模型_建模_11,对于时刻HMM隐马尔可夫模型_机器学习_12HMM隐马尔可夫模型_机器学习_13, 则HMM隐马尔可夫模型_建模_14HMM隐马尔可夫模型_Problem_15相互独立。同时满足观测独立性假设。即任意时刻的观察状态只仅仅依赖于当前时刻的隐藏状态,即给定状态HMM隐马尔可夫模型_建模_11,对于输出状态HMM隐马尔可夫模型_机器学习_17HMM隐马尔可夫模型_机器学习_18也相互独立

定义在HMM隐马尔可夫模型_马尔科夫链_19时刻隐藏状态为HMM隐马尔可夫模型_建模_20HMM隐马尔可夫模型_Problem_21时刻隐藏状态为HMM隐马尔可夫模型_建模_22的转移概率为HMM隐马尔可夫模型_马尔科夫链_23,即
HMM隐马尔可夫模型_建模_24
同时HMM隐马尔可夫模型_马尔科夫链_23可以组成马尔科夫链的状态转移矩阵HMM隐马尔可夫模型_机器学习_26
HMM隐马尔可夫模型_马尔科夫链_27
定义在HMM隐马尔可夫模型_马尔科夫链_19时刻隐藏状态为HMM隐马尔可夫模型_Problem_29观测到HMM隐马尔可夫模型_Problem_30的概率为HMM隐马尔可夫模型_建模_31,即
HMM隐马尔可夫模型_马尔科夫链_32
同时HMM隐马尔可夫模型_建模_31可以组成马尔科夫链的观测概率矩阵HMM隐马尔可夫模型_建模_34
HMM隐马尔可夫模型_Problem_35
并定义在HMM隐马尔可夫模型_马尔科夫链_36时刻的隐藏状态概率分布HMM隐马尔可夫模型_马尔科夫链_37
HMM隐马尔可夫模型_马尔科夫链_38
可知一个HMM模型可以由隐藏状态初始概率分布 HMM隐马尔可夫模型_马尔科夫链_37 , 状态转移概率矩阵 HMM隐马尔可夫模型_机器学习_26 和观测状态概率矩阵 HMM隐马尔可夫模型_建模_34 决定。HMM隐马尔可夫模型_马尔科夫链_42 决定状态序列,HMM隐马尔可夫模型_建模_34 决定观测序列。因此,HMM模型可以由一个三元组HMM隐马尔可夫模型_机器学习_44表示如下: HMM隐马尔可夫模型_建模_45

HMM模型的应用

其中HMM主要设计到三个经典问题

problem 1: 在给定HMM模型HMM隐马尔可夫模型_建模_45的的情况下,预测HMM隐马尔可夫模型_建模_47出现的概率

problem 2: 在给定HMM模型HMM隐马尔可夫模型_建模_45与观测状态HMM隐马尔可夫模型_建模_47的情况下,预测相应的隐状态

problem 3:

Problem 1

直接计算

当给定模型HMM模型HMM隐马尔可夫模型_建模_45和观测序列HMM隐马尔可夫模型_建模_47,求观测序列HMM隐马尔可夫模型_马尔科夫链_52在HMM中出现的概率HMM隐马尔可夫模型_Problem_53

计算HMM隐马尔可夫模型_建模_54出现的概率
HMM隐马尔可夫模型_机器学习_55
其中观测序列HMM隐马尔可夫模型_建模_47HMM隐马尔可夫模型_建模_54情况下出现的概率
HMM隐马尔可夫模型_马尔科夫链_58
根据联合概率公式可得
HMM隐马尔可夫模型_机器学习_59
然后计算边缘概率
HMM隐马尔可夫模型_Problem_60
虽然直接计算方法有效,但是如果隐藏状态数HMM隐马尔可夫模型_建模_61 非常多,此时预测状态有HMM隐马尔可夫模型_建模_62 种组合,算法的时间复杂度是 HMM隐马尔可夫模型_建模_63

前向计算

前向概率:时刻HMM隐马尔可夫模型_马尔科夫链_19部分观测序列为HMM隐马尔可夫模型_机器学习_65 ,且隐藏状态为HMM隐马尔可夫模型_马尔科夫链_66的概率为
HMM隐马尔可夫模型_Problem_67
可得时刻HMM隐马尔可夫模型_马尔科夫链_19部分观测序列为HMM隐马尔可夫模型_机器学习_65 ,隐藏状态为HMM隐马尔可夫模型_马尔科夫链_70HMM隐马尔可夫模型_Problem_21时刻隐藏状态为HMM隐马尔可夫模型_马尔科夫链_66的概率为HMM隐马尔可夫模型_建模_73,可推出时刻HMM隐马尔可夫模型_马尔科夫链_19部分观测序列为HMM隐马尔可夫模型_机器学习_65 ,且HMM隐马尔可夫模型_Problem_21时刻隐藏状态为HMM隐马尔可夫模型_马尔科夫链_66的概率为HMM隐马尔可夫模型_马尔科夫链_78,若HMM隐马尔可夫模型_Problem_21时刻的观测状态为HMM隐马尔可夫模型_建模_80,则可以得到HMM隐马尔可夫模型_Problem_21时刻观测序列为HMM隐马尔可夫模型_机器学习_82HMM隐马尔可夫模型_Problem_21时刻隐藏状态为HMM隐马尔可夫模型_马尔科夫链_66的概率为:
HMM隐马尔可夫模型_马尔科夫链_85
由此得到了从前向概率的递推表达式

算法描述

输入:HMM模型HMM隐马尔可夫模型_建模_45 ,观测序列HMM隐马尔可夫模型_建模_87
输出:观测序列概率 HMM隐马尔可夫模型_Problem_53

  1. 初值

HMM隐马尔可夫模型_机器学习_89

  1. 递推 对HMM隐马尔可夫模型_Problem_90

HMM隐马尔可夫模型_机器学习_91

  1. 终止

HMM隐马尔可夫模型_机器学习_92

算法时间复杂度是HMM隐马尔可夫模型_马尔科夫链_93

后向计算

后向概率:时刻HMM隐马尔可夫模型_Problem_21到最后时刻HMM隐马尔可夫模型_机器学习_07的部分观测序列为HMM隐马尔可夫模型_Problem_96 ,且时刻HMM隐马尔可夫模型_马尔科夫链_19的隐藏状态为HMM隐马尔可夫模型_马尔科夫链_66的概率为
HMM隐马尔可夫模型_马尔科夫链_99
可得HMM隐马尔可夫模型_机器学习_100到最后时刻HMM隐马尔可夫模型_机器学习_07观测状态为HMM隐马尔可夫模型_Problem_102HMM隐马尔可夫模型_马尔科夫链_19时刻隐藏状态为HMM隐马尔可夫模型_马尔科夫链_66HMM隐马尔可夫模型_Problem_21时刻隐藏状态为HMM隐马尔可夫模型_马尔科夫链_70的概率为HMM隐马尔可夫模型_机器学习_107,当HMM隐马尔可夫模型_Problem_21时刻观测到的状态HMM隐马尔可夫模型_建模_80,此时概率为HMM隐马尔可夫模型_Problem_110,可得时刻HMM隐马尔可夫模型_马尔科夫链_19到最后时刻HMM隐马尔可夫模型_机器学习_07的部分观测序列为HMM隐马尔可夫模型_Problem_96 ,且时刻HMM隐马尔可夫模型_马尔科夫链_19的隐藏状态为HMM隐马尔可夫模型_马尔科夫链_66的概率为
HMM隐马尔可夫模型_机器学习_116
算法描述

输入:HMM模型HMM隐马尔可夫模型_建模_45 ,观测序列HMM隐马尔可夫模型_建模_87
输出:观测序列概率HMM隐马尔可夫模型_Problem_53

  1. 初始化时刻HMM隐马尔可夫模型_马尔科夫链_120的各个隐藏状态后向概率:

HMM隐马尔可夫模型_Problem_121

  1. 递推时刻HMM隐马尔可夫模型_建模_122

HMM隐马尔可夫模型_马尔科夫链_123

  1. 计算最终结果:

HMM隐马尔可夫模型_机器学习_124

算法时间复杂度是HMM隐马尔可夫模型_马尔科夫链_93

Problem 2

在给定HMM模型HMM隐马尔可夫模型_建模_45与观测状态HMM隐马尔可夫模型_建模_47的情况下,预测相应的隐状态

这里主要采用Viterbi算法

设在HMM隐马尔可夫模型_马尔科夫链_19时刻观测序列为HMM隐马尔可夫模型_机器学习_65,隐状态为HMM隐马尔可夫模型_建模_130,其中隐状态集合为HMM隐马尔可夫模型_建模_54

设在时刻HMM隐马尔可夫模型_马尔科夫链_19隐藏状态为HMM隐马尔可夫模型_建模_133在观测序列为HMM隐马尔可夫模型_机器学习_65且所有可能的状态转移路径HMM隐马尔可夫模型_建模_135 中的概率最大值为HMM隐马尔可夫模型_建模_136
HMM隐马尔可夫模型_马尔科夫链_137
此时可以推导出HMM隐马尔可夫模型_Problem_21时刻
HMM隐马尔可夫模型_马尔科夫链_139
为了能够回溯,定义在时刻HMM隐马尔可夫模型_马尔科夫链_19隐藏状态为HMM隐马尔可夫模型_建模_133(其中HMM隐马尔可夫模型_建模_133为所有可能的状态转移路径HMM隐马尔可夫模型_建模_135 中的概率最大的)从时刻HMM隐马尔可夫模型_马尔科夫链_144隐藏状态为HMM隐马尔可夫模型_机器学习_145,则存在
HMM隐马尔可夫模型_建模_146
因为在HMM隐马尔可夫模型_马尔科夫链_19时刻的观测状态HMM隐马尔可夫模型_马尔科夫链_148确定所以HMM隐马尔可夫模型_机器学习_149确定,于是存在
HMM隐马尔可夫模型_机器学习_150
算法描述

输入:HMM模型HMM隐马尔可夫模型_建模_45 ,观测序列HMM隐马尔可夫模型_建模_87

输出:最有可能的隐藏状态序列HMM隐马尔可夫模型_机器学习_153

  1. 初始化

HMM隐马尔可夫模型_机器学习_154

  1. 递推 对HMM隐马尔可夫模型_建模_155

HMM隐马尔可夫模型_建模_156

  1. 计算HMM隐马尔可夫模型_马尔科夫链_120时刻最大的HMM隐马尔可夫模型_建模_158即为隐藏状态出现最大的概率,HMM隐马尔可夫模型_马尔科夫链_159HMM隐马尔可夫模型_马尔科夫链_120时刻最有可能出现的隐藏状态

HMM隐马尔可夫模型_建模_161

  1. 利用HMM隐马尔可夫模型_马尔科夫链_159进行回溯得到最有可能的隐藏状态序列

HMM隐马尔可夫模型_机器学习_163

最有可能的隐藏状态序列HMM隐马尔可夫模型_机器学习_153


标签:状态,模型,观测,HMM,马尔可夫,序列,时刻,隐藏
From: https://blog.51cto.com/u_14189203/8963524

相关文章

  • 成为AI大模型工程师/产品经理,成就丰盛人生
    500多名学员正在参加近屿智能OJAC举办的第五期AIGC星辰大海:大模型工程师和产品专家深度训练营。AIGC星辰大海:大模型工程师和产品专家深度训练营秉持“实战导向,项目驱动”的教学理念,从预训练、数据清洗、数据标注、微调大模型到增量预训练以及开发软硬件AI产品,多位AI博士全程亲自指......
  • OSI七层模型
    (OSI七层模型)OSI七层模型1.物理层物理层主要定义了物理设备的标准,如网线的类型,光纤的接口类型,各种传输介质的传输速率。物理层是OSI七层模型的物理基础,没有它就谈不上数据传输了。物理层就是由实物所承载的,所以作比喻的话,公路、汽车和飞机等承载货物(数据)的交通工具,就是物理......
  • 0基础学训练AIGC大模型,三个月成为AI领域的精英人才!
    近屿智能OJAC“AIGC星辰大海:大模型工程师与产品专家深度训练营”第五期正在火热学习中,期望转型成为AIGC大模型工程师或者产品经理的朋友们,可以抓紧时间联系我们报名第六期啦~ 别人教您使用AIGC产品,我们教您增量预训练和精调大模型和创造AI产品! 如果您正在考虑转型成为AIGC大模型......
  • 基于pytorch写一个三层神经网络,训练数据并导出模型
     importtorchimporttorch.nnasnnimporttorch.optimasoptim#定义三层神经网络classThreeLayerNN(nn.Module):def__init__(self,input_size,hidden_size1,hidden_size2,output_size):super(ThreeLayerNN,self).__init__()self.fc1=......
  • 人工智能和云计算带来的技术变革:从人工智能的算法到模型
    1.背景介绍人工智能(ArtificialIntelligence,AI)和云计算(CloudComputing)是当今最热门的技术领域之一。随着数据规模的增加、计算能力的提升以及算法的创新,人工智能技术的发展得到了重大推动。云计算则为人工智能提供了强大的计算资源和数据存储,从而使得人工智能技术的应用得以广泛......
  • 人工智能大模型原理与应用实战:自然语言处理技术
    1.背景介绍自然语言处理(NLP)是人工智能(AI)领域的一个重要分支,其主要目标是让计算机能够理解、生成和处理人类语言。随着大数据、深度学习和自然语言处理等技术的发展,人工智能大模型在自然语言处理领域取得了显著的进展。本文将介绍人工智能大模型原理与应用实战:自然语言处理技术,包括......
  • 人工智能算法原理与代码实战:LDA主题模型介绍与实战
    1.背景介绍人工智能(ArtificialIntelligence,AI)是一门研究如何让计算机自主地完成人类智能任务的学科。人工智能算法是人工智能领域的核心内容之一,它旨在解决复杂问题,提高计算机的智能水平。在过去的几年里,人工智能算法已经取得了显著的进展,它们已经被广泛应用于各种领域,包括自然......
  • 人工智能算法原理与代码实战:贝叶斯模型的精髓
    1.背景介绍人工智能(ArtificialIntelligence,AI)是一门研究如何让计算机模拟人类智能的学科。人类智能可以分为两类:一类是通过经验和经训练而获得的,另一类是通过基于理论的推理而获得的。因此,人工智能也可以分为两类:经验学习(MachineLearning)和基于规则的系统(Rule-BasedSystems)。......
  • 人工智能算法原理与代码实战:从深度学习框架到模型部署
    1.背景介绍人工智能(ArtificialIntelligence,AI)是一门研究如何让计算机模拟人类智能行为的科学。人工智能的主要目标是开发一种能够理解自然语言、学习自主思考、进行决策和行动的计算机系统。人工智能的发展历程可以分为以下几个阶段:1.1早期人工智能(1950年代至1970年代)早期人工......
  • 人工智能大模型原理与应用实战:从Autoencoder到Variational Autoencoder
    1.背景介绍人工智能(ArtificialIntelligence,AI)是计算机科学的一个分支,研究如何让计算机模拟人类的智能。在过去的几年里,人工智能技术的发展非常迅速,尤其是在深度学习(DeepLearning)方面。深度学习是一种通过多层神经网络学习表示的方法,它已经取得了巨大的成功,例如在图像识别、语音......