20180610-reinforcement-learning-MDP

本文介绍了马尔科夫决策过程(MDPs)及其在强化学习中的应用,详细解释了马尔科夫过程的概念、特点及转移概率矩阵,并阐述了MDPs的四元组定义、策略(policy)与值函数(value function)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【转自本人个人博客 icesunsReinforcement Learning(2)——MDPs
上一篇文章强化学习——简介简单介绍了一下强化学习的相关概念。这篇博客将引入 马尔科夫决策过程(Markov Decision Processes, MDPs)对强化学习进行建模。这篇文章,将对马尔科夫决策过程以及Q-leaning进行介绍。

马尔科夫过程

定义: 若随机过程 {Xn,nT} { X n , n ∈ T } 对于任意非负正整数 nT n ∈ T 和任意的状态 i0,i1,...,inI i 0 , i 1 , . . . , i n ∈ I , 其概率满足

P{Xn+1=in+1X0=i0,X1=i1,...,Xn=in}=P{Xn+1=in+1Xn=in} P { X n + 1 = i n + 1 ∣ X 0 = i 0 , X 1 = i 1 , . . . , X n = i n } = P { X n + 1 = i n + 1 ∣ X n = i n }
则称 {Xn,nT} { X n , n ∈ T } 是马尔科夫过程。

马尔科夫过程的一大特点是 无后效性 ,当一个随机过程在给定现在状态和过去状态情况下,其未来状态的条件概率仅依赖于当前状态。在给定现在状态是,随机过程与过去状态是条件独立的。也就是说,系统的下个状态只与当前状态有关,与更早之前的状态无关,一旦知道当前状态之后,过去的状态信息就可以抛弃。

马尔科夫过程还有一个重要的元素,那就是 转移概率矩阵
Pij(n)=P{Xn+1=jXn=i} P i j ( n ) = P { X n + 1 = j ∣ X n = i } ,指的时刻 n n ,从状态i转移到状态 j j 的一步转移概率。当Pij(n)y与 n n 无关是,则称马尔科夫链{Xn,nT}是齐次的。

P=p11p21pn1p12p22pn2p1np2npnn P = [ p 11 p 12 ⋯ p 1 n p 21 p 22 ⋯ p 2 n ⋮ ⋮ ⋱ ⋮ p n 1 p n 2 ⋯ p n n ] ;其中, pij0 p i j ≥ 0 jIpij=1 ∑ j ∈ I p i j = 1
因此,定义一个马尔科夫过程,需要给出有限状态集合 xiX,iN x i ∈ X , i ∈ N 以及转移概率矩阵 P P
下图是一个马尔科夫链转移矩阵的例子。
马尔科夫链

马尔科夫决策过程

上一篇文章介绍了强化学习是一个与不断进行环境交互学习只能agent的学习过程。而MDPs正是立足于agent与环境的直接交互,只考虑离散时间,假设agent与环境的交互可分解为一系列阶段,每个阶段由“感知——决策——行动”构成。如下图:agent与环境交互
不同资料对于MDPs定义不同。在这里,我们将MDPs模型定义为一个四元组(S,A,P,R,γ)

  • S S 是一个有限集,其中每个元素 sS s ∈ S 代表一个状态
  • A A 是一个有限集,其中每个元素 aA a ∈ A 代表一个行动
  • P P 代表状态之间的转移矩阵, Pass=P[St+1=sSt=s,At=a] P s s ′ a = P [ S t + 1 = s ′ ∣ S t = s , A t = a ]
  • R R 是reward函数, Ras=E[Rt+1St=s,At=a] R s a = E [ R t + 1 ∣ S t = s , A t = a ]
  • γ γ 是discount系数, γ(0,1) γ ∈ ( 0 , 1 )

上述定义的是完全观察的马尔科夫决策过程,定义了environment-agent之间的关系。其实这很像是在模拟人或者动物与环境之间的交互过程。agent根据environment的状态作出决策,选择相应的行动action。行动对环境产生影响,改变环境的状态state,对于这个状态的改变,环境作出评估并给出奖励reward。

马尔科夫决策过程能够刻画强化学习,我们对我们的问题建模之后,该考虑agent与environment如何交互,agent怎么选择下一步行动。在这之前,我们需要对一下几点知识做一些了解。

策略(Policy)

策略的 定义

π(as)=P[At=aSt=s] π ( a ∣ s ) = P [ A t = a ∣ S t = s ]

策略很通俗地讲,其实就是在状态 s s 下,选择行动a的概率。强化学习的本质其实就是要去学习一个最优的策略。策略定义了agent的行为,马尔科夫决策过程策略依赖于当前的状态。

值函数(Value Function)

在介绍值函数之前,需要介绍一下reward。看上图,可以知道agent选择一个行动之后,会对环境产生影响,环境会对这个行动进行评估,量化该行动在该状态下的好坏程度,是该行为在该状态下的即刻奖励。

Gt=Rt+1+γRt+2+...=k=0γkRt+k+1 G t = R t + 1 + γ R t + 2 + . . . = ∑ k = 0 ∞ γ k R t + k + 1
Gt G t 是t时刻,到未来k个阶段的“折扣”奖励和,是一个长期的影响。其中  gamma[0,1]   g a m m a ∈ [ 0 , 1 ] ,当 γ0 γ → 0 时,agent关注与短期影响,当 γ1 γ → 1 时,agent关注与长期的影响。

这跟人和动物在做决策的时候一样,不能仅仅看到短期的利益,还应该目光长远。因此马尔科夫决策过程具有一个奖励延迟的特点。

state-value function

马尔科夫决策过程state-value function vπ(s) v π ( s ) 是从t时刻在状态s下,按照策略 π π 执行,得到reward的期望。

vπ(s)=Eπ[GtSt=s] v π ( s ) = E π [ G t ∣ S t = s ]

action-value function

马尔科夫决策过程action-value function qπ(s,a) q π ( s , a ) 是从时刻t,状态s下采取a行动,并按照策略 π π 执行决策的reward的期望。

qπ(s,a)=Eπ[GtSt=s,At=a] q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ]

本次,介绍了一下马尔科夫链以及马尔科夫决策过程,以及值函数。在下篇文章中,将对Bellman方程进行介绍。并且将会引入动态规划的方法对马尔科夫决策过程进行优化。

参考资料

[1] Hexo编辑数学公式:
+ http://bennychen.me/mathjax.html
+ https://wdxtub.com/2016/03/26/latex-notation-table/

[2] 马尔科夫决策过程: https://www.cnblogs.com/jinxulin/p/3517377.html
[3] 马尔科夫链: https://www.cnblogs.com/pinard/p/6632399.html

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编写Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提高项目的整体质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值