统计学习--HMM

2024-06-04 20:32
文章标签 统计 学习 hmm

本文主要是介绍统计学习--HMM,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

隐马尔可夫模型的定义:

HMM 是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程。(p171)

隐藏的马尔可夫链随机生成的状态的序列,称为状态序列
每个状态生成一个观测,而由此产生的观测的随机序列,称为观测序列
序列的每一个位置又可以看作是一个时刻 t。

隐马尔可夫模型由初始概率分布( π \pi π)状态转移概率分布(A)以及观测概率分布(B)确定。

  1. 一个模型:HMM三要素:
    A = [ a i j ] N ∗ N A=\left[ a_{ij} \right]_{N*N} A=[aij]NN,其中, a i j = P ( i t + 1 = q j ∣ i t = q i ) , i = 1 , 2 , . . . , N a_{ij}= P(i_{t+1}=q_j | i_t = q_i),i=1,2,...,N aij=P(it+1=qjit=qi),i=1,2,...,N
    B = [ b j ( k ) ] N ∗ M B=\left[ b_j(k) \right]_{N*M} B=[bj(k)]NM,其中, b j ( k ) = P ( o t = v k ∣ i t = q j ) , k = 1 , 2 , . . . , M ; j = 1 , 2 , . . . , N b_j(k) = P(o_t = v_k | i_t = q_j),k=1,2,...,M;j=1,2,...,N bj(k)=P(ot=vkit=qj),k=1,2,...,M;j=1,2,...,N
    π = ( π i ) \pi = (\pi_i) π=(πi),其中, π i = P ( i 1 = q i ) , i = 1 , 2 , . . . , N \pi_i = P(i_1=q_i),i=1,2,...,N πi=P(i1=qi),i=1,2,...,N

  2. HMM两个基本假设
    齐次马尔可夫性假设,即t 时刻状态只依赖于t-1时刻,与其他状态或观测无关。
    观测独立性假设,即任意时刻的观测只依赖于该时刻的状态。
    例子》 盒子和球

  3. HMM的3个基本问题
    在这里插入图片描述
    (1)evalution: 概率计算问题
    直接计算法、前向算法、后向算法
    (2)learning:学习问题
    监督学习算法:根据观测和状态序列计算频数,进而求得频率,最终求得到A、B、 π \pi π
    非监督学习算法:(Baum-Welch算法,即EM)目标也是学习HMM模型 λ = ( A , B , π ) \lambda=(A,B,\pi) λ=(A,B,π)的参数
    (3)decoding:预测问题,也叫解码问题。
    近似算法:在每个时刻t 选择该时刻最有可能出现的状态 i t ∗ i_t^{*} it,从而得到一个状态序列 I ∗ = ( i 1 ∗ , i 2 ∗ , … , i T ∗ ) I^{*} = (i_1^{*},i_2^{*},\dots,i_T^{*}) I=(i1,i2,,iT),将它作为预测的结果。
    维特比算法:
    动态规划解隐马尔可夫模型预测问题,即用动态规划求概率最大路径(最优路径),这时一条路径对应一个状态序列。
    初始化
    递归:
    终止:最大概率
    回溯:上一个节点

总结————————————————
Dynamic Model
—HMM( mixture + time )
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
参考:
白板推导
在这里插入图片描述
主要涉及5个算法:
Baum-Welch/ EM
Viterbi algorithm
Forward Algorithm
Backward Algorithm
Forward-Backward Algorithm

这篇关于统计学习--HMM的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1031040

相关文章

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Pandas中统计汇总可视化函数plot()的使用

《Pandas中统计汇总可视化函数plot()的使用》Pandas提供了许多强大的数据处理和分析功能,其中plot()函数就是其可视化功能的一个重要组成部分,本文主要介绍了Pandas中统计汇总可视化... 目录一、plot()函数简介二、plot()函数的基本用法三、plot()函数的参数详解四、使用pl

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx