![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
强化学习
文章平均质量分 93
笨牛慢耕
谋生:信号处理,无线通信,芯片设计
兴趣:数理计算机人工智能
遗憾:世界如此丰富,而我如此无知
铭记:日拱一卒终身成长;忠于内心远离油腻;成就自己照亮周围
寄语自己:愿你历尽劫波,内心永远少年
展开
-
RL笔记:基于策略迭代求CliffWaking-v0最优解(python实现)
CliffWalking-v0是gym库中的一个例子[1],是从Sutton-RLbook-2020的Example6.6改编而来。不过本文不是关于gym中的CliffWalking-v0如何玩的,而是关于基于策略迭代求该问题最优解的实现例。这个游戏非常简单,不用计算,直觉就可以知道,最优策略是:在出发点向上走一格;然后在第3行一路右行;到达最右侧后向下移动一格后即到达目标网格。总的奖励是-13点。以下给出基于策略迭代算法来求解这个问题的最优策略,看看能不能得出以上直觉上的最优策略。原创 2023-03-05 18:25:01 · 1665 阅读 · 4 评论 -
RL笔记:动态规划(2): 策略迭代
Sutton-book第4章()学习笔记。本文是关于其中4.2节(策略迭代)。原创 2023-02-26 16:44:26 · 1703 阅读 · 0 评论 -
RL笔记:动态规划(1): 策略估计和策略提升
Sutton-book第4章(动态规划)学习笔记。本文是关于其中4.1节(策略估计)和4.2节(策略提升)。当给定MDP的完全模型后,可以基于动态规划算法求解最优策略。事实上,所有使用的强化学习算法都可以看作是动态规划算法的近似。DP可以用于连续强化学习问题,但是仅限于有限的特殊情况能够给出精确解。常见的做法是将连续问题离散化,然后基于有限MDP的动态规划方法求解。问题设定:Finite MDP{S, A, R, p(s’,r|s,a)}Key Idea:基于价值函数进行结构化的策略搜索。原创 2023-02-05 15:26:33 · 1864 阅读 · 2 评论 -
强化学习笔记:基于策略的学习之策略迭代(python实现)
在强化学习中,根据是否依赖于(环境的)模型,可以分为有模型(model-based)学习和无模型(model-free)学习。根据行动的决策基准,可以分为基于价值的学习(value-based)和基于策略学习(policy-based)。前面两篇分别介绍了直接求解贝尔曼方程进行价值计算以及以迭代的方式求解价值近似(value iteration)。本篇进一步介绍基于策略的学习的策略迭代算法原理及其实现。原创 2023-01-28 16:05:38 · 2870 阅读 · 1 评论 -
强化学习笔记:基于价值的学习之价值迭代(python实现)
在强化学习中,根据是否依赖于(环境的)模型,可以分为有模型(model-based)学习和无模型(model-free)学习。根据行动的决策基准,可以分为基于价值的学习(value-based)和基于策略学习(policy-based)。 本文(以及接下来的文章)描述价值估计或者近似,通常称为价值迭代(value iteration)的原理和实现。。。。这里似乎存在状态值的定义与基于价值的方法的行动决策机制之间的矛盾。其本质问题是什么呢?原创 2023-01-25 17:18:40 · 1927 阅读 · 0 评论 -
强化学习笔记:基于价值的学习之价值计算(python实现)
在强化学习中,根据是否依赖于模型,可以分为基于模型(model-based)的强化学习和无模型(model-free)的强化学习。根据策略的更新和学习方法,强化学习算法可以分为基于价值函数的学习方法和基于策略的学习方法。在基于价值函数的学习方法中,根据状态值函数(state-value function)的估计值,进行行动决策。比如说,从t时刻的状态出发,有K种行动可以选择:{},在各行动分别迁移到状态{那选择哪个动作呢?原创 2023-01-18 17:58:21 · 1984 阅读 · 0 评论 -
TicTacToe: 基于时序差分TD(0)算法的agent实现以及完整python实现框架
本文进一步实现一个基于强化学习的时序差分算法(Temporal Difference, TD(0))的Tic-Tac-Toe AI Agent。并进行了多种Agent之间的对战测试。本文中的代码是基于【2】中chapter01的代码进行改造的。包括类结构和类中的方法等实现的修改, 追加Minimax Agent,多种Agent之间的对战测试,等等。当然,本文针对关键要点根据我的理解追加了解读代码说明,希望能够有兴趣的小伙伴有所帮助,一起学习进步。原创 2023-01-15 14:26:42 · 1142 阅读 · 1 评论 -
强化学习笔记:策略评估--基于numpy的贝尔曼方程数值求解
在上一篇《强化学习笔记:策略评估--贝尔曼方程求解示例》中我们描述了手动建立和求解贝尔曼方程的例子,对于简单的例子,这是可行的(手动做一遍无论如何强调其重要性都不为过),对于稍微复杂的例子,当然必须求助于计算机来帮助解决问题。本文就基于上一篇的例子说明如何基于numpy来创建并求解贝尔曼方程。原创 2022-03-03 17:22:22 · 1318 阅读 · 4 评论 -
强化学习笔记:策略评估--贝尔曼方程求解示例
策略评估(Policy Evaluation),简单来说,就是针对某个既定的策略求其状态值函数和动作值函数。求得了状态值函数和动作值函数,事实上就很容易进行不同候补策略之间的性能对比并进而求得最优策略。假定MDP的动力学函数p(s',r|s,a)是完全知道,理论上来说,就可以针对特定策略的值函数的进行精确的闭式解求解。本文给出一个简单的MDP模型的状态值函数的求解示例。原创 2022-02-27 15:55:07 · 4696 阅读 · 4 评论 -
强化学习笔记:Sutton-Book第三章小结
Sutton强化学习第2版第3章要点总结原创 2022-02-23 17:56:11 · 558 阅读 · 0 评论 -
强化学习笔记:Sutton-Book第三章习题详解(Ex17~Ex29)
Sutton-RL-Book第2版第3章习题详解第二部分:Ex3.17~Ex3.29原创 2022-02-13 10:19:44 · 1809 阅读 · 0 评论 -
强化学习笔记:Gym入门--从安装到第一个完整的代码示例
Gym库(https://gym.openai.com) 是OpenAI推出的强化学习实验环境库。它用Python语言实现了离散之间智能体-环境接口中的环境部分。本文中“环境”一次均指强化学习基本框架模型之“智能体-环境”接口中的“环境”,每个环境就代表着一类强化学习问题,用户通过设计和训练自己的智能体来解决这些强化学习问题。所以,某种意义上,Gym也可以看作是一个强化学习习题集! 本文介绍gym入门所需要必要最小知识集合,并以一个完整的代码示例结束。原创 2022-01-21 11:27:26 · 48870 阅读 · 44 评论 -
强化学习笔记:最优策略、值函数与贝尔曼最优方程
上一篇介绍了策略、值函数和贝尔曼方程。强化问题的求解就是学习一个能够取得长期(或总体)回报最大化的策略。本篇我们接着介绍最优策略、最优值函数以及贝尔曼最优方程,最优策略代表能够得到最优值函数解的策略,求解贝尔曼最优方程可以得到最优策略。原创 2022-01-18 15:10:51 · 3141 阅读 · 0 评论 -
强化学习笔记:Sutton-Book第三章习题解答(Ex1~Ex16)
本篇为Sutton-Book第三章的习题和解答(我的,not standard,所以不能保证正确性^-^,仅供参考,欢迎一起讨论学习)。有些问题还没有完成,有待补充。原创 2022-01-16 14:41:19 · 3340 阅读 · 0 评论 -
强化学习笔记:策略、值函数及贝尔曼方程
本篇介绍策略、两种值函数(状态值函数和动作值函数),以及大名鼎鼎的贝尔曼方程。补充了一点关于贝尔曼方程的推导过程,希望能够帮助理解。本文中公式编号(,)中第2部分表示对应公式(如果在原书中有的话)在原书中的编号。原创 2022-01-14 12:10:44 · 4383 阅读 · 1 评论 -
强化学习笔记:目标、奖励、回报和回合
在上一篇我们介绍了强化学习问题的形式化(数学)框架:马尔科夫决策过程。本篇以及后续几篇继续讨论这个形式化(数学)框架下的关键要素和概念,如奖励和回报、策略、值函数、贝尔曼方程等等。原创 2022-01-12 17:08:25 · 12948 阅读 · 3 评论 -
强化学习笔记:强化学习的形式化框架--马尔科夫决策过程
本文概要介绍强化学习的最经典和最重要的形式化描述工具的马尔可夫决策过程的基本概念、基本要素以及基本的动力学(dynamics)机制。原创 2022-01-10 15:35:06 · 3551 阅读 · 0 评论 -
强化学习笔记:马尔科夫链介绍及基于Python的蒙特卡洛仿真
本文介绍了马尔科夫链的基本概念,并用Python实现了对马尔科夫链的蒙特卡洛仿真。基于这个简易的仿真engine,可以探索更多的马尔科夫链的性质。原创 2022-01-08 13:15:47 · 6709 阅读 · 4 评论 -
强化学习笔记:多臂老虎机问题(7)--Gradient Bandit Algorithm
本节我们继续基于多臂老虎机问题学习一种基于梯度下降的行动选择方法:Gradient Bandit Algorithm Ref: Sutton-RLBook2020-2.8: Gradient Bandit Algotihm原创 2021-12-10 11:20:32 · 1654 阅读 · 0 评论 -
强化学习笔记总目录
强化学习自学笔记,主要基于Sutton-RLbook-2020。除了概念学习外,力争以自主手撕python的代码的方法将书中所提及的所有算法全部实现一遍。原创 2021-12-04 14:33:03 · 7859 阅读 · 0 评论 -
强化学习笔记:多臂老虎机问题(6)--Upper Confidence Bound
强化学习(主要基于Sutton-RLbook2020)学习笔记。本节我们继续基于基于多臂老虎机问题的不同epsilon-greedy的另一种行动选择方法:Upper Confidence Bound action selection原创 2021-12-04 14:21:52 · 1863 阅读 · 1 评论 -
强化学习笔记:多臂老虎机问题(5)--Optimistic Initial Value
本节我们继续基于基于多臂老虎机问题探讨行动-价值估计的初始值对强化学习的影响。Ref: Sutton-RLBook2020-2.6: Optimistic Initial Value原创 2021-12-03 17:35:22 · 1576 阅读 · 0 评论 -
强化学习笔记:多臂老虎机问题(4)--跟踪非平稳环境
强化学习中多臂老虎机问题系列第4篇。讨论非平稳环境下的跟踪问题。给出python实现以及仿真结果原创 2021-11-30 13:39:37 · 1320 阅读 · 0 评论 -
强化学习笔记:多臂老虎机问题(3)--行动价值估计的增量实现
继续上一篇的话题,考虑多臂老虎机问题中,如何以更高效的方式实现行动价值Q的估计。原创 2021-11-23 14:02:29 · 948 阅读 · 0 评论 -
强化学习笔记:多臂老虎机问题(2)--Python仿真
本文我们针对多臂老虎机问题做一个基于python的仿真,通过仿真来具体地探索一下epsilon-greedy算法在多臂老虎机问题上的表现。本文中代码在Jupyter Notebook中运行确认过。原创 2021-11-22 16:21:50 · 4607 阅读 · 2 评论 -
强化学习笔记:多臂老虎机问题(1)
通过多臂老虎机的例子来研究强化学习的基于评价性反馈的特性,介绍强化学习的一些基本学习方法。本文为Sutton-RL-book的2.1~2.3节的学习笔记。这是关于多臂老虎机系列学习笔记的第一篇原创 2021-11-18 11:12:00 · 5245 阅读 · 0 评论 -
强化学习在2021:What Happened in Reinforcement Learning in 2021
关于强化学习领域在2021年的主要进展的简要综述。原创 2021-11-16 09:16:51 · 3620 阅读 · 0 评论