隐马尔科夫模型1(了解整体知识架构)

2024-01-31 01:36

本文主要是介绍隐马尔科夫模型1(了解整体知识架构),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

当你去学习一个算法的时候,你首先要去搞清楚它是什么,能用来做什么。如果上来就进行公式推导,那样只会让你更加迷糊,只有彻底了解了之后学起来才会事半功倍。

本篇文章主要有两个目的:

1 、让大家了解什么是隐马尔科夫模型。为了让大家深入理解,会先介绍什么是马尔科夫模型,然后介绍什么是隐马尔可夫模型,然后总结两者的联系和区别。

2 、带大家认识马尔可夫模型的三种应用场景。大家可以理解为能解决哪三种问题,以及三种场景下使用的什么算法,以及不涉及公式推导的情况下每种算法的简单讲解。

一、模型介绍

1.1、什么是马尔可夫模型

马尔可夫模型是描述状态序列的概率模型,某个时刻的状态只依赖于上个时刻的状态,和更早的状态没有关系。

假如天气预报只和前一天的天气有关,如果第一天是雨天,第二天还是雨天的概率是0.8,是晴天的概率是0.2;如果第一天是晴天,第二天还是晴天的概率是0.6,是雨天的概率是0.4。问:如果第一天晴天和雨天概率分别是 0.5,请问第三天仍然是雨天的概率是多少?

这里面我们把第一天晴天和雨天概率教练做初始状态概率分布;把晴天雨天叫做状态,把某个时间点到某个时间点的天气列表叫做状态序列;把晴天雨天互相转移的概率叫做状态转移概率,四种转移概率组成的矩阵叫做状态转移概率矩阵。马尔可夫模型由初始状态概率分布、状态集合、状态转移概率矩阵组成。

但实际情况,纯粹的马尔科夫情景很少,适用的场景也少。比如上面的例子,当前天气不可能只和前一天天气有关。

这里拓展一下,如果当前天气只依赖于前两天的天气,则属于二阶马尔科夫模型;如果当前天气只依赖于前三天的天气,则属于三阶马尔科夫模型。这些可以统称为 n 阶马尔科夫模型,n 表示只依赖于前 n 个状态。我们讲的马尔科夫模型其实是一阶马尔科夫模型。

1.2、什么是隐马尔科夫模型

隐马尔可夫模型就是在马尔可夫模型的基础上引入了隐藏状态的概念。

马尔科夫模型和状态相关的只有一个,而隐马尔可夫模型和状态相关的有两个,分别是隐藏状态和观测状态。

先举例理解下隐马尔可夫模型:有 AB 两个箱子,A 箱子有 1 个白球9 个黑球,B 箱子有 9 个白球1 个黑球。如果本次从 A 箱子拿球,那么下次依然从 A 箱子拿球概率是 30%,从 B 箱子拿球概率是 70%;如果本次从 B 箱子拿球,那么下次从 A 箱子拿球概率是 60%,依然从 B 箱子拿球概率是 40%。第一次从 A 箱子拿球概率是 80%,从 B 箱子拿球概率是 20%。经过六次取球,分别取到了黑,白,白,黑,黑,白的球 。

隐马尔可夫模型与马尔科夫模型的区别在于状态上,马尔科夫只有一个状态,可以被观测到。但隐马尔可夫模型有两个状态,分别是隐藏状态和观测状态。观测状态指的是从箱子里面抓取的白球和黑球,这个我们可以直观看到。隐藏序列指的是箱子 A 和箱子 B,模拟实际中我们无法观测到的状态。需要注意的是,每个观测结果只与生成它的状态有关,比如例子中红黑球的概率只和 当前是 A 箱子还是 B 箱子有关,和之前是哪个箱子没有关系。

隐马尔可夫模型是由初始状态概率,概率转移矩阵和生成观测状态概率矩阵组成,对应到上面的示例,初始概率分布(A 箱子 80%,B 箱子 20%),隐藏状态转移矩阵(AB 两个箱子互相转换的概率),生成观测状态概率矩阵(A 箱子 B 箱子抓到黑白球的概率)。

1.3 、马尔科夫模型和隐马尔可夫模型的关系

本质上,隐马尔可夫模型就是马尔科夫模型的延伸,马尔科夫模型的状态都是可以直接看到的,但隐马尔可夫模型的状态是看不到的,只能看到状态下出现的观测结果。

二、应用场景

隐马尔可夫模型的主要应用场景有三种,大家在使用过程中往里套就行。

1 、场景一

已知:隐马尔可夫模型的初始状态概率、隐藏状态转移矩阵、生成观测状态概率矩阵

求:这个某个观测序列出现的概率

分析:这个问题就是要找到所有出现这种观测状态序列的隐藏状态序列,然后让隐藏状态乘以对应的生成观测状态概率即可。当列出所有可能的情况后,大家第一思路肯定是计算每条的概率然后相加,当然这是没问题的,但是复杂度很高。还有另外一种思路,类似于深度学习的前向算法,一层层的算,这样极大的降低了复杂度。

算法:前向算法或后向算法

2 、场景二

已知:观测序列

求:使观测序列最大的隐马尔科夫模型参数(隐藏状态初始概率,隐藏状态转移矩阵,生成观测状态概率矩阵)

分析:通过观测概率来求模型参数,典型的最大似然估计。但是隐马尔可夫模型有 隐藏层,所以应该用最大似然的升级版 EM 算法。 EM 算法是一种求解最大似然估计的方法,它通过引入隐变量将最大似然问题转化成多个期望最大化问题,完美适配该场景。

算法:Baum-Welch (EM 算法的一种应用,专门用于训练隐马尔可夫模型参数的一种算法)

3 、场景三

已知:隐马尔科夫模型参数(隐藏状态初始概率,隐藏状态转移矩阵,生成观测状态概率矩阵)和观测序列

求:概率最大的隐藏状态序列

算法:维特比

这篇关于隐马尔科夫模型1(了解整体知识架构)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

mybatis的整体架构

mybatis的整体架构分为三层: 1.基础支持层 该层包括:数据源模块、事务管理模块、缓存模块、Binding模块、反射模块、类型转换模块、日志模块、资源加载模块、解析器模块 2.核心处理层 该层包括:配置解析、参数映射、SQL解析、SQL执行、结果集映射、插件 3.接口层 该层包括:SqlSession 基础支持层 该层保护mybatis的基础模块,它们为核心处理层提供了良好的支撑。

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了