深入浅出談 隐马尔可夫的概念(1/ 2)

2024-06-16 11:20

本文主要是介绍深入浅出談 隐马尔可夫的概念(1/ 2),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、说明
  • 二、Markov Chain
  • 三、Introduction
  • 四、State Sequence
  • 五、Comment
  • 六、介绍隐藏式马可夫法则。
  • 七、隐藏马尔可夫Introduction
  • 八、结论

一、说明

在许多机器学习的章节中,常常遇见 HMM ,往往看到它的数学式子后,就当没看到似的跳过去了,其实它的基础理论并不难,尤其是 Markov Chain 在高中数学课本就已经出现过了,但…那么久远的事,相信大家都忘得差不多了,现在一起来回顾一下吧!!

二、Markov Chain

在状态空间中,了解当前的状态与下一个状态发生的随机过程。
(疴…有讲等于没讲,来看一下 Key point 吧! )

Key point:
如左下图,现有三间大型卖场在AIA附近,分别是Costco、爱买、大润发,已知顾客今日在各个卖场间流动的固定几率(invariant),亦即图上的数字,值得注意的是,从每间卖场画出去箭头上的数字相加起来为1 (ex: Costco 0.7+0.2+1 = 1)。 接着来看一下范例吧…
在这里插入图片描述

今天刚来AIA报到的学员圆仔,看到卖场广告后,会到三间卖场的机率分别为0.5、0.1、0.4,那么上课第三天圆仔会到Costco逛的机率是多少? (解法如下)

在这里插入图片描述
在这里插入图片描述

三、Introduction

透过上述例子可以知道,当前的状态跟上一个状态有关,是不是有些感觉了咧? 接下来,就跟着一起走进数学的世界吧!!!

符号介绍:
•假设有 N 个状态,分别标示为 s₁, s₂, …, s_N
•假设从当前状态 si 变成 sj 的机率为 aij,可表示成转移矩阵(Transition Matrix) A,如下…
在这里插入图片描述

•我们纪录第 t 秒的状态在第 i 个状态为 qt = i
•起始时间选定某个状态 si 的机率为 πi ,又可标为 P(q₀ = j)

四、State Sequence

一开始我们会选定一个起状态,然后每过一个单位时间,就会选择走过某一条与当下状态相关的边,到达下一个状态,经过 T 秒后,我们就会得到一条有 T 条边、 T+1 个状态的有序路径(亦称之,state sequence)。
在这里插入图片描述

如果上述说的实在抽象,我们用3个状态、5个时间单位说明吧! 如左图和表格,我们经过5个时间点,会得到6个状态的一条路径,因此我们可以算得形成这条路径的机率是多少?

机率 = π₁ a₁₃ a₃₂ a₂₂ a₂₁ a₁₃

上述的例子,应该可以让大家比较有深刻的感触吧! 不免俗的,还是用数学式子写一下…在有 T 个时间单位下…我们会得到 state sequence Q
在这里插入图片描述

最后,可以得到 Q 的机率为

在这里插入图片描述

五、Comment

在固定状态转换 (invariant)的机率下,一切如上述,似乎单纯,如果我们再加入一些变动因素,举两个常见的例子来看看啦!

(1)学员圆仔每日到卖场的机率,会加入他当日出差路线而有异动,即是与时间相关的非固定状态 (time variant)啦! 其实也没那么复杂,底下的图,让你秒懂这一切。
在这里插入图片描述

(2)学员圆仔每日到某卖场的机率,会受到前一日或是前两日去过哪间卖场的影响,前者称为 first-order,后者称为 second-order,听起来很难,其实也没什么,图画出来就知道简单了。

在这里插入图片描述

这些东西到底哪时候才会用到呢? 只要有时间关系的,例如,RNN、NLP、RL,都可以用 Markov chain 的变化形态来解释喔!

下一章 Hidden Markov Model_part2 会带大家认识闻风丧胆的「Hidden Markov Model」,敬请期待吧!!

六、介绍隐藏式马可夫法则。

Key point:
我们用 part 1 的例子做延伸,如下图,每天都有一定的机率到某间卖场里购物,同时也会有某个机率在该间卖场买瓶饮料。

在这里插入图片描述
在起始机率分别为0.5、0.1、0.4下,圆仔三天来逛卖场的顺序为Q(爱买,Costco, 大润发),每到一间卖场他都会买一瓶饮料,三天来分别买了O(雪碧,可乐,绿茶),请问发生Q和O的共同机率为多少呢?
在这里插入图片描述
现在换个问题来想想,如果已知连续三天到卖场买的饮料依序为O(红茶,雪碧,绿茶),请问有几种可能路线呢? 每条路线分别发生的机率又有多少呢?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、隐藏马尔可夫Introduction

第二个例子说明了,当只知观察值,而状态被隐藏的时候,如何找出「最佳的路径」。 但是,既然是 model 一定是需要训练的,到底什么东西是需要被训练的呢?
在实际遇到的问题中,我们并不会知道「机率转移矩阵」实际的机率是多少,换句话说,我们不知道上述所指的 「转移矩阵 A」和「转移矩阵 B」,只会有一堆数据。
在此,我们用已知的转移矩阵条件下,举一个实际的分类问题,熊猫团团、圆圆、圆仔,半年来,每周买饮料(观察值)的依序清单,至于可能的路线,及多少机率会买到对应的饮料,皆是未知,根据个别的买卖习惯分析,训练对应的模型,找出对应的「转移矩阵」,最后我们要预测,当随便给一周的饮料的清单,最有可能是哪只熊猫的喜好。

在这里插入图片描述
(上图为 HMM,其中一种方法,目的试算出在指定事件的发生状态下,算出此事件发生的最大机率之路径 )

八、结论

HMM模型特点:

  1. HMM 是针对有关时间序列的数据所建立的模型。
  2. 是所有时间模型的鼻祖 (ex: RNN、NLP、RL 等)

讲到这边,大家对于 HMM 能处理的问题,应该有所认识了,part 3 将会带大家了解要如何训练 model ,找出可能的状态栏,不过这部分有很多的数学式在里面,千万别看到就头晕了,所以慎入呀

这篇关于深入浅出談 隐马尔可夫的概念(1/ 2)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

Java Instrumentation从概念到基本用法详解

《JavaInstrumentation从概念到基本用法详解》JavaInstrumentation是java.lang.instrument包提供的API,允许开发者在类被JVM加载时对其进行修改... 目录一、什么是 Java Instrumentation主要用途二、核心概念1. Java Agent

深入浅出Java中的Happens-Before核心规则

《深入浅出Java中的Happens-Before核心规则》本文解析Java内存模型中的Happens-Before原则,解释其定义、核心规则及实际应用,帮助理解多线程可见性与有序性问题,掌握并发编程... 目录前言一、Happens-Before是什么?为什么需要它?1.1 从一个问题说起1.2 Haht

Kotlin 协程之Channel的概念和基本使用详解

《Kotlin协程之Channel的概念和基本使用详解》文章介绍协程在复杂场景中使用Channel进行数据传递与控制,涵盖创建参数、缓冲策略、操作方式及异常处理,适用于持续数据流、多协程协作等,需注... 目录前言launch / async 适合的场景Channel 的概念和基本使用概念Channel 的

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

一文带你迅速搞懂路由器/交换机/光猫三者概念区别

《一文带你迅速搞懂路由器/交换机/光猫三者概念区别》讨论网络设备时,常提及路由器、交换机及光猫等词汇,日常生活、工作中,这些设备至关重要,居家上网、企业内部沟通乃至互联网冲浪皆无法脱离其影响力,本文将... 当谈论网络设备时,我们常常会听到路由器、交换机和光猫这几个名词。它们是构建现代网络基础设施的关键组成

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

MySQL 事务的概念及ACID属性和使用详解

《MySQL事务的概念及ACID属性和使用详解》MySQL通过多线程实现存储工作,因此在并发访问场景中,事务确保了数据操作的一致性和可靠性,下面通过本文给大家介绍MySQL事务的概念及ACID属性和... 目录一、什么是事务二、事务的属性及使用2.1 事务的 ACID 属性2.2 为什么存在事务2.3 事务

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle