fix ch2 typos

This commit is contained in:
qiwang067
2020-10-28 14:56:09 +08:00
parent 44c2b3786e
commit 8674a51faf

View File

@@ -483,15 +483,22 @@ MDP 的 `prediction` 和 `control` 是 MDP 里面的核心问题。
**举一个例子来说明 prediction 与 control 的区别。** **举一个例子来说明 prediction 与 control 的区别。**
首先是**预测问题**在上图的方格中,我们规定从 A $\to$ A' 可以得到 +10 的奖励,从 B $\to$ B' 可以得到 +5 的奖励,其它步骤的奖励为 -1。现在我们给定一个 policy在任何状态中它的行为模式都是随机的也就是上下左右的概率各 25%。那么,预测问题要做的就是,在这种决策模式下,我们的 value function 是什么,也就是如上图 b 所示。 首先是**预测问题**
* 在上图的方格中,我们规定从 A $\to$ A' 可以得到 +10 的奖励,从 B $\to$ B' 可以得到 +5 的奖励,其它步骤的奖励为 -1。
* 现在,我们给定一个 policy在任何状态中它的行为模式都是随机的也就是上下左右的概率各 25%。
* 预测问题要做的就是,在这种决策模式下,我们的 value function 是什么。上图 b 是对应的 value function。
![](img/control_example.png) ![](img/control_example.png)
接着是**控制问题**在控制问题中,问题背景与预测问题相同,唯一的区别就是:不再限制 policy。也就是说行为模式是未知的我们要自己确定。所以我们通过解决控制问题求得每一个状态的最优的 value function如上图 b 所示),也得到了最优的 policy如上图 c 所示)。 接着是**控制问题**
简单总结下,控制问题要做的就是,给定同样的条件,在所有可能的策略下最优的价值函数是什么?最优策略是什么? * 在控制问题中,问题背景与预测问题相同,唯一的区别就是:不再限制 policy。也就是说行为模式是未知的我们要自己确定。
* 所以我们通过解决控制问题,求得每一个状态的最优的 value function如上图 b 所示),也得到了最优的 policy如上图 c 所示)。
* 控制问题要做的就是,给定同样的条件,在所有可能的策略下最优的价值函数是什么?最优策略是什么?
### Dynamic Programming ### Dynamic Programming
@@ -515,11 +522,14 @@ MDP 是满足动态规划的要求的,
**Policy evaluation 就是给定一个 MDP 和一个 policy我们可以获得多少的价值。**就对于当前这个策略,我们可以得到多大的这个 value function。 **Policy evaluation 就是给定一个 MDP 和一个 policy我们可以获得多少的价值。**就对于当前这个策略,我们可以得到多大的这个 value function。
这里有一个方法是说,我们直接把这个 Bellman Expectation Backup这个等式拿出来变成一个迭代的过程这样反复迭代直到收敛。这个迭代过程可以看作是 `synchronous backup`一个过程。 这里有一个方法是说,我们直接把这个 Bellman Expectation Backup这个等式拿出来变成一个迭代的过程这样反复迭代直到收敛。这个迭代过程可以看作是 `synchronous backup` 的过程。
$$ $$
v_{t+1}(s)=\sum_{a \in \mathcal{A}} \pi(a \mid s)\left(R(s, a)+\gamma \sum_{s^{\prime} \in \mathcal{S}} P\left(s^{\prime} \mid s, a\right) v_{t}\left(s^{\prime}\right)\right) \tag{14} v_{t+1}(s)=\sum_{a \in \mathcal{A}} \pi(a \mid s)\left(R(s, a)+\gamma \sum_{s^{\prime} \in \mathcal{S}} P\left(s^{\prime} \mid s, a\right) v_{t}\left(s^{\prime}\right)\right) \tag{14}
$$ $$
等式 (14) 说的就是这个 Bellman Expectation Backup,我们把这个转换成一个动态规划的迭代。当我们得到上一时刻的 $v_t$ 的时候,下一时刻就可以通过这个递推的关系来推出下一时刻的值。反复去迭代它,最后它的值就是从 $v_1,v_2$ 到最后收敛过后的这个值。这个值就是当前给定的 policy 对应的价值函数。 * 等式 (14) 说的就是说我们可以把 Bellman Expectation Backup 转换成一个动态规划的迭代。
* 当我们得到上一时刻的 $v_t$ 的时候,就可以通过这个递推的关系来推出下一时刻的值。
* 反复去迭代它,最后它的值就是从 $v_1,v_2$ 到最后收敛过后的这个值。这个值就是当前给定的 policy 对应的价值函数。
![](img/2.34.png) ![](img/2.34.png)
@@ -766,7 +776,7 @@ $$
我们可以简单来看,比如说现在我们在右上角 0.38 的这个位置,然后它说现在应该往下走,我们往下走一步。它又说往下走,然后再往下走。现在我们有两个选择:往左走和往下走。我们现在往下走,随着这个箭头的指示,我们就会到达中间 1.20 的一个状态。如果能达到这个状态的话,我们会得到很多 reward 。 我们可以简单来看,比如说现在我们在右上角 0.38 的这个位置,然后它说现在应该往下走,我们往下走一步。它又说往下走,然后再往下走。现在我们有两个选择:往左走和往下走。我们现在往下走,随着这个箭头的指示,我们就会到达中间 1.20 的一个状态。如果能达到这个状态的话,我们会得到很多 reward 。
这个 Demo 说明了 policy iteration 可以把 gridworld 解决掉。解决掉的意思是说,不管在哪个状态,都可以顺着它这个状态对应的最佳的这个策略来到达可以获得最多奖励的一个状态。 这个 Demo 说明了 policy iteration 可以把 gridworld 解决掉。解决掉的意思是说,不管在哪个状态,都可以顺着状态对应的最佳的策略来到达可以获得最多奖励的一个状态。
![](img/2.62.png) ![](img/2.62.png)