fix ch3 typos

This commit is contained in:
qiwang067
2020-10-22 08:50:10 +08:00
parent 811fe5d81b
commit b1d9106a49

View File

@@ -156,15 +156,9 @@ Sarsa 是一种 on-policy 策略。Sarsa 优化的是它实际执行的策略。
**我们通过对比的方式来去理解 `Q-learning`。Q-learning 是 off-policy 的时序差分学习方法Sarsa 是 on-policy 的时序差分学习方法。**
* Sarsa 在更新 Q 表格的时候,它用到的 A' 。我要获取下一个 Q 值的时候A' 是下一个 step 一定会执行的 action。这个 action 有可能是 $\varepsilon$-greedy 方法 sample 出来的值,也有可能是 max Q 对应的 action也有可能是随机动作。但是就是它实实在在执行的那个动作。
* Sarsa 在更新 Q 表格的时候,它用到的 A' 。我要获取下一个 Q 值的时候A' 是下一个 step 一定会执行的 action。这个 action 有可能是 $\varepsilon$-greedy 方法 sample 出来的值,也有可能是 max Q 对应的 action也有可能是随机动作。但是就是它实执行的那个动作。
* 但是 Q-learning 在更新 Q 表格的时候,它用到这个的 Q 值 $Q(S',a)$ 对应的那个 action ,它不一定是下一个 step 会执行的实际的 action因为你下一个实际会执行的那个 action 可能会探索。Q-learning 默认的 action 不是通过 behavior policy 来选取的,它是默认 A' 为最优策略选的动作,所以 Q-learning 在学习的时候,不需要传入 A',即 $a_{t+1}$ 的值。
在 Q-learning 中Q 函数的估计方法为
$$
Q(s, a) \leftarrow Q(s, a)+\alpha\left(r+\gamma \max _{a^{\prime}} Q\left(s^{\prime}, a^{\prime}\right)-Q(s, a)\right)
$$
相当于让 $Q(s,a)$ 直接去估计最优状态值函数 $Q^*(s,a)$。
* 但是 Q-learning 在更新 Q 表格的时候,它用到这个的 Q 值 $Q(S',a)$ 对应的那个 action ,它不一定是下一个 step 会执行的实际的 action因为你下一个实际会执行的那个 action 可能会探索。Q-learning 默认的 next action 不是通过 behavior policy 来选取的,它是默认 A' 为最优策略选的动作,所以 Q-learning 在学习的时候,不需要传入 A',即 $a_{t+1}$ 的值。
> 事实上Q-learning 算法被提出的时间更早Sarsa 算法是 Q-learning 算法的改进。