马尔可夫链 ▏小白都能看懂的马尔可夫链详解

【文生图系列】基础篇-马尔可夫链 马尔可夫链是一个数学系统,它根据某些特定的概率规则从一个状态转换到另一个状态。马尔科夫的定义特征是:无论过程如何到达当前的状态,未来的状态都是固定的。也就是说,转换到任何特定状态的概率都取决于当前的状态和过去的时间。 阅读详情
AI摘要

本文介绍了马尔可夫链的基本概念及其在机器学习中的应用。通过实例详细讲解了状态转移矩阵及马尔可夫链的收敛性质。

1.什么是马尔可夫链

在机器学习算法中,马尔可夫链(Markov chain)是个很重要的概念。马尔可夫链(Markov chain),又称离散时间马尔可夫链(discrete-time Markov chain),因俄国数学家安德烈·马尔可夫(俄语:Андрей Андреевич Марков)得名,为状态空间中经过从一个状态到另一个状态的转换的随机过程。该过程要求具备“无记忆”的性质:下一状态的概率分布只能由当前状态决定,在时间序列中它前面的事件均与之无关。这种特定类型的“无记忆性”称作马尔可夫性质。马尔科夫链作为实际过程的统计模型具有许多应用。

在马尔可夫链的每一步,系统根据概率分布,可以从一个状态变到另一个状态,也可以保持当前状态。状态的改变叫做转移,与不同的状态改变相关的概率叫做转移概率。随机漫步就是马尔可夫链的例子。随机漫步中每一步的状态是在图形中的点,每一步可以移动到任何一个相邻的点,在这里移动到每一个点的概率都是相同的(无论之前漫步路径是如何的)。

2.一个经典的马尔科夫链实例

用一句话来概括马尔科夫链的话,那就是某一时刻状态转移的概率只依赖于它的前一个状态。

举个简单的例子,假如每天的天气是一个状态的话,那个今天是不是晴天只依赖于昨天的天气,而和前天的天气没有任何关系。

这么说可能有些不严谨,但是这样做可以大大简化模型的复杂度,因此马尔科夫链在很多时间序列模型中得到广泛的应用,比如循环神经网络RNN,隐式马尔科夫模型HMM等。

假设状态序列为

c66caa6a5c329ecc9b185218963b5bf4.png

由马尔科夫链定义可知,

时刻Xt+1 的状态只与Xt 有关,用数学公式来描述就是:

7e3105541f40ac1ef8cac1fc57143a67.png

既然某一时刻状态转移的概率只依赖前一个状态,那么只要求出系统中任意两个状态之间的转移概率,这个马尔科夫链的模型就定了。看一个具体的例子。

5ee4915b27f9eabe3998ba8f7f9dfccc.png

这个马尔科夫链是表示股市模型的,共有三种状态:牛市(Bull market), 熊市(Bear market)和横盘(Stagnant market)。

每一个状态都以一定的概率转化到下一个状态。比如,牛市以0.025的概率转化到横盘的状态。这个状态概率转化图可以以矩阵的形式表示。如果我们定义矩阵阵P某一位置P(i, j)的值为P(j|i),即从状态i变为状态j的概率。另外定义牛市、熊市、横盘的状态分别为0、1、2,这样我们得到了马尔科夫链模型的状态转移矩阵为:

4ffb193a59ac45287acb990b9f071a13.png

当这个状态转移矩阵P确定以后,整个股市模型就已经确定!

3.状态转移矩阵

从上面的例子不难看出来,整个马尔可夫链模型的核心是状态转移矩阵P。那这个矩阵P有一些什么有意思的地方呢?接下来再看一下。

以股市模型为例,假设初始状态为t0=[0.1,0.2,0.7] ,然后算之后的状态。

44525c2681809ed9cb69661906f092c4.png

最终输出结果为

401643bd3a526339d39cc3cd1940f563.png

从第18次开始,状态就开始收敛至[0.624,0.312,0.0625] 。最终数字上略有不同,只是计算机浮点数运算造成的罢了。

如果我们换一个初始状态t0 ,比如[0.2,0.3.0.5] 继续运行上面的代码,只是将init_array变一下,最后结果为:

f97ad56d1115b06e277dfa9be5107974.png

到第18次的时候,

又收敛到了[0.624,0.312,0.0625] 

这个转移矩阵就厉害了。不管我们的初始状态是什么样子的,只要状态转移矩阵不发生变化,当n→∞ 时,最终状态始终会收敛到一个固定值。

在矩阵分析,自动控制原理等过程中,经常会提到矩阵的幂次方的性质。我们也看看这个状态转移矩阵P的幂次方有什么有意思的地方?直接上代码。

4011dfdbdae1b5a7ddc36b5bcfbbbda3.png

代码运行结果为

3779c1e17e7d5650e9b7724038252609.png

b9c1a981a51fd7103aa724aca7d6c664.png

b309d3dc636c098fab07d4b5a430f6b1.png

从第20次开始,结果开始收敛,并且每一行都为[0.625,0.312,0.0625] 。

4.马尔可夫链细致平稳条件

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

1.可能的状态数是有限的。

2.状态间的转移概率需要固定不变。

3.从任意状态能够转变到任意状态。

4.不能是简单的循环,例如全是从x到y再从y到x。

以上是马尔可夫链收敛的必要条件。

假设有一个概率的单纯形向量

a4c9d502d20b1e5bf6b0641de792d602.png

有一个概率转移矩阵P PP,例如我们前面的例子:

ae8609b929e1041afdb77d66d8c8785c.png

其中,v0 每个元素的取值范围为[0,1],并且所有元素的和为1。而P 的每一行也是个概率单纯形向量。

由前面的例子我们不难看出,当v0 与P 的n次幂相乘以后,发现得到的向量都会收敛到一个稳定值,而且此稳定值与初始向量v0 无关!

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

细致平衡条件(Detailed Balance Condition):给定一个马尔科夫链,分布π和概率转移矩阵P,如果下面等式成立:

c109138aadc7072c6c65537cad277e48.png

则此马尔科夫链具有一个平稳分布(Stationary Distribution)。

证明过程比较简单:

967b5a04e949b385a2ef8acd834aa289.png

上式取j→∞ ,就可以得到矩阵表达式:

b5b59389a3ac08ff7d3e645d32bc2473.png

5.马尔可夫链收敛性质

如果一个非周期的马尔可夫链收敛,有状态转移矩阵P,并且任何两个状态都是连通的,那么

8d79b071714c07b8bd7977417947cc89.png

π是方程πP=π 的唯一非负解,其中:

73757b7d1e24be146c276a806810f5ad.png

•  END  •

文章来源:优快云博主「bitcarmanlee」

原文链接:https://blog.youkuaiyun.com/bitcarmanlee/java/article/details/82819860

深度学习-清晰易懂的马尔科夫链原理介绍 马尔科夫链是一种非常常见且相对简单的统计随机过程,从文本生成到金融建模,它们在许多不同领域都得到了应用。马尔科夫链在概念上非常直观且易于实现,因为它们不需要使用任何高级的数学概念,是一种概率建模和数据分析的经典方法。 1. 马尔科夫链场景分析 首先,我将用一个非常常见的例子来描述它们: 假设有两种可能的天气状态:晴天或阴天,你随时都可以观测当前的天气状态且状态限定为晴天或阴天。 现在你想预测明天的天气情况,你本能的会认为当天的天气会对明天的天气有一定的影响,因此,拥有智慧 阅读详情

相关推荐

机器学习笔记 - 什么是马尔可夫链?

以Andrey Markov命名的马尔可夫链是从一个“状态”(一种情况或一组值)跳到另一个“状态”的数学系统。 马尔可夫链是一种简单且非常有用的工具,用于对时间相关、空间相关的随机过程进行建模。金融(股票价格变动)、销售(销售数量信息)、NLP 算法(有限状态传感器、用于POS 标记的隐马尔可夫模型)、天气预报等许多领域都使用马尔可夫链轻松准确地进行预测。 马尔可夫链代表了一类随机过程,其中未来不依赖于过去,而是依赖于现在。如果随机过程由处理未来的马尔可夫性质组成,则可以

学以致用 知行合一 5946

马尔可夫链 (Markov Chains)

目录马尔可夫链马尔可夫链的基本定义离散状态马尔可夫链 (Finite-State Markov Chains)转移概率矩阵状态分布平稳分布 (steady-state vector / equilibrium vector)平稳分布的定义平稳分布的存在性如何找到平稳分布?连续状态马尔可夫链马尔可夫链的简单应用语言模型马尔可夫链的性质不可约非周期正常返遍历定理可逆马尔可夫链参考文献 马尔可夫链 马尔可夫链的基本定义 时间齐次的马尔可夫链 (time homogenous Markov chain): 转移

连理o的博客 4万+

从注册到投稿:一步步教你完成KBS期刊的在线投稿流程(最新版)

本文详细介绍了如何完成KBS期刊的在线投稿流程,从账号注册到最终提交的全过程。特别针对初次使用Elsevier投稿系统的研究者,提供最新版系统的操作指南,包括投稿要求、文件格式、作者信息管理等关键步骤,帮助研究者顺利投稿至这一人工智能领域的知名期刊。

egg99的博客 1591

马尔可夫链

简单写一些自己对马尔科夫链的理解

这是一个博客 4985

不止是回退SDK:深入解读UE5.2编译时那个烦人的C4756警告与INFINITY宏的变迁

本文深入解析了UE5.2源码编译时出现的C4756警告及其背后的技术原因,探讨了Windows SDK中INFINITY宏的变迁对Unreal Engine的影响。文章详细介绍了微软修改INFINITY定义的技术考量,并提供了UE5.2应对此类问题的灵活解决方案,包括通过BuildConfiguration.xml文件精确控制工具链版本,确保构建系统的可重复性和可配置性。

weixin_27180827的博客 310

Vue3多级路由缓存失效的深度解析与实战解决方案

本文深度解析了Vue3项目中多级路由嵌套下keep-alive缓存失效的根本原因,并提供了三种实战解决方案。通过剖析组件树、router-view与keep-alive的协作机制,揭示了缓存无法穿透多层router-view的技术本质。文章对比了路由扁平化重构、状态管理配合路由守卫以及使用社区插件等方案的优缺点与适用场景,为开发者解决这一常见难题提供了清晰的选型指导。

weixin_29001423的博客 270

马尔科夫链(Markov Chain)

马尔科夫链原理简介

大龄小白爱折腾的博客 1万+

Win10下ISE14.7安装避坑全记录:从License加载失败到ChipScope连不上,我踩过的雷都在这了

本文详细记录了在Win10系统下安装ISE14.7时遇到的常见问题及解决方案,包括License加载失败、IMPACT闪退、ChipScope连接故障等。通过实际案例和步骤解析,帮助用户避开安装陷阱,确保FPGA开发工具顺利运行。特别针对license问题提供了兼容性设置和文件修改的实用技巧。

weixin_42683394的博客 225

专业学习|马尔可夫链(概念、变体以及例题)

本篇博客主要介绍了马尔可夫链以及动态规划之间的联系和区别,还结合例题讲解了比较前沿的马尔可夫链模型。

weixin_63253486的博客 6907

Windows 11下manage-bde命令实战:BitLocker锁了别慌,手把手教你用命令行找回数据

本文详细介绍了在Windows 11系统下使用manage-bde命令解锁BitLocker加密驱动器的实战方法。通过命令行诊断、恢复密钥获取、解锁流程演示及高级故障排除,帮助用户在系统锁定后快速找回数据,特别适合IT技术人员和遇到紧急情况的用户。

weixin_30902251的博客 328

【Proteus仿真】基于AT89C51单片机的单片机双向通信

本文介绍了基于AT89C51单片机实现双向通信的系统设计。系统采用MAX232芯片实现TTL与RS-232电平转换,通过CONN-D9F接口建立串行通信连接。甲机程序通过按键控制发送不同指令字符,同时接收乙机数据驱动数码管显示;乙机程序根据接收指令控制LED显示状态,并可发送0-10数字至甲机。文中详细说明了MAX232电平转换原理、DB9接口定义,以及完整的单片机控制程序代码,包括串口初始化、数据收发处理等关键功能实现,为嵌入式系统串口通信开发提供了实用参考方案。

XU157303764的博客 1094

AIGC-文生视频-学习之路

aigc相关的工作记录

无名份的浪漫2018 1306

1. SAP Business Application Studio 里创建一个基于 CAP 模型的最简单的 OData 服务

本文基于 SAP Cloud Application Programming 编程模型的 OData 服务开发教程的第一步,简述了 SAP Business Technology Platform 里 Business Application Studio 开发工具的打开方式,创建 Dev Space 以及 CAP 项目的创建步骤,以及如何通过 schema.cds 和 service.cds 分别创建 OData 模型和 OData 服务,最后通过 ports preview 打开 OData 服务预览页

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1797

从零开始学diffusion modles

卷积是通过将一个小的卷积核滑动到输入图像上,然后计算卷积核与图像局部区域的元素乘积之和。(一个本子-AI实验室,里面既有前置知识的普及,又有入门学习和深入学习两个理论基础讲解,还有很详细的代码实践教程,在机器学习中,特别是在卷积神经网络(CNN)中,卷积通常用于处理图像数据。2.反向扩散过程(Reverse Diffusion Process) → 去除图片中的噪声。(讲的很详细,有具体过程和详细的公式推导,看不懂是我的问题)(讲的很全面且补充了很多前置知识,但是具体内容比较简要)

kjnsdg的博客 512

华为od 面试八股文_前端_02_含答案

华为od 面试八股文_前端_02_含答案

MISAYAONE的博客 1997

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

马尔科夫链

用一句话来概括马尔科夫链的话,那就是某一时刻状态转移的概率只依赖于它的前一个状态。

qq_42295590的博客 242

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

南京大学人工智能学院教授俞扬:我的牛年小结

作者:南京大学俞扬教授去年组里研究生新生入学的时候,有同学提到喜欢看我在知乎上的年终小结,突然想起牛年的小结没写( ° △ °|||) 因此还是觉得有必要总结一下,特别是我们碰到的种种困难...

weixin_40920183的博客 680

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

马尔可夫链 | 学习笔记

马尔可夫链的基本性质以及浅显理解

zhanghanhanzhang的博客 9695

马尔可夫链(Markov Chain)

马尔可夫链是一个由状态(state)组成的序列,状态之间的转移依赖于当前状态,但不依赖于之前的状态历史。换句话说,当前状态的信息足以决定下一个状态的分布,这就是所谓的马尔可夫性(Markov property)。Pqi∣qi−1qi−2q1Pqi∣qi−1Pqi​∣qi−1​qi−2​q1​Pqi​∣qi−1​这种假设称为一阶马尔可夫假设(First-order Markov assumption)

qq_51011530的博客 4140

【机器学习之---数学】马尔科夫链

马尔科夫链Xt−2Xt−1XtXt−1...Xt−2​Xt−1​Xt​Xt−1​...,那么Xt−1X_{t-1}Xt−1​时刻的状态,只与Xt−1X_{t-1}Xt−1​时刻的状态有关,与Xt−2X_{t-2}Xt−2​时刻的状态无关。

胡侃有料的博客 3287

数学建模——马尔科夫链(Markov Chain Model)

马尔科夫链是一种具有无后效性的随机过程模型,其未来状态仅取决于当前状态。该模型包含三个核心概念:状态空间(所有可能状态的集合)、无后效性(未来与过去无关)和转移概率矩阵(描述状态间转换概率)。通过分析转移概率矩阵和平稳分布,可预测系统长期行为。建模步骤包括:确定状态空间、收集数据估计转移概率、计算平稳分布。示例展示了如何利用30天天气数据构建3状态(晴、阴、雨)的转移矩阵,并验证了概率性质。该模型适用于人口迁移、用户行为等具有统计规律的离散状态预测问题。

haoweixl的博客 6374

数学建模之马尔可夫链模型详解(附详细Matlab程序)

🔗 运行环境:Matlab 🚩 作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 📚 选自专栏:《数学建模》 🧿 优秀专栏:《Matlab神经网络案例分析》 目前持续更新的专栏: 🥇 专栏:Matlab GUI编程技巧 🔥 专栏:Matlab从无到有系列 大家好,我是左手の明天! 今天和大家分享数学建模重要模型——马尔可夫链模型。在对数学建模之马尔可夫链模型进行介绍时,首先需要明确两个问题: 马氏链模型用来干什么 马尔可夫预测法是应用概率论中马尔可夫链(Mar

左手の明天的博客 5万+

马尔可夫链(Markov Chain)是什么?通俗易懂

马尔可夫链(Markov Chain) 马尔可夫链经常出现在机器学习的概念中,因为生活中很多情况都可以用马尔可夫链建模,我们先给出数学化的定义,然后再举个生活化的例子与数学公式相对应,就可以理解马尔可夫链了。 ps:可以先看生活化的例子,再去看数学公式,更容易理解 数学定义 马尔可夫链是一组离散随机变量的集合。具体地,给定随机变量集合 X={Xn:n>0}X=\{X_n: n>0\}X={Xn​:n>0},若随机变量的取值都在可数集内 X=si,si∈sX=s_{i}, s_{i} \

梁浩的博客 2万+

马尔可夫链(Markov chain)的基本认识

马尔可夫链在统计学中的定义 马尔可夫链(Markov Chain),描述了一种状态序列,其每个状态值取决于前面有限个状态。 如何通俗理解马尔可夫链 马尔可夫链指的是在已知现在的条件下,过去的信息与未来是独立的,这个独立是条件独立性。 最简单的例子就是: 已知父母具有某项特长天赋的条件下,孩子也拥有的概率。与已知祖宗十八代和父母的信息的条件下,孩子拥有这项天赋的概率,是一样的。 若要用人生的例子来讲,已知你大学学习情况下和已知你在幼儿园小学初中高中大学的所有学习情况下,考研能不能考上的概率是一样的。 但是

Fo*(Bi)的博客 1万+
上一篇: Python 教你3分钟用Bert搭建问答搜索引擎
下一篇: pandas 缺失数据处理大全(附代码)
Wang_AI
博客等级 码龄12年 988粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值