简述马尔可夫链【通俗易懂】

news2024/11/16 21:26:05

前言

马尔可夫链(Markov Chain)可以说是机器学习和人工智能的基石,在强化学习、自然语言处理、金融领域、天气预测、语音识别方面都有着极其广泛的应用。

The future is independent of the past given the present
未来独立于过去,只基于当下。

这句人生哲理的话也代表了马尔科夫链的思想:过去所有的信息都已经被保存到了现在的状态,基于现在就可以预测未来。

虽然这么说可能有些极端,但是却可以大大简化模型的复杂度,因此马尔可夫链在很多时间序列模型中得到广泛的应用,比如循环神经网络 RNN,隐式马尔可夫模型 HMM 等,当然 MCMC 也需要它。

随机过程

马尔可夫链是 随机过程 这门课程中的一部分,先来简单了解一下。

简单来说,随机过程就是使用统计模型一些事物的过程进行预测和处理 ,比如股价预测通过今天股票的涨跌,却预测明天后天股票的涨跌;天气预报通过今天是否下雨,预测明天后天是否下雨。这些过程都是可以通过数学公式进行量化计算的。通过下雨、股票涨跌的概率,用公式就可以推导出来 N 天后的状况。
在这里插入图片描述
在这里插入图片描述

马尔科夫链 简介

俄国数学家 Andrey Andreyevich Markov 研究并提出一个用数学方法就能解释自然变化的一般规律模型,被命名为马尔科夫链(Markov Chain)。马尔科夫链为状态空间中经过从一个状态到另一个状态的转换的随机过程,该过程要求具备“无记忆性 ”,即下一状态的概率分布只能由当前状态决定,在时间序列中它前面的事件均与之无关(条件独立)。这种特定类型的“无记忆性 ”称作马尔可夫性质。
在这里插入图片描述
马尔科夫链认为过去所有的信息都被保存在了现在的状态下了
比如这样一串数列 1 - 2 - 3 - 4 - 5 - 6,在马尔科夫链看来,6 的状态只与 5 有关,与前面的其它过程无关。

马尔科夫链 数学定义

在这里插入图片描述
既然某一时刻状态转移的概率只依赖于它的前一个状态 ,那么我们只要能求出系统中任意两个状态之间的转换概率,这个马尔科夫链的模型就定了。

转移概率矩阵

通过马尔科夫链的模型转换,我们可以将事件的状态转换成概率矩阵 (又称状态分布矩阵),如下例:
在这里插入图片描述
图中有 A 和 B 两个状态,A 到 A 的概率是 0.3,A 到 B 的概率是 0.7;B 到 B 的概率是 0.1,B 到 A 的概率是 0.9。

  • 初始状态在 A,如果我们求 2 次运动后状态还在 A 的概率是多少?非常简单:

在这里插入图片描述

  • 如果求 2 次运动后的状态概率分别是多少?初始状态和终止状态未知时怎么办呢?这是就要引入转移概率矩阵,可以非常直观的描述所有的概率。

在这里插入图片描述
有了状态矩阵,我们可以轻松得出以下结论:

  • 初始状态 A,2 次运动后状态为 A 的概率是 0.72;
  • 初始状态 A,2 次运动后状态为 B 的概率是 0.28;
  • 初始状态 B,2 次运动后状态为 A 的概率是 0.36;
  • 初始状态 B,2 次运动后状态为 B 的概率是 0.64;

有了概率矩阵,即便求运动 n 次后的各种概率,根据初始状态分布*(转移概率矩阵^n)也能非常方便求出。通常初始分布的向量只有一个分量是 1,其余分量都是 0,表示马尔可夫链从一个具体状态开始。

来看一个多个状态更复杂的情况
在这里插入图片描述

转移概率矩阵的稳定性(平稳分布)

转移概率矩阵有一个非常重要的特性,经过一定有限次数序列的转换,最终一定可以得到一个稳定的概率分布,且与初始状态分布无关。例如:

假设我们当前股市的概率分布为:[0.3, 0.4, 0.3], 即 30% 概率的牛市,40% 概率的熊盘与 30% 的横盘。然后这个状态作为序列概率分布的初始状态t0,将其带入这个转移概率矩阵计算t1, t2, t3…的状态。代码如下:

matrix = np.matrix([[0.9, 0.075, 0.025],
                    [0.15, 0.8, 0.05],
                    [0.25, 0.25, 0.5]], dtype=float)
vector1 = np.matrix([[0.3, 0.4, 0.3]], dtype=float)

for i in range(100):
    vector1 = vector1 * matrix
    print('Courrent round: {}'.format(i+1))
    print(vector1)

输出结果:

Current round: 1
[[ 0.405   0.4175  0.1775]]
Current round: 2
[[ 0.4715   0.40875  0.11975]]
Current round: 3
[[ 0.5156  0.3923  0.0921]]
Current round: 4
[[ 0.54591   0.375535  0.078555]]
。。。。。。
Current round: 58
[[ 0.62499999  0.31250001  0.0625    ]]
Current round: 59
[[ 0.62499999  0.3125      0.0625    ]]
Current round: 60
[[ 0.625   0.3125  0.0625]]
。。。。。。
Current round: 99
[[ 0.625   0.3125  0.0625]]
Current round: 100
[[ 0.625   0.3125  0.0625]]

可以发现,从第 60 轮开始,我们的状态概率分布就不变了,一直保持[0.625, 0.3125, 0.0625],即 62.5% 的牛市,31.25% 的熊市与 6.25% 的横盘。

这个性质不仅对转移概率矩阵有效,对于绝大多数的其他的马尔可夫链模型的转移概率矩阵也有效。同时不光是离散状态,连续状态时也成立

马尔可夫链细致平稳条件

首先,马尔科夫链要能收敛,需要满足以下条件:

1.可能的状态数是有限的。
2.状态间的转移概率需要固定不变。
3.从任意状态能够转变到任意状态。
4.不能是简单的循环,例如全是从x到y再从y到x。

以上是马尔可夫链收敛的必要条件。
由前面的例子我们不难看出,当初始状态分布与转移概率矩阵的n次幂相乘以后,发现得到的向量都会收敛到一个稳定值,而且此稳定值与初始向量无关!

那么所有的转移矩阵P 都有这种现象嘛?或者说满足什么样的条件的转移矩阵P会有这种现象?

细致平衡条件(Detailed Balance Condition):给定一个马尔科夫链,平稳分布π和概率转移矩阵P,如果下面等式成立:
在这里插入图片描述
则此马尔科夫链具有一个平稳分布(Stationary Distribution)。

这个条件表达了在平稳状态下,流入某个状态的概率等于流出该状态的概率。细致平衡条件是维持平稳分布的一个关键条件,它确保了在平稳状态下,系统不会有净的概率流向或流出任何一个状态

细致平衡条件是平稳分布的一个必要条件。如果一个马尔可夫链满足细致平衡条件,且有一个平稳分布存在,那么该分布就是唯一的。

连续状态马尔可夫链

在这里插入图片描述

马尔科夫链在机器学习中的应用

自然语音处理研究让机器“听懂”人类的语言,马尔科夫模型就解决了:

  • 语言模型:
    N-Gram 是一种简单有效的语言模型,基于独立输入假设:第 n 个词的出现只与前面 N-1 个词相关,而与其它任何词都不相关 。整句出现的概率就是各个词出现概率的乘积。这些概率可以通过直接从语料中统计 N 个词同时出现的次数得到。

在这里插入图片描述

  • 声学模型:

利用 HMM 建模(隐马尔可夫模型),HMM 是指这一马尔可夫模型的内部状态外界不可见,外界只能看到各个时刻的输出值。对语音识别系统,输出值通常就是从各个帧计算而得的声学特征。

参考

马尔可夫链 (Markov Chains)
简述马尔可夫链

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

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

相关文章

不小心删除了Mac重要文档?试试这10个Mac数据恢复软件

您是否不小心删除了重要文件并需要可靠的解决方案?别再犹豫了!本文是您选择最佳 Mac 数据恢复软件的首选指南。我们的目标是为您提供做出明智决策和轻松找回丢失数据所需的工具和知识。 选择最佳 Mac 数据恢复软件:要考虑的因素 选择最佳 Ma…

高精度人像背景分割SDK技术解决方案

图像处理技术已经成为企业和个人生活中不可或缺的一部分,特别是在人像处理方面,如何准确、高效地将人物与背景分离,一直是一个技术难题。然而,美摄科技凭借其在AI深度学习领域的深厚积累,推出了一款高精度的人像背景分…

刷卡、扫码、插卡获取卡号,根据卡号请求数据;

业务需求&#xff1a;医院会进行刷卡 扫码 插卡等操作快速获取患者信息 一、刷卡和扫码 刷卡和扫码其实是同一种操作。刷卡/扫码和普通的键盘输入的区别就是&#xff1a;刷卡/扫码的速度快&#xff0c;而普通的键盘输入的速度慢。 <el-inputv-model"form.cardNo"…

【黑马甄选离线数仓day03_数仓设计和维度域开发】

1. 数仓基本概念 1- 什么是数据仓库呢? 存储数据的仓库, 主要用于存储过去历史发生过的数据,面向主题, 对数据进行统计分析的操作, 从而能够对未来提供决策支持 2- 数据仓库最大的特点是什么呢? 数据仓库既不生产数据, 也不消耗数据, 数据来源于各个数据源 3- 数据仓库的四…

uniapp打包的ipa上架到appstore的傻瓜式教程

​ 转载&#xff1a;uniapp打包的ipa上架到appstore的傻瓜式教程 uniapp打包 在HBuilder X编辑器中打开需要打包的项目&#xff0c;然后点击上面菜单栏中 发行 > 原生App-云打包&#xff0c;对以下弹出的弹窗进行内容填写 ​ 填写完成以后&#xff0c;点击打包操作 ​ ​ …

FreeSWITCH学习笔记:EventSocket

Event Socket命令最后需带有两个换行符。 api 执行API命令。阻塞。 1api API [ARG [ ...]] auth 内连模式下身份验证。需要第一个发送。 1auth PASSWORD bgapi 后台执行API命令。不阻塞。 1bgapi API [ARG [ ...]]2[Job-UUID: UUID] 返回带有Job-UUID。当API命令执行完成…

用自己热爱的事赚钱,是多么的幸福

挖掘天赋可能有些困难&#xff0c;但挖掘爱好就简单多啦&#xff01;最幸福的事情就是能用自己喜欢的事情赚钱。 我们要说的是一个博主&#xff0c;他非常喜欢骑自行车&#xff0c;虽然他的工作是在外贸公司做销售&#xff0c;但每当有空时&#xff0c;他都会骑自行车。而且他…

2023年亚太地区数学建模大赛 C 题

我国新能源电动汽车的发展趋势 新能源汽车是指以先进技术原理、新技术、新结构的非常规汽车燃料为动力来源&#xff08;非常规汽车燃料指汽油、柴油以外的燃料&#xff09;&#xff0c;将先进技术进行汽车动力控制和驱动相结合的汽车。新能源汽车主要包括四种类型&#xff1a;…

eclipse项目移到idea上部署运行

1.配置web模块 另外&#xff0c;模块这里&#xff0c;也要加上Spring 2.配置Artifact &#xff08;用于tomcat&#xff09; 就是从上面配置的web模块&#xff0c;产生的工件 3.添加lib 一般是在web-inf/lib &#xff0c; 遇到的坑&#xff1a; jdk版本问题&#xff0c;这里…

计算机毕业设计——基于SpringBoot+Bootstrap框架的学生宿舍管理系统的设计与实现

计算机毕业设计——基于SpringBoot+Bootstrap框架的学生宿舍管理系统的设计与实现 摘 要:近年来,随着高等教育的快速发展,大学生的人数日益增加,然而部分高校仍以人工记录的方式进行管理。针对这种传统管理方式,为进一步优化宿舍的管理效率,通过使用 Springboot 架构模式…

ATA-2042高压放大器在细胞的剪切应力传感器研究中的应用

微流控技术是一种通过微小的通道和微型装置对流体进行精确操控和分析的技术。它是现代医学技术发展过程中的一种重要的生物医学工程技术&#xff0c;具有广泛的应用前景和重要性。它在高通量分析、个性化医疗、细胞筛选等方面有着巨大的潜力&#xff0c;Aigtek安泰电子今天就将…

Android 提示框代码 java语言

在Android中&#xff0c;你可以使用 AlertDialog 类来创建提示框。以下是一个简单的Java代码示例&#xff0c;演示如何创建和显示一个基本的提示框&#xff1a; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; im…

ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用

ArkUI开发进阶—Builder函数BuilderParam装饰器的妙用与场景应用 HarmonyOS&#xff0c;作为一款全场景分布式操作系统&#xff0c;为了推动更广泛的应用开发&#xff0c;采用了一种先进而灵活的编程语言——ArkTS。ArkTS是在TypeScript&#xff08;TS&#xff09;的基础上发展…

使用骨传导耳机会伤耳朵吗?一文读懂骨传导耳机有哪些优点

首先说明&#xff0c;如果是正确的使用骨传导耳机是不会伤耳朵。 一、骨传导耳机的传声原理是什么&#xff1f; 声音的传播需要介质&#xff0c;传统的耳机是通过空气来进行传播&#xff0c;也被称为“空气传导耳机”&#xff0c;而骨传导耳机最大的特别之处就在于&#xff0…

ke12Servlet规范有三个高级特性,,文件上传下载

1Servlet规范有三个高级特性 分别是Filter、Listener和文件的上传下载。Filter用于修改request、response对象&#xff0c;Listener用于监听context、session、request事件。 熟悉Filter的生命周期 了解Filter及其相关API 掌握Filter的实现 掌握Filter的映射与过滤器链的使用…

CTA-GAN:基于生成对抗性网络的主动脉和颈动脉非集中CT血管造影 CT到增强CT的合成技术

Generative Adversarial Network–based Noncontrast CT Angiography for Aorta and Carotid Arteries 基于生成对抗性网络的主动脉和颈动脉非集中CT血管造影背景贡献实验方法损失函数Thinking 基于生成对抗性网络的主动脉和颈动脉非集中CT血管造影 https://github.com/ying-f…

Navicat 技术指引 | 连接 GaussDB 主备版

Navicat Premium&#xff08;16.2.8 Windows版或以上&#xff09; 已支持对GaussDB 主备版的管理和开发功能。它不仅具备轻松、便捷的可视化数据查看和编辑功能&#xff0c;还提供强大的高阶功能&#xff08;如模型、结构同步、协同合作、数据迁移等&#xff09;&#xff0c;这…

黑马点评笔记 redis缓存三大问题解决

文章目录 缓存问题缓存穿透问题的解决思路编码解决商品查询的缓存穿透问题 缓存雪崩问题及解决思路缓存击穿问题及解决思路问题分析使用锁来解决代码实现 逻辑过期方案代码实现 缓存问题 我们熟知的是用到缓存就会遇到缓存三大问题&#xff1a; 缓存穿透缓存击穿缓存雪崩 接…

2021年03月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 在《采矿》游戏中,当角色捡到黄金时财富值加1分,捡到钻石时财富值加2分,下面哪个程序实现这个功能? A: B: C: D: 答案:D A将变量值固定,BC为双重判断

SPSS系统聚类

前言&#xff1a; 本专栏参考教材为《SPSS22.0从入门到精通》&#xff0c;由于软件版本原因&#xff0c;部分内容有所改变&#xff0c;为适应软件版本的变化&#xff0c;特此创作此专栏便于大家学习。本专栏使用软件为&#xff1a;SPSS25.0 本专栏所有的数据文件请点击此链接下…