引用来自ShangtongZhang的代码chapter05/blackjack.py
实现了基于Monte Carlo方法的三种算法:
1、基于Monte Carlo方法的策略预测,根据给出的策略计算state-value
2、使用exploring starts的训练方法,得出state-action-value,以及对应的优化policy π
3、使用off-policy的重要取样方法预测state-value,并和期望值对比
引用来自ShangtongZhang的代码chapter05/blackjack.py
实现了基于Monte Carlo方法的三种算法:
1、基于Monte Carlo方法的策略预测,根据给出的策略计算state-value
2、使用exploring starts的训练方法,得出state-action-value,以及对应的优化policy π
3、使用off-policy的重要取样方法预测state-value,并和期望值对比
Unlike the previous chapter, here we do not assume complete knowledge of the environment. Monte Carlo methods require only experience—sample sequences of states, actions, and rewards from actual or simulated interaction with an environment. Learning from actual experience is striking because it requires no prior knowledge of the environment’s dynamics, yet can still attain optimal behavior.
引用来自ShangtongZhang的代码chapter04/gamblers_problem.py
赌徒问题
一个赌徒可以在每轮赌博中决定将自己手里的钱拿来赌硬币的正反,如果硬币向上,则可以获得押金一样的奖励,但是向下的话押金就没了。结束条件是赌徒手里的钱增长到100,或者把钱输光。
这个问题可以定义为state为赌徒手里的钱,action为每次拿去赌的钱,discount=1的MDP问题。
引用来自ShangtongZhang的代码chapter04/car_rental.py
car rental 问题
这个问题就比较复杂了。。。说是Jack是两个汽车租赁公司的老板,他收入是靠租车出去,租出一辆赚10刀,每次有人还车,那么第二天这车就可以租出去了;每天夜里可以将一个地方的车运到另一个地方,不过每运一辆车要花2刀。关于业务,Jack发现了一些斯巴拉西的规律:每个地方每天汽车租借和归还的数量都遵循泊松分布:
引用来自ShangtongZhang的代码chapter04/gird_world.py
grid_world(policy evaluation)
4X4 网格:
左上角和右下角是终止状态(terminal state),如果action使得state跳转到外面了,就返回上次位置,所有的action造成的reward都是-1。
上一章讲了马尔科夫决策过程的概念,末尾提出了针对MDP的value-state、value-action-state建立方法,很明显可以看出是使用了动态规划的方法,这一章就在上一章基础上,进一步讲述如何使用动态规划来训练以及优化MDP问题的强化学习算法。
对了这里给一个概念辨析,关于MDP和MRP的,其实两者是不一样的,通过状态转移得到reward的是MRP,通过action得到reward的是MDP。不过话说,有区别吗?action的结果就是state的转换。哈哈,还有有区别的,因为在本书中例子都比较简单,一般action和state的转换基本是对应的,有一个例子可以帮助理解这个问题,就是trajectory sampling的例程,这里每个action对应一个随机的branch,而每个branch对应的next state也是随机的,所以用MDP来解释的话,reward是对应action的,不同的action对应reward;用MRP解释的话,action之后,还要考虑导致了的哪个branch最终转到哪个state了,然后reward根据(current state,next state)来给定,这就和MDP差别很大了。一般简单来说两者是可以混用的…
引用来自ShangtongZhang的代码chapter03/gird_world.py
使用MDP的强化学习算法解决Grid-world问题
grid_world代表了一个网格,网格中每个小格子代表一种状态。其中每个状态可以有4种action:left、right、up、down。对应reward规则如下:
如果action导致agent跑到网格外面去,则reward=-1;
如果agent从A出发,则reward=10,下个状态是固定的A_PRIME_POS;从B出发,reward=5,下个状态时固定的B_PRIME_POS;
其他的state上的action均为0。
马尔可夫决策过程(Markov Decision Process, MDP),是指具有马尔可夫性的一类强化学习问题,即系统下个状态和当前的状态有关,以及当前采取的动作有关。
引用来自ShangtongZhang的代码chapter02/ten_armed_testbed.py
通过建立10-armed-Testbed来仿真第二章讲的几种Bandit算法
This post is my understanding about P29 deeper insight part:《The Bandit Gradient Algorithm as Stochastic Gradient Ascent》
在我们讨论这个问题之前先看看wiki上关于softmax在reinforcementLearning上的应用吧。