01 隐马尔可夫模型 - 马尔可夫链、HMM参数和性质

简介: 一、马尔可夫性质__先直白得讲性质:__当前的状态只和上一时刻有关,在上一时刻之前的任何状态都和我无关。我们称其__符合__马尔可夫性质。下面是理论化的阐述:设{X(t), t ∈ T}是一个__随机过程__,E为其状态空间,若对于任意的t1二、马尔可夫链马尔可夫链 是指具有马尔可夫性质的随机过程。

一、马尔可夫性质

__先直白得讲性质:__当前的状态只和上一时刻有关,在上一时刻之前的任何状态都和我无关。我们称其__符合__马尔可夫性质。

下面是理论化的阐述:
设{X(t), t ∈ T}是一个__随机过程__,E为其状态空间,若对于任意的t1


二、马尔可夫链

马尔可夫链 是指具有马尔可夫性质的随机过程。在过程中,在给定当前信息的情况下,过去的信息状态对于预测将来__状态__是无关的。

马尔可夫链

__例子:__在今天这个时间点而言,过去的股价走势对我预测未来的股价是毫无帮助的。
PS:上面马尔可夫链中提到的__状态__,在本例指的是__股价__。

在马尔可夫链的每一步,系统根据__概率分布__,可以从一个状态变成另外一个状态,也可以保持当前状态不变。状态的改变叫做__转移__,状态改变的相关概率叫做__转移概率__。

例子: 当前时间状态下的股价,可以转变成下一时刻的股价,股价的转变即__状态的改变__。这个状态现在可以上升(股价提高),状态也可以下降。我可以根据当前股票的价格去决定下一刻股价上升、下降、不变的概率。这种股价变动的概率称为__状态转移概率__。

马尔可夫链中的__三元素是__:状态空间S、转移概率矩阵P、初始概率分布π。


例子:假设认为股价有三种状态(高、中、低);

1、状态空间S - 例: S是一个集合,包含所有的状态 __S股价={高,中,低}__;

2、初始概率分布π - 例:
股价刚发行的时候有一个初始价格,我们认为初始价格为高的概率为50%,初始价格为中的概率是30%,初始价格为低的概率是20%。我们记股票价格的初始概率分布为:π=(0.5,0.3,0.2);对应状态:(高、中、低);__初始概率分布是一个向量__,如果有n个状态,π是n维向量。

3、转移概率矩阵P - 例:
现在有个股价为中,下一个时刻状态转变的可能性有三种,中→高、中→低、中→中;将三种转变的概率。此外当前时刻也有股票的价格属于低,对应的转变可能包括低→高、低→低、低→中;即每种状态都有可能转变成其他的状态,若一共有n个状态,形成的__转移概率矩阵__应该是n×n阶矩阵。这里需要注意的是,股价从高→低,和低→高的概率是不同的。


马尔可夫链案例:

设将天气状态分为晴、阴、雨三种状态,假定某天的天气状态只和上一天的天气状态有关,状态使用1(晴)、2(阴)、3(雨)表示,转移概率矩阵P如下:

第n+1天天气状态为j的概率为:

因此,矩阵P即为条件概率转移矩阵。矩阵P的第i行元素表示,在上一个状态为i的时候的分布概率,即每行元素的和必须为1。


三、HMM

隐马尔可夫模型(Hidden Markov Model, HMM)是一种统计模型,在语音识别、行为识别、NLP、故障诊断等领域具有高效的性能。

HMM是关于时序的概率模型,描述一个含有未知参数的马尔可夫链所生成的不可观测的状态随机序列,再由各个状态生成观测随机序列的过程。

HMM是一个双重随机过程---具有一定状态的隐马尔可夫链和随机的观测序列。

HMM随机生成的状态随机序列被称为状态序列;每个状态生成一个观测,由此产生的观测随机序列,被称为观测序列。

上-状态序列(天气) 下-观测序列(地面是否干燥)

__思考:__z1,z2...,zn是__不可观测的状态__,x1,x2,...xn是__可观测到的序列__;不可观测的状态觉得可观测序列的值(z的取值决定x的取值);

1、在__z1、z2 不可观测__的情况下,x1和z2独立吗?x1和x2独立吗?

__回答:__这个问题可以回顾之前的__贝叶斯网络__来理解。
首先z1,z2都是离散的值,但x1的值可能是离散的也可能是连续的。比如z是天气情况,每天天气的改变是离散的。x是因为天气而改变的一些其他状态,比如x=(地面是否潮湿、路上行人数量、雨伞销售数量...);
在z1和z2不可观测的情况下,x1和z2不独立,x1和x2也是不独立的。

2、 在__z1、z2可观测__的情况下,x1和z2独立吗?x1和x2独立吗?

回答: 在z1和z2可观测的情况下,因为x1和z2的取值只和z1有关,所以就独立了。同样在给定了z1和z2的情况下,x1和x2也独立。


请回顾贝叶斯网络中的独立性问题来思考这个问题。
04 贝叶斯算法 - 贝叶斯网络

回顾:
一般而言,贝叶斯网络的有向无环图中的节点表示随机变量,可以是可观察到的变量,或隐变量,未知参数等等。连接两个节点之间的箭头代表两个随机变量之间的因果关系(也就是这两个随机变量之间非条件独立);如果两个节点间以一个单箭头连接在一起,表示其中一个节点是“因”,另外一个节点是“果”,从而两节点之间就会产生一个条件概率值。

PS:每个节点在给定其直接前驱的时候,条件独立于其非后继。

所以隐马尔科夫也是贝叶斯网络的一种应用。


__HMM__由隐含状态S、可观测状态O、初始状态概率矩阵π、隐含状态转移概率矩阵A、可观测值转移矩阵B(又称为混淆矩阵,Confusion Matrix);

π和A决定了状态序列,B决定观测序列,因此HMM可以使用三元符号表示,称为HMM的三元素:

HMM三元素

S可以统计历史出现的所有状态;
初始概率分布π,统计S中各个状态各自出现的概率作为我们的初始概率分布π向量值;


四、HMM参数

S是所有可能的状态集合,O是所有可能的观测集合:

I是长度为T的状态序列,Q是对应的观测序列:

S={下雨,阴天,晴天};O={地上干,地上湿}
I = {晴,雨,雨,阴,晴,阴}
Q={干,湿,湿,湿,干,干}


A是隐含状态转移概率矩阵:

其中aij是在时刻t处于状态si的条件下时刻t+1转移到状态sj的概率。
a晴雨 = 某天是晴天条件下,下一天是雨天的概率。 (某一时刻→下一时刻)

B是可观测值转移概率矩阵:

其中bij是在时刻t处于状态si的条件下生成观测值oj的概率。
b晴干 = 某天是晴天条件下,某天是地是干的的概率。 (同一时刻)

π是初始状态概率向量:

其中πi是在时刻t=1处于状态si的概率。
π晴 = 初始第一天是晴天的概率;
π雨 = 初始第一天是雨天的概率;


五、HMM的两个基本性质

p(it | .....) 表示在从__t-1时刻的观测值qt-1,一直到第1时刻观测值q1__的条件下,在第t时刻发生状态的概率。

性质1: 最终分析结果发现,在第t时刻发生状态的概率it只和t-1时刻有关。
性质2: 第t时刻的观测值qt只和第t时刻的状态it有关。


HMM案例:

假设有三个盒子,编号为1,2,3;每个盒子都装有黑白两种颜色的小球,球的比例。如下:

按照下列规则的方式进行有放回的抽取小球,得到球颜色的观测序列:
1、按照π的概率选择一个盒子,从盒子中随机抽取出一个球,记录颜色后放回盒子中;
2、按照某种条件概率选择新的盒子,重复该操作;
3、最终得到观测序列:“白黑白白黑”

例如: 每次抽盒子按一定的概率来抽,也可以理解成随机抽。
第1次抽了1号盒子①,第2次抽了3号盒子③,第3次抽了2号盒子②.... ; 最终如下:
①→③→②→②→③ 状态值
白→黑→白→白→黑 观测值

1、__状态集合:__ S={盒子1,盒子2,盒子3}
2、__观测集合:__ O={白,黑}
3、__状态序列和观测序列的长度__ T=5 (我抽了5次)
4、__初始概率分布:__ π 表示初次抽时,抽到1盒子的概率是0.2,抽到2盒子的概率是0.5,抽到3盒子的概率是0.3。
5、__状态转移概率矩阵__ A:a11=0.5 表示当前我抽到1盒子,下次还抽到1盒子的概率是0.5;
6、__观测概率矩阵__ B:如最初的图,b11=第一个盒子抽到白球概率0.4,b12=第一个盒子抽到黑球概率0.6;

HMM案例思考

在给定参数π、A、B的时候,得到观测序列为“白黑白白黑”的概率是多少?

这个时候,我们不知道隐含条件,即不知道状态值:①→③→②→②→③ ;
我们如何根据π、A、B求出测序列为“白黑白白黑”的概率?

02 隐马尔可夫模型 - HMM的三个问题 - 概率计算、学习、预测

相关文章
|
Java Maven Windows
添加阿里云maven镜像
添加阿里云maven镜像
|
监控 安全 BI
防火墙事件日志及日志分析
在网络安全防护体系中,防火墙作为抵御外部威胁的第一道防线,其重要性不言而喻。而对防火墙日志进行分析,更是深入了解网络流量、发现潜在安全风险的关键手段。
1082 1
|
3月前
|
IDE 编译器 开发工具
【devc++】Dev C++下载+安装+汉化+使用一篇搞定(2026全网最详细)
Dev C++ 是一款免费开源、轻量易用的 Windows C/C++ 集成开发环境(IDE),内置 MinGW 编译器,安装即用。支持一键编译(F9)和编译运行(F11),界面简洁,汉化完善,是高校教学、计算机等级考试及编程入门首选工具。
56127 7
|
11月前
|
机器学习/深度学习 算法
费曼学习法:为什么你应该通过写博客来掌握任何知识
你是否学完就忘?诺贝尔奖得主费曼提出:若无法简单解释,便是未真正理解。其学习法四步——学习、教授、反思、简化——结合写博客,能深度巩固知识。写作倒逼思维清晰,暴露理解盲区,构建个人知识库。无需完美,从“初学者视角”出发,边学边写,用输出驱动输入。写博客不仅是记录,更是成为专家的路径。开始吧,让文字见证你的深度学习之旅。
868 163
费曼学习法:为什么你应该通过写博客来掌握任何知识
|
9月前
|
存储 Python 容器
简化Python类:使用数据类(dataclasses)
简化Python类:使用数据类(dataclasses)
663 18
|
8月前
|
Web App开发 数据挖掘 开发者
Python 数据分析前置:BeautifulSoup 爬取 NBA 数据源
Python 数据分析前置:BeautifulSoup 爬取 NBA 数据源
|
关系型数据库 MySQL Linux
Centos 7.2 系统安装mysql5.7.10指定版本
本文介绍在CentOS 7.2系统上安装MySQL 5.7.10的完整步骤,包括下载RPM包、解压、依赖处理、强制安装、服务启动与状态检查,并通过日志获取临时密码后修改为自定义密码,确保MySQL服务正常运行。
800 9
|
机器学习/深度学习 自然语言处理 监控
13_命名实体识别:精准提取文本中的关键信息
在当今信息爆炸的时代,人们每天需要处理海量文本数据。如何从这些非结构化文本中高效地提取关键信息,成为了自然语言处理(NLP)领域的核心挑战之一。命名实体识别(Named Entity Recognition,简称NER)技术正是解决这一问题的关键技术,它能够自动识别并分类文本中的人名、地名、组织机构名、时间、日期、金额等具有特定含义的实体。
2764 0
|
测试技术 API 开发者
LiveBench放榜:Qwen3斩获全球开源冠军
最新一期LiveBench榜单显示,阿里云旗舰模型Qwen3-235B-A22B荣登全球开源模型冠军,小尺寸Qwen3-32B位列Top3。千问3在指令遵循能力上超越多个顶级闭源模型,位居全球第一。该评测由图灵奖得主Yann LeCun发起,采用动态防污染机制,确保公平性。千问3支持119种语言,具备混合推理架构与强大Agent能力,现已上线阿里云百炼平台,提供免费体验与API调用。
1541 10
|
缓存 监控 搜索推荐
【实战解析】smallredbook.item_get_video API:小红书视频数据获取与电商应用指南
本文介绍小红书官方API——`smallredbook.item_get_video`的功能与使用方法。该接口可获取笔记视频详情,包括无水印直链、封面图、时长、文本描述、标签及互动数据等,并支持电商场景分析。调用需提供`key`、`secret`和`num_iid`参数,返回字段涵盖视频链接、标题、标签及用户信息等。同时,文章提供了电商实战技巧,如竞品监控与个性化推荐,并列出合规注意事项及替代方案对比。最后解答了常见问题,如笔记ID获取与视频链接时效性等。

热门文章

最新文章