马尔科夫模型和隐马尔科夫模型区别

我用一个天气预报海藻湿度观测的比喻来解释,保证你秒懂!


1. 马尔可夫模型(Markov Model, MM)

特点:状态直接可见
  • 场景:天气预报(晴天→雨天→阴天…)
  • 核心假设
    下一个状态只由当前状态决定(马尔可夫性)
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
公式举例

状态转移概率矩阵:
[
P = \begin{bmatrix}
P(\text{晴}→\text{晴}) & P(\text{晴}→\text{雨}) \
P(\text{雨}→\text{晴}) & P(\text{雨}→\text{雨})
\end{bmatrix}
]
例如:
今天晴天 → 明天70%继续晴,30%下雨

用途

直接预测可见状态序列(如天气变化)。


2. 隐马尔可夫模型(Hidden Markov Model, HMM)

特点:状态不可见,只能通过观测推断
  • 场景
    通过海藻湿度(观测)猜测天气(隐藏状态)
    (假设雨天时海藻更湿,但你看不到天气本身)
  • 双重随机过程
    • 隐藏状态链:天气(晴/雨)
    • 观测链:海藻湿度(干/湿)
      外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
三大要素
  1. 状态转移矩阵(天气变化概率)
  2. 观测概率矩阵(某天气下海藻湿度的概率)
  3. 初始状态分布(第一天的天气概率)
公式举例

观测概率:
[
P(\text{海藻湿} | \text{雨}) = 0.8, \quad P(\text{海藻干} | \text{晴}) = 0.7
]

三大经典问题
  1. 评估问题:已知模型,计算观测序列的概率(Forward-Backward算法)
  2. 解码问题:通过观测序列反推最可能的状态序列(Viterbi算法)
  3. 学习问题:通过观测数据训练模型参数(Baum-Welch算法)

核心区别对比表

特性马尔可夫模型 (MM)隐马尔可夫模型 (HMM)
状态是否可见✔️ 直接可见(如天气)❌ 隐藏状态(如疾病),只能通过观测(如症状)推断
建模对象单一状态序列状态链 + 观测链(双层随机过程)
关键矩阵状态转移矩阵状态转移矩阵 + 观测概率矩阵
典型应用文本生成、简单预测语音识别、基因分析、词性标注
复杂度高(需处理隐藏-观测关系)

举个栗子🌰

  • MM任务
    已知今天是晴天 → 预测接下来3天的天气。
  • HMM任务
    已知连续3天海藻湿度是[湿, 干, 湿] → 推测这3天真实的天气序列。

总结

  • 马尔可夫模型直接看状态,适合简单序列预测。
  • 隐马尔可夫模型透过现象猜本质,适合从间接观测中推理隐藏规律。

就像猜朋友心情:

  • 如果他直接说“我开心”(MM),你直接知道状态;
  • 如果他只是发了首歌链接(HMM),你要通过链接内容(观测)推断他的情绪(隐藏状态)!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/68428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「 机器人 」系统辨识实验浅谈

前言 系统辨识实验是一种通过实验和数据分析的方法,用于建立物理系统的数学模型的技术。系统辨识是控制工程和系统科学中的重要环节,尤其是在模型未知或复杂的情况下。以下是系统辨识实验的详细介绍: 1. 系统辨识实验的目的 1.1 建模 为动态系统(如机械系统、电气系统或生…

Word List 1

词汇表中的生词 词汇表中的词组成的搭配(我不太认识的,认识的就不写了)、重要的派生词 例句中的生词 我自己写的生词(用于区分易混淆的词) Word List 1 英文音标中文traditional belief传统信条traditional metho…

数论问题76一一容斥原理

容斥原理是一种计数方法,用于计算多个集合的并集中元素的个数,以避免重复计算。以下是其基本内容及相关公式: 两个集合的容斥原理 若有集合A和集合B,那么A与B的并集中元素的个数等于A集合元素个数加上B集合元素个数,再…

python-decouple和 django-environ管理 Python/Django 项目中的环境变量

在现代软件开发中,环境变量的管理是一个至关重要的任务。环境变量通常用于存储敏感信息(如 API 密钥、数据库凭据)或配置信息(如调试模式、日志级别)。为了更安全、更方便地管理环境变量,Python 社区提供了许多工具,其中最流行的两个是 python-decouple 和 django-envir…

SimpleFOC STM32教程10|基于STM32F103+CubeMX,速度闭环控制(有电流环)

导言 SimpleFOC STM32教程09|基于STM32F103CubeMX,ADC采样相电流 如上图所示, 增加了电流环. 效果如下: 20250123-200906 RTT 如上图所示,三相占空比依然是马鞍波。当我用手去给电机施加阻力时,PID要维持目标转速&am…

基于蓝牙6.0的RSSI和UWB融合定位方法,可行性分析

融合RSSI(接收信号强度指示)和UWB(超宽带)两种技术进行蓝牙6.0定位是完全可行的,并且可以带来更高的定位精度和稳定性。本文给出分析和MATLAB仿真结果 文章目录 技术优势RSSIUWB融合的优势 实现方案数据融合算法硬件要…

团体程序设计天梯赛-练习集——L1-024 后天

前言 首先祝大家新年快乐,然后博主今点炮让炮崩了一下,水一天 这道题5分非常简单,有不少的做法 L1-024 后天 如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。我们用数字1到7对应星期…

C#:25大前沿特性揭秘

一、引言 C#,这门诞生于 2000 年的编程语言,自问世以来便在软件开发领域留下了浓墨重彩的一笔。它是微软.NET 框架的旗舰语言,由安德斯・海尔斯伯格(Anders Hejlsberg)领导的团队精心打造 ,设计哲学融合了…

LeetCode100之全排列(46)--Java

1.问题描述 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案 示例1 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 示例2 输入:nums [0,1] 输出&#xf…

富文本 tinyMCE Vue2 组件使用简易教程

参考官方教程 TinyMCE Vue.js integration technical reference Vue2 项目需要使用 tinyMCE Vue2 组件(tinymce/tinymce-vue)的第 3 版 安装组件 npm install --save "tinymce/tinymce-vue^3" 编写组件调用 <template><Editorref"editor"v-m…

Babylon.js 中的 setHardwareScalingLevel和getHardwareScalingLevel:作用与配合修改内容

在 Babylon.js 中&#xff0c;Engine类提供了setHardwareScalingLevel和getHardwareScalingLevel方法&#xff0c;用于管理和调整渲染分辨率与屏幕分辨率的比例。这些方法在优化性能和提升画质方面非常有用。尤其是在某些平台不支持硬件反锯齿时&#xff0c;可以考虑使用setHar…

从理论到实践:Django 业务日志配置与优化指南

在现代 Web 开发中,日志记录是确保系统可维护性和可观测性的重要手段。通过合理的日志配置,我们可以快速定位问题、分析系统性能,并进行安全审计。本文将围绕 Django 框架,详细介绍如何配置和优化业务日志,确保开发环境和生产环境都能高效地记录和管理日志。 © ivwdc…

项目集成Nacos

文章目录 1.环境搭建1.创建模块 sunrays-common-cloud-nacos-starter2.目录结构3.pom.xml4.自动配置1.NacosAutoConfiguration.java2.spring.factories 5.引入cloud模块通用依赖 2.测试1.创建模块 sunrays-common-cloud-nacos-starter-demo2.目录结构3.pom.xml4.application.ym…

doris:JSON

JSON 数据类型&#xff0c;用二进制格式高效存储 JSON 数据&#xff0c;通过 JSON 函数访问其内部字段。 默认支持 1048576 字节&#xff08;1 MB&#xff09;&#xff0c;可调大到 2147483643 字节&#xff08;2 GB&#xff09;&#xff0c;可通过 BE 配置string_type_length…

K8S 启动探测、就绪探测、存活探测

先来思考一个问题&#xff1a; 在 Deployment 执行滚动更新 web 应用的时候&#xff0c;总会出现一段时间&#xff0c;Pod 对外提供网络访问&#xff0c;但是页面访问却发生404&#xff0c;这个问题要如何解决呢&#xff1f;学完今天的内容&#xff0c;相信你会有自己的答案。 …

开源 CSS 框架 Tailwind CSS v4.0

开源 CSS 框架 Tailwind CSS v4.0 于 1 月 22 日正式发布&#xff0c;除了显著提升性能、简化配置体验外&#xff0c;还增强了功能特性&#xff0c;具体如下1&#xff1a; 性能提升 采用全新的高性能引擎 Oxide&#xff0c;带来了构建速度的巨大飞跃&#xff1a; 全量构建速度…

YOLOv10 介绍

YOLOv10 是清华大学多媒体智能组推出的新一代目标检测算法。以下是它的一些主要信息: 主要特点与优势: 实时性与准确性并重:在保持高准确性的同时,实现了毫秒级的实时检测速度。通过引入大核卷积和部分自注意模块,在较低计算成本下实现了更高的性能。优化的模型架构: 主干…

基于物联网的智能环境监测系统(论文+源码)

1系统的功能及方案设计 本课题为基于物联网的智能环境监测系统的设计与实现&#xff0c;整个系统采用stm32f103单片机作为主控制器&#xff0c;通过DHT11传感器实现智能环境监测系统温度和湿度的检测&#xff0c;通过MQ传感器实现CO2浓度检测&#xff0c;通过光照传感器实现光照…

过年之无用知识研究:std::is_assignable means?

std::pair的默认operator被delete掉了&#xff0c;取而代之的是两个enable_if版本。 为什么这么设计&#xff0c;我的理解是pair作为左值时&#xff0c;里面的first如果是const&#xff0c;那么就不允许了。比如&#xff0c;在std::map里&#xff0c;已经保存的元素的key值是不…

978.最长湍流子数组

目录 题目过程解法收获 题目 给定一个整数数组 arr &#xff0c;返回 arr 的 最大湍流子数组的长度 。 如果比较符号在子数组中的每个相邻元素对之间翻转&#xff0c;则该子数组是 湍流子数组 。 更正式地来说&#xff0c;当 arr 的子数组 A[i], A[i1], …, A[j] 满足仅满足…