统计学习--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

相关文章

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

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

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

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

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

opencv实现像素统计的示例代码

《opencv实现像素统计的示例代码》本文介绍了OpenCV中统计图像像素信息的常用方法和函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 统计像素值的基本信息2. 统计像素值的直方图3. 统计像素值的总和4. 统计非零像素的数量

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

hdu1496(用hash思想统计数目)

作为一个刚学hash的孩子,感觉这道题目很不错,灵活的运用的数组的下标。 解题步骤:如果用常规方法解,那么时间复杂度为O(n^4),肯定会超时,然后参考了网上的解题方法,将等式分成两个部分,a*x1^2+b*x2^2和c*x3^2+d*x4^2, 各自作为数组的下标,如果两部分相加为0,则满足等式; 代码如下: #include<iostream>#include<algorithm