TD是一個結合DP和MC之間的方法。TD不需要環境模型,但是又可以bootstrap。
6.1 TD預測
典型的TD(0)預測方程:
看第三章關於狀態價值的等式:
MC用的是第一行,它之所以為估計,因為不知道$G_t$的期望值,而使用的采樣來做的平均。
DP用的是最后一行,它之所以為估計,是因為不知道$v_{\pi}(S_{t+1})$,是通過迭代方式不斷更新的。
而TD則是兩者的結合,它通過采樣來獲得$R_{t+1}$,通過迭代來獲取$v_{\pi}(S_{t+1})$
6.2 TD方法的優點
相對於DP,TD不需要模型,相對於MC,TD是一種在線算法。同時TD通常比MC收斂更快。
6.3 TD(0)的最優化
MC收斂到最小均方
TD收斂到馬爾科夫過程的最大似然,但是TD接近最小均方的效率也比MC要好。
6.4 Sarsa:On-Policy TD控制
我們這是使用action value
6.5 Q學習:Off-Policy TD控制
把上面的式子作修改:
之所以稱為off-policy,是因為紅框處的a的選取是根據最大值,而不是由當前策略決定的。
6.6 期望Sarsa
我們對Sarsa的迭代式作另外一種修改:
三者在Cliff Walking問題上的表現差異:
Expected Sarsa也是一種在線算法,因為它是根據當前策略來定的下一個A,只是做了平均。當然也可以修改成一個off-line的算法,例如用一對policy的方式。
三種方法非常類似,唯一區別就是在估算過程中選擇下一個action的方式。
6.7 最大化偏差和成對學習
上面三種方法都存在最大化偏差問題:
根據上面這個式子,對初始點$S_t=A$來說,當$A_t=left$時,紅框中的數值通常大於零。但是實際上均值是-0.1。對Sarsa,Expected Sarsa也是如此。
觀察上面的曲線,一開始會偏差很遠,之后漸進到最佳值,依然還是有偏差。
這個問題並不會導致算法失敗,但是會導致收斂較慢較差。
造成問題的原因是:我們用了同一個序列來做選擇動作和評估,解決問題的方法使用:double Q-learning,建立兩個Q函數。
6.8 案例(略)