python之马尔科夫链(Markov Chain)

这篇具有很好参考价值的文章主要介绍了python之马尔科夫链(Markov Chain)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

马尔可夫链(Markov Chain)是一种随机过程,具有“马尔可夫性质”,即在给定当前状态的条件下,未来状态的概率分布仅依赖于当前状态,而与过去状态无关。马尔可夫链在很多领域都有广泛的应用,包括蒙特卡洛方法、统计物理学、自然语言处理等。

马尔可夫链的一般定义如下:

给定状态空间 SS 和状态转移概率矩阵 PP,其中 PijPij​ 表示从状态 ii 转移到状态 jj 的概率,如果对于任意状态 i,ji,j 和任意时间步 nn,满足以下条件,则称该过程是马尔可夫链:
P(Xn+1=j∣X0,X1,…,Xn)=P(Xn+1=j∣Xn)
P(Xn+1​=j∣X0​,X1​,…,Xn​)=P(Xn+1​=j∣Xn​)

其中,XnXn​ 表示在时间步 nn 的状态。

马尔可夫链的一个重要特性是它在长时间内具有收敛性,即在足够长的时间后,马尔可夫链的状态分布会收敛到一个稳态分布。这个性质是许多马尔可夫链算法应用的基础。
马尔可夫链的稳态分布表示在长时间运行后,随机过程中各个状态的概率分布不再随时间变化,保持恒定的概率分布。
这个是实例:

import numpy as np

# 定义更多的状态
states = ["Sunny", "Cloudy", "Rainy", "Snowy"]

# 定义状态转移概率矩阵
transition_matrix = np.array([[0.7, 0.2, 0.1, 0.0],
                              [0.3, 0.4, 0.2, 0.1],
                              [0.1, 0.3, 0.4, 0.2],
                              [0.0, 0.1, 0.3, 0.6]])

# 定义初始状态分布
initial_distribution = np.array([0.4, 0.3, 0.2, 0.1])

# 生成马尔可夫链轨迹
def generate_markov_chain(num_steps):
    current_state = np.random.choice(states, p=initial_distribution)
    chain = [current_state]

    for _ in range(num_steps - 1):
        next_state = np.random.choice(states, p=transition_matrix[states.index(current_state)])
        chain.append(next_state)
        current_state = next_state

    return chain

# 生成马尔可夫链轨迹并打印结果
num_steps = 10
markov_chain = generate_markov_chain(num_steps)
print("Generated Markov Chain:", markov_chain)

稳态分布(Stationary Distribution)是指在马尔可夫链达到平稳状态后,随机过程中各个状态的概率分布不再随时间变化,保持恒定的概率分布。换句话说,稳态分布是一个时间不变的分布,表示在长时间运行后,随机过程在不同状态的停留概率。

形式化地说,对于一个离散状态空间的马尔可夫链,如果存在一个向量 ππ,满足以下两个条件:

非负性条件: 所有的 πiπi​(ii 表示状态)都是非负的。
概率归一条件: 向量 ππ 的元素之和等于1,即 ∑iπi=1∑i​πi​=1。

并且对于任意时间步 nn,都有 P(Xn+1=j)=∑iP(Xn=i)⋅P(Xn+1=j∣Xn=i)P(Xn+1​=j)=∑i​P(Xn​=i)⋅P(Xn+1​=j∣Xn​=i),其中 P(Xn=i)P(Xn​=i) 表示在时间步 nn 处于状态 ii 的概率,那么向量 ππ 就是该马尔可夫链的稳态分布。

对于连续状态空间的马尔可夫链,稳态分布通常以概率密度函数的形式表示。

稳态分布的存在性和唯一性取决于具体的马尔可夫链。对于满足一定条件的可逆马尔可夫链,稳态分布是唯一存在的。在实际应用中,稳态分布对于理解系统的长期行为、进行概率推断和模拟具有重要意义。文章来源地址https://www.toymoban.com/news/detail-833450.html

到了这里,关于python之马尔科夫链(Markov Chain)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 8.(Python数模)(预测模型一)马尔科夫链预测

    马尔科夫链是一种进行预测的方法,常用于系统未来时刻情况只和现在有关, 而与过去无关 。 用下面这个例子来讲述马尔科夫链。 如何预测下一时刻计算机发生故障的概率? 当前状态只存在0(故障状态)和1(正常状态)两种,每种状态下各存在两个未来状态(00,01,11,10)

    2024年02月09日
    浏览(46)
  • EM算法实现之隐马尔科夫模型HMM的python实现

    1 基本概念 1.1 马尔科夫链(维基百科) 马尔可夫链(英语:Markov chain),又称离散时间马尔可夫链(discrete-time Markov chain,缩写为DTMC),因俄国数学家安德烈·马尔可夫得名,为状态空间中经过从一个状态到另一个状态的转换的随机过程。该过程要求具备“无记忆”的性质:

    2024年02月09日
    浏览(46)
  • 对平稳马尔可夫链(stationary distribution of a Markov chain)的学习

    首先介绍马尔可夫链的 平稳分布 :   给定一个马尔可夫链,其状态空间存在概率分布π=π(s),且转移矩阵和转移概率P=p(i,j),若满足 π=πP (平衡方程),则称π是该马尔可夫链的平稳分布,或称为转移阵P的 不变测度 。   如果马尔可夫链的存在平稳分布,并且其初始

    2024年02月05日
    浏览(39)
  • 机器学习基础 HMM模型(隐马尔科夫)

    推荐参考:https://juejin.cn/post/6844903891834781703 在机器学习算法中,马尔可夫链(Markov chain)是个很重要的概念。马尔可夫链(Markov chain),又称离散时间马尔可夫链(discrete-time Markov chain),因俄国数学家安德烈·马尔可夫(俄语:Андрей Андреевич Марков)得名。 马尔科

    2024年02月02日
    浏览(70)
  • 语音识别的进展:从隐马尔科夫模型到Transformers

    语音识别,也称为语音转文本,是一种将人类语音信号转换为文本的技术。它在人工智能领域具有重要的应用价值,例如语音助手、语音密码等。语音识别技术的发展历程可以分为以下几个阶段: 早期语音识别技术(1950年代至1970年代):这一阶段的语音识别技术主要基于隐

    2024年02月03日
    浏览(53)
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)

    概率图模型是一种用图形表示概率分布和条件依赖关系的数学模型。概率图模型可以分为两大类:有向图模型和无向图模型。有向图模型也叫贝叶斯网络,它用有向无环图表示变量之间的因果关系。无向图模型也叫马尔可夫网络,它用无向图表示变量之间的相关关系。概率图

    2024年01月22日
    浏览(38)
  • 马尔科夫状态转移矩阵

    一、马尔科夫状态转移矩阵性质 1. 每个时间点处在某一个状态,时间是离散的。 2. 每次到下一个时间点时按照图进行随机状态转移。 3. 假如某时的状态是个统计分布(看做向量),那么用状态转移矩阵(权值)乘这个向量就得下一时刻的状态。马尔可夫链的状态数可以是有

    2024年02月13日
    浏览(47)
  • 深入理解机器学习——概率图模型(Probabilistic Graphical Model):马尔可夫随机场(Markov Random Field,MRF)

    分类目录:《深入理解机器学习》总目录 马尔可夫随机场(Markov Random Field,MRF)是典型的马尔可夫网,这是一种著名的无向图模型,图中每个结点表示一个或一组变量,结点之间的边表示两个变量之间的依赖关系。马尔可夫随机场有一组势函数(Potential Functions),亦称“因

    2024年02月12日
    浏览(49)
  • 15、条件概率、全概率公式、贝叶斯公式、马尔科夫链

    定义:设A、B是两个事件,且,P(A) 0 则称 为事件A发生的条件下事件B的条件概率 对这个式子进行变形,即可得到概率的乘法公式: P(A) 0 时,则 P(B) 0 时,则 乍一看,这个式子不就是把除法形式写成了乘法形式嘛,不然不然,这个区别是本质的,分母不为0很关键,而且看法也

    2024年02月13日
    浏览(46)
  • 【RL】(task1)马尔科夫过程、动态规划、DQN

    递归结构形式的贝尔曼方程计算给定状态下的预期回报,这样的方式使得用逐步迭代的方法就能逼近真实的状态/行动值。 有了Bellman equation就可以计算价值函数了 马尔科夫过程描述了一个具有无记忆性质的随机过程,未来状态只依赖于当前状态,与过去状态无关,类似于一个

    2024年01月21日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包