强化学习读书笔记 - 03 - 有限马尔科夫决策过程

学习笔记:
Reinforcement Learning: An Introduction, Richard S. Sutton and Andrew G. Barto c 2014, 2015, 2016

代理-环境接口(The agent-environment interface)

代理(agent) - 学习者或者决策者
环境(environment) - 代理外部的一切,代理与之交互。

情节性任务(Episodic Tasks)和连续任务(Continuing Tasks)

情节性任务(Episodic Tasks),所有的任务可以被可以分解成一系列情节。逻辑上,可以看作为有限步骤的任务。
连续任务(Continuing Tasks) ,所有的任务不能分解。可以看作为无限步骤任务。

马尔科夫属性(The Markov property)

state - 马尔科夫属性,表示当前环境的状态。
举个例子:一个国际象棋的state可能包含:棋盘上所有棋子的位置,上一步的玩家,上一步的走法。

看看下面的公式:
这个公式在计算下一步(状态是\(s'\)、奖赏是\(r\))的概率。
并说明这个概率是由至今为止所有的状态\(S*\),行动\(A*\)和奖赏\(R*\)决定的。
\[ Pr\{s_{t+1} = s', R_{t+1} = r | S_0, A_0, R_1, S_1, A_1, \dots, R_t, S_t, A_t \} \\ \]

如果,我们有马尔科夫属性state,有了现在环境的所有状态,那么上面的公式可以简化为:
这个公式的含义是下一步(状态是\(s'\)、奖赏是\(r\))的概率是由马尔科夫属性\(s\)和行动\(a\)决定的
\[ p(s', r | s, a) = Pr \{S_{t+1} = s', R_{t+1} = r | S_t = s, A_t = a \} \]

马尔科夫决策过程 - 数学模型

马尔科夫决策过程是一个强化学习问题的数学描述模型。
这个数学模型可以从几个视图来学习。

  • 状态(state)-行动(action)-奖赏(reward)视图
  • 目标(goal)-奖赏(reward)视图
  • 决策过程视图
  • 策略(policy)视图

状态(state)-行动(action)-奖赏(reward)视图

<?xml version="1.0" encoding="UTF-8" standalone="no"?> Markov Decision Processes - TermsMarkov Decision Processes - Termsstates (state)state1s' (state)state->state1                 r (reward) a (action)

这是一个马尔科夫抉择过程的基本视图。
描述agent在状态\(s\)下,选择了行动\(a\),状态变为\(s'\),获得了奖赏\(r\)。
这个很容易理解,说明奖赏是行动引起状态转变后得到的。
举个特殊例子:天上掉馅饼的过程:行动是等待;新状态是获得馅饼。

目标(goal)-奖赏(reward)视图

<?xml version="1.0" encoding="UTF-8" standalone="no"?> Markov Decision Processes - GoalMarkov Decision Processes - GoalS2...S_tS_tS2->S_tS_t_1S_t+1S_t_2...S_t_1->S_t_2    R_t+2A_t+1S0S0S1S1S0->S1R1A0S1->S2R2A1S_t->S_t_1    R_t+1A_t

奖赏假设(reward hypothesis) - 目标就是:最大化长期累计奖赏的期望值。
注:不是立即得到的奖赏。
回报\(G_t\):
\[ G_t \doteq \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} \\ where \\ \gamma \text{ - is a parameter, discount rate, } 0 \leqslant \gamma \leqslant 1 \]
\(\gamma\)折扣率决定了未来奖赏的当前价值:
在k步之后的一个奖赏,如果换算成当前奖赏,需要乘以它的\(\gamma^{k-1}\)倍。

情节性任务(episodic tasks)的回报计算
\[ G_t \doteq \sum_{k=0}^{T-t-1} \gamma^k R_{t+k+1} \quad (T = \infty \text{ or } \gamma = 1 \text{ (but not both)}) \\ where \\ T \ne \infty \text{ - case of episodic tasks} \\ T = \infty \text{ - case of continuing tasks} \]

决策过程视图

<?xml version="1.0" encoding="UTF-8" standalone="no"?> Reinforcement Learning - Markov Decision ProcessesReinforcement Learning - Markov Decision Processesssas->a  a   a_2s->a_2  a_2   s_1s's_2s_2'ra->rp(s'|s,a)r_3a->r_3p(s_2'|s,a)r_4a_2->r_4    r->s_1p(s',r|s,a),rr->s_1p(s',r'|s,a),r'r'r_3->s_2    r_4->s_1    

上图说明了:

  1. 状态\(s\)下,采取行动\(a\),转变成新状态\(s'\),是由概率\(p(s' | s, a)\)决定的。
  2. 状态\(s\)下,采取行动\(a\),转变成新状态\(s'\),获得的奖赏\(r\),是由概率\(p(s', r | s, a)\)决定的。
  3. 引起状态\(s\)到状态\(s'\)的转变行动,不一定是唯一的。

相应的数学定义和公式

在状态\(s\)下,执行行动\(a\),转变为状态\(s'\)并获得奖赏\(r\)的可能性:
\[ p(s', r | s, a) \doteq Pr \{S_{t+1} = s', R_{t+1} = r | S_t = s, A_t = a \} \]

在状态\(s\)下,执行行动\(a\)的期望奖赏:
\[ r(s,a) \doteq \mathbb{E}[R_{t+1} | S_t = s, A_t = a] = \sum_{r \in \mathcal{R}} r \sum_{s' \in \mathcal{S}} p(s', r|s,a) \]

在状态\(s\)下,执行行动\(a\),转变为状态\(s'\)的可能性:
\[ p(s' | s,a) \doteq Pr \{S_{t+1} = s' | S_t=s, A_t=a \} = \sum_{r \in \mathcal{R}} p(s',r | s,a) \]

在状态\(s\)下,执行行动\(a\),转变为状态\(s'\)的期望奖赏:
\[ r(s,a,s') \doteq \mathbb{E}[R_{t+1} | S_t = s, A_t = a, S_{t+1} = s'] = \frac{\sum_{r \in \mathcal{R}} r p(s',r|s,a)}{p(s'|s,a)} \]

策略视图

强化学习的目标是找到(可以获得长期最优回报)的最佳策略。

\(\pi\) - 策略(policy)。
\(\pi\) - 策略(policy)。强化学习的目标:找到最优策略
策略规定了状态\(s\)时,应该选择的行动\(a\)。
\[ \pi = [\pi(s_1), \cdots, \pi(s_n)] \]
\(\pi(s)\) - 策略\(\pi\)在状态\(s\)下,选择的行动。
\(\pi_*\) - 最优策略(optimal policy)。
\(\pi(a | s)\) - 随机策略\(\pi\)在状态\(s\)下,选择的行动\(a\)的概率。

价值方法(Value Functions)

使用策略\(\pi\),状态价值方法 - state-value function
\[ v_{\pi}(s) \doteq \mathbb{E}[G_t | S_t = s] = \mathbb{E}_{\pi} \left [ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} | S_t = s \right ] \\ where \\ \pi \text{ - polity} \\ \mathbb{E}_{\pi}[\cdot] \text{ - the expected value of a value follows policy } \pi \]

使用策略\(\pi\),行动价值方法 - action-value function
\[ q_{\pi}(s,a) \doteq \mathbb{E}[G_t | S_t = s, A_t = a] = \mathbb{E}_{\pi} \left [ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} | S_t = s, A_t = a \right ] \\ \]

使用策略\(\pi\),迭代状态价值方法 - iterative state-value function
a.k.a Bellman equation for \(v_{\pi}\)

\[ \begin{align} v_{\pi}(s) & \doteq \mathbb{E}[G_t | S_t = s] \\ & = \mathbb{E}_{\pi} \left [ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} | S_t = s \right ] \\ & = \mathbb{E}_{\pi} \left [ R_{t+1} + \gamma\sum_{k=0}^{\infty} \gamma^k R_{t+k+2} | S_t = s \right ] \\ & = \sum_{a} \pi(a|s) \sum_{s'} \sum_{r} p(s',r|s,a) \left [ r + \gamma\mathbb{E}_{\pi} \left [ \sum_{k=0}^{\infty} \gamma^k R_{t+k+2} | S_{t+1} = s' \right ] \right ] \\ & = \sum_{a} \pi(a|s) \sum_{s',r} p(s',r|s,a) \left [ r + \gamma v_{\pi}(s') \right ], \ \forall s \in \mathcal{S} \end{align} \]

最优价值方法(Optimal Value Functions)

最优状态价值方法 - optimal state-value function
\[ v_*(s) \doteq \underset{\pi}{max} \ v_{\pi}(s), \forall s \in \mathcal{S} \]

最优行动价值方法 - optimal action-value function
\[ q_*(s, a) \doteq \underset{\pi}{max} \ q_{\pi}(s, a), \ \forall s \in \mathcal{S} \ and \ a \in \mathcal{A}(s) \]

最优的行为价值等于最优的状态价值下的最大期望:
\[ q_*(s,a) = \mathbb{E}[R_{t+1} + \gamma v_* (S_{t+1}) \ | \ S_t = s, A_t = a] \]

最优状态价值迭代方法 - interval optimal state-value function
\[ \begin{align} v_*(s) & = \underset{a \in \mathcal{A}(s)}{max} \ q_{\pi_*}(s, a) \\ & = \underset{a}{max} \ \mathbb{E}_{\pi*} [G_t \ | \ S_t=s, A_t=a] \\ & = \underset{a}{max} \ \mathbb{E}_{\pi*} \left [ \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} \ | \ S_t=s, A_t=a \right ] \\ & = \underset{a}{max} \ \mathbb{E}_{\pi*} \left [ R_{t+1} + \gamma\sum_{k=0}^{\infty} \gamma^k R_{t+k+2} \ | \ S_t=s, A_t=a \right ] \\ & = \underset{a}{max} \ \mathbb{E}[R_{t+1} + \gamma v_*(S_{t+1}) \ | \ S_t=s, A_t=a ] \\ & = \underset{a \in \mathcal{A}(s)}{max} \sum_{s',r} p(s',r|s,a)[r + \gamma v_*(s')] \\ \end{align} \]

参照

  • Reinforcement Learning: An Introduction, Richard S. Sutton and Andrew G. Barto c 2014, 2015, 2016
  • 强化学习读书笔记 - 00 - 术语和数学符号
  • 强化学习读书笔记 - 01 - 强化学习的问题
  • 强化学习读书笔记 - 02 - 多臂老O虎O机问题

转载于:https://www.cnblogs.com/steven-yang/p/6480666.html

强化学习读书笔记 - 03 - 有限马尔科夫决策过程相关推荐

  1. 《Data Algorithm》读书笔记十一— 使用马尔科夫模型的智能邮件营销

    <Data Algorithm>读书笔记十一 - 使用马尔科夫模型的智能邮件营销 1. 智能邮件营销 是什么? 根据顾客的交易历史观测(其实就是推测) "下一个智能邮件营销日期& ...

  2. 强化学习2——有模型强化学习MDP(搬砖马尔科夫,贝尔曼等式)

    文章目录 强化学习--马尔科夫系列 前言 马尔科夫决策过程(MDP) 1 马尔科夫过程(MP) 1.1 马尔科夫性质 1.2 马尔科夫过程 1.3 马尔科夫的一个例子 2 马尔科夫奖励过程(MRP) ...

  3. 【机器学习】强化学习:马尔科夫决策过程(Markov decision process)

    本章是强化学习的基础,主要讲的就是马尔科夫决策过程,以后的内容都是以这一节为基础的,所以对本节的相关概念的理解是很重要的. 这一节的概念比较多,也是后面章节的基础,一开始笔者也是一头雾水,只有多看几遍 ...

  4. 强化学习课程笔记(二)——马尔科夫决策过程和动态规划寻找最优策略

    参考材料 1.强化学习入门课程(英文)https://www.bilibili.com/video/av37295048 2.课程对应知乎讲解https://zhuanlan.zhihu.com/re ...

  5. 强化学习(一)---马尔科夫决策过程

    目录 先大致了解工智能,机器学习,深度学习之间的联系与区别 主学习网址 莫烦python网址 [David Silver强化学习公开课中文讲解及实践](https://zhuanlan.zhihu.c ...

  6. 深度强化学习-马尔科夫决策过程和表格型方法

    深度强化学习-马尔科夫决策过程和表格型方法-笔记(二)_wield_jjz的博客-CSDN博客 深度强化学习2--马尔科夫决策过程(MDP)_谢宜廷的博客-CSDN博客 (零基础可以看懂)强化学习中的 ...

  7. 【强化学习入门】马尔科夫决策过程

    本文介绍了马尔可夫决策过程,首先给出了马尔可夫决策过程的定义形式 ,其核心是在时序上的各种状态下如何选择最优决策得到最大回报的决策序列,通过贝尔曼方程得到累积回报函数:然后介绍两种基本的求解最优决策的 ...

  8. 【强化学习】MOVE37-Introduction(导论)/马尔科夫链/马尔科夫决策过程

    写在前面的话:从今日起,我会边跟着硅谷大牛Siraj的MOVE 37系列课程学习Reinforcement Learning(强化学习算法),边更新这个系列.课程包含视频和文字,课堂笔记会按视频为单位 ...

  9. 强化学习:2 马尔科夫决策过程

    总结 无数的学者通过几十年的努力,提出了一套可以解决大部分强化学习问题的框架,这个框架就是马尔科夫决策过程. 马尔科夫性 ----> 马尔科夫过程 -> 马尔科夫决策过程 马尔科夫性描述的 ...

  10. 强化学习——马尔科夫决策过程 MDP

    马尔可夫决策过程是强化学习里面的一个基本框架. 马尔可夫过程.马尔可夫反馈过程是马尔可夫决策过程的基础,所以本博客将会一并介绍. 文章目录 1. 马尔科夫过程 Markov Process,MP 1. ...

最新文章

  1. ListIterator特有的方法
  2. Error Kernel Pattern
  3. 关于日志系统显示SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“.
  4. 求两条轨迹间的hausdorff距离_自动控制原理 | 根轨迹法
  5. iOS消息推送整体流程
  6. Python | 常见的反爬及解决方法,值得收藏
  7. 高效!Anchor DETR:旷视提出一种基于Transformer的目标检测神器!
  8. 6.12使用tensorflow来搭建一个Transformer
  9. 短视频无水印解析网站源码
  10. MATLAB中fspecial函数的用法
  11. 安卓中压缩纹理ETC1和ETC2
  12. 更改计算机名后金蝶无法登录,《金蝶KIS专业版登录时出现问题,请重新输入终极解决全过程》.doc...
  13. 每日下载次数限制php,织梦实现会员限制用户单日下载软件资源的上限方法
  14. 继微博之后,.fans建站成饭圈新宠
  15. python中 range 与 arange 的用法与区别:
  16. 9、Horizon 连接服务器CA证书配置
  17. SREcon大会预告 | 百度运维专家对智能故障诊断的思考
  18. 演讲之禅:一位技术演讲家的自白(献给需要参加公共演讲的程序员精英们)
  19. nyoj-56-阶乘因式分解(一)
  20. Kubernetes 网络训练营第2期 | 明晚开课

热门文章

  1. QuickTime Player 如何开启倍速播放?
  2. 苹果Mac最灵活的文件共享工具:​​​​Dropshare
  3. 犀牛Rhinoceros 7 for Mac(三维建模软件)
  4. 无需第三方app,清理Mac缓存垃圾
  5. mac启动盘已满,如何“瘦身”
  6. (完美)华为畅玩7A AUM-AL00的Usb调试模式在哪里打开的步骤
  7. 全局角度出发讨论敏捷
  8. 秘籍之树上蹦迪--LCA
  9. python3速查参考- python基础 5 - 常用的文件操作
  10. 消除blur属性的边框