马尔科夫决策过程

马尔科夫特性:

下一时刻的状态只与现在的时刻的状态相关,与之前的时刻无关,即状态信息包含了历史的所有相关信息。

马尔科夫奖励过程,$<S, P, R, \gamma>$:

$S$是有限状态集

$P$是状态转移概率矩阵,${p_{ss‘}} = {\rm P}[{S_{t + 1}} = s‘|{S_t} = s]$

$R$是奖励函数,${R_s} = {\rm E}[{R_{t + 1}}|{S_t} = s]$

$\gamma$是折扣因子

为什么要折扣因子呢

1. 数学上方便定义描述

2. 避免了马尔科夫过程的无限循环

3. 折扣可以表示对未来的不确定性

4. 如果奖励是经济的,即时奖励会比延后奖励带来更多的利润

5. 人/动物 确实会更倾向于即时奖励

6. 也存在无折扣的马尔科夫奖励过程

定义回报$G$是从$t$时刻开始的折扣奖励的总和

${G_t} = {R_{t + 1}} + \gamma {R_{t + 2}} + ... = \sum\limits_{k = 0}^\infty  {{\gamma ^k}{R_{t + k + 1}}} $

定义马尔科夫奖励过程的价值函数$v(s)$是状态$s$下的长期价值,即状态$s$下,的期望回报

$v(s) = {\rm E}[{G_t}|{S_t} = s]$

对于马尔科夫奖励过程,为了体现其动态特性,利用贝尔曼方程递推得到:

$v(s) = {\rm E}[{G_t}|{S_t} = s]\\
     = {\rm E}[{R_{t + 1}} + \gamma {R_{t + 2}} + {\gamma ^2}{R_{t + 3}} + ...|{S_t} = s]\\
     = {\rm E}[{R_{t + 1}} + \gamma ({R_{t + 2}} + \gamma {R_{t + 3}} + ...)|{S_t} = s]\\
     = {\rm E}[{R_{t + 1}} + \gamma {G_{t + 1}}|{S_t} = s]\\
     = {\rm E}[{R_{t + 1}} + \gamma v({S_{t + 1}})|{S_t} = s]$

$v(s)  = {\rm E}[{R_{t + 1}} + \gamma v({S_{t + 1}})|{S_t} = s]$

由上图可知,当前状态$s$的价值函数$v(s)$等于

当前状态到下一状态得到的即时奖励$R_s$,加上折扣后的下一状态的价值函数期望值$\gamma \sum\limits_{s‘ \in S} {{{\rm P}_{ss‘}}} v(s‘)$

$v(s) = {R_s} + \gamma \sum\limits_{s‘ \in S} {{{\rm P}_{ss‘}}} v(s‘)$

马尔科夫决策过程,$<S, A, P, R, \gamma>$:

引入有限动作空间$A$,将马尔科夫奖励过程转化为马尔科夫决策过程。

$S$是有限状态集

$A$是有限动作集

$P$是状态转移概率矩阵,${p_{ss‘}^a} = {\rm P}[{S_{t + 1}} = s‘|{S_t} = s, A_t = a]$

$R$是奖励函数,${R_s^a} = {\rm E}[{R_{t + 1}}|{S_t} = s, A_t = a]$

$\gamma$是折扣因子

定义策略$\pi$是在给定状态下的动作分布,$\pi (a|s) = {\rm P}[{A_t} = a|{S_t} = s]$

1. 策略完全定义了智能体的行为

2. 马尔科夫决策过程,决策即动作的选择,依赖于当前状态,与历史状态无关

3. 策略$\pi$是给定状态下的所有动作的概率分布,所以可以求状态转移概率${{\rm P}_{ss‘}}$和状态的期望即时奖励$R_s$

${{\rm P}_{ss‘}} = \sum\limits_{a \in A} {\pi (a|s){\rm P}_{ss‘}^a}$

${R_s} = \sum\limits_{a \in A} {\pi (a|s)R_s^a} $

定义马尔科夫决策过程的价值函数$v_\pi(s)$,在状态$s$下, 服从策略$\pi$,即按照策略$\pi$来选择动作,的期望回报

$v_\pi(s) = {\rm E}[{G_t}|{S_t} = s]$

定义马尔科夫决策过程的动作-值函数$q_\pi(s)$,在状态$s$下,选择动作$a$后, 服从策略$\pi$的期望回报

$q_\pi(s) = {\rm E}[{G_t}|{S_t} = s, A_t = a]$

对于马尔科夫决策过程,为了体现其动态特性,利用贝尔曼方程递推得到:

${v_\pi }(s) = {{\rm{E}}_\pi }[{R_{t + 1}} + \gamma {v_\pi }({S_{t + 1}})|{S_t} = s]$

${q_\pi }(s,a) = {{\rm{E}}_\pi }[{R_{t + 1}} + \gamma {q_\pi }({S_{t + 1}},{A_{t + 1}})|{S_t} = s,{A_t} = a]$

${v_\pi }(s) = \pi (a|s)\sum\limits_{a \in A} {{q_\pi }(s,a)}$              (1)

${q_\pi }(s,a) = R_s^a + \gamma \sum\limits_{s‘ \in S} {P_{ss‘}^a{v_\pi }(s‘)} $              (2)

把公式(2)带入公式(1),得到${v_\pi }(s)$的贝尔曼递推方程,

${v_\pi }(s) = \sum\limits_{a \in A} {\pi (a|s)\left( {R_s^a + \gamma \sum\limits_{s‘ \in S} {P_{ss‘}^a{v_\pi }(s‘)} } \right)} $

把公式(1)带入公式(2),得到${q_\pi }(s,a)$的贝尔曼递推方程,

${q_\pi }(s,a) = R_s^a + \gamma \sum\limits_{s‘ \in S} {P_{ss‘}^a\pi (a‘|s‘)\sum\limits_{a‘ \in A} {{q_\pi }(s‘,a‘)} } $

定理:

对于任一马尔科夫决策过程,

1. 一定存在一个最优策略$\pi_*$比其他的所有的策略都好或者相等,$\pi_* \ge \pi, \forall \pi$

2. ${v_{{\pi _*}}(s)} = {v_*}(s)$ ${q_{{\pi _*}}(s, a)} = {q_*}(s, a)$

如果我们知道$q_{{\pi _*}}(s, a)$,就可以每次根据q值,选最大值对应的动作a,从而得到最优策略$\pi$

由于q值是包含了所有未来可能的状态的,所以可以每步贪心就可以了。

贝尔曼最优方程如下:

接下来就讲怎么迭代得到最优策略。

参考:

1. David Silver 课程

2. Reinforcement learning: An Introduction. Richard S. Sutton

原文地址:https://www.cnblogs.com/yijuncheng/p/9847981.html

时间: 2024-10-10 22:30:24

马尔科夫决策过程的相关文章

增强学习与马尔科夫决策过程

现有的机器学习算法根据模型的学习过程大致可以分为四类:监督式学习,无监督式学习,半监督式学习和增强学习. ① 监督式学习:从标记好的训练数据中进行模型的训练,常用来做分类和回归,例如逻辑回归.反向神经网络: ② 无监督式学习:根据数据的特征直接对数据的结构和数值进行归纳,常用来做聚类,例如周知的K-均值,谱聚类: ③ 半监督式学习:根据部分标记的和部分没有标记的训练数据进行模型的学习,常用来做回归和分类: ④ 增强式学习:作为今天要讨论的主角,是机器学习中最酷的分支之一,其通过不断的试错.反馈进

MDP:马尔科夫决策过程(一)

MDP:马尔科夫决策过程(Markov Decision Process) 定义: 一个马尔可夫模型包括如下部分 状态集 S     (States) 动作集 A     (Actions) 奖惩函数 R  (reward function) 在状态 s 下,执行 a 动作的影响函数 T 我们假设执行动作 a 的效果只与当前状态有关,与之前历史状态无关. 动作表示:分为 确定性动作(Determinstic Actions) 和 随机性动作(Stochastic Actions) 确定性动作:T

MDP:马尔科夫决策过程(二)

MDP:马尔科夫决策过程(Markov Decision Process) 策略评价: 对于确定性动作(deterministic actions),由于状态转换可能是无限的,那么奖惩函数之和的值也可能是无限的:对于随机性动作(stochastic actions),同样,奖惩函数期望之和也有可能是无限的. 需要定义一个客观函数(objective function)来将无穷的奖惩序列转换成单一的实数,来表示效用. 大概有三种方式: 设立一个确定的界限,只计算这几步范围内的奖惩函数之和 对每一步

MDP:马尔科夫决策过程(三)

MDP:马尔科夫决策过程(Markov Decision Process) 贝尔曼等式: 上节说到,这是对于确定性动作的模型.如果随机性动作的模型,应该表示为 即,执行动作后的状态有多个,按照概率乘以值函数得到上式. 因此,当前状态最优执行动作就是 对于每个状态都有一个Vπ(S) ,所以对于每一步来说,可以得到如下递推的形式:

马尔科夫链和隐马尔可夫模型(转载)

马尔可夫模型是由Andrei A. Markov于1913年提出的 ?? 设 SS是一个由有限个状态组成的集合 S={1,2,3,-,n?1,n}S={1,2,3,-,n?1,n} 随机序列 XX 在 tt时刻所处的状态为 qtqt,其中 qt∈Sqt∈S,若有: P(qt=j|qt?1=i,qt?2=k,?)=P(qt=j|qt?1=i)P(qt=j|qt?1=i,qt?2=k,?)=P(qt=j|qt?1=i) aij≥0∑jnaij=1aij≥0∑jnaij=1 则随机序列 XX构成一个一

隐马尔科夫模型—2

二 定义 (1) 基本定义 在上一篇中,我们通过一个给母亲打电话预测天气的例子,来引入隐马尔科夫模型.下面我们将结合一中的例子来形式化的定义隐马尔可夫模型.隐马尔科夫模型是关于时序的概率模型,描述的由一个隐藏的马尔科夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程.在我们这个例子中,就是由一个隐藏的马尔科夫链生成每天的天气(状态),再由每天的天气决定每天母亲下班以后做什么(观测)的随机过程.隐藏的马尔科夫链随机生成的状态的序列,称为状态序列,也就是最近一段时间

隐马尔科夫模型

特征向量:跟踪框位置相对轨迹中心的比值,角度,速度. 马尔科夫模型: State Sequence, q1 q2 ...... qT t个状态之间的转移可见,则这个时间序列的概率是πq1 × aq1q2 × ...... × aqT-1qT 隐马尔科夫模型: 状态不可见(隐藏),只能从观察值推测出,所以由观察值推测该时刻的状态有个观察值概率b. πq1 × bq1( o1 ) × aq1q2 × bq2( o2 ) × ...... × aqT-1qT × bqT( oT ), 三个问题: 1.

HMM基本原理及其实现(隐马尔科夫模型)

HMM(隐马尔科夫模型)基本原理及其实现 HMM基本原理 Markov链:如果一个过程的“将来”仅依赖“现在”而不依赖“过去”,则此过程具有马尔可夫性,或称此过程为马尔可夫过程.马尔可夫链是时间和状态参数都离散的马尔可夫过程.HMM是在Markov链的基础上发展起来的,由于实际问题比Markov链模型所描述的更为复杂,观察到的时间并不是与状态一一对应的,而是通过一组概率分布相联系,这样的模型称为HMM.HMM是双重随机过程:其中之一是Markov链,这是基本随机过程,它描述状态的转移,是隐含的.

hdu4865Peter&#39;s Hobby马尔科夫过程

#include<iostream> #include<string> #include<cmath> #include<map> #include<vector> using namespace std; double p1[3][4]={0.6,0.2,0.15,0.05,0.25,0.3,0.2,0.25,0.05,0.1,0.35,0.5}; double p2[3][3]={0.5,0.375,0.125,0.25,0.125,0.62