1. 程式人生 > >強化學習(David Silver)4:免模型學習

強化學習(David Silver)4:免模型學習

叠代 ack 方差 自舉 組合 a* 最小二乘 求和 效率

0、為什麽免模型學習?

PS:課程中叠代的值是值函數;周誌華老師的西瓜書中叠代的是狀態值函數;課程中叠代的是狀態-動作值函數

1、蒙特卡洛方法:直接通過采樣求和(v(s) = S(s)/n(s),其中S(s) = S(s) + G(t),G(t)=r(t+1)+r(t+2)+...)

1.1、蒙特卡洛增量計算方法(v(s) = v(s) + a*(G(t)))

2、TD算法 (v(s) =)

3、MC和TD的比較

1)TD在線實時學習;MC只能批量學習

2)TD不要完整的序列,不需要知道完整的結果;MC相反

3)TD計算工程中,用部分數據估計V,是有偏的;return(MC)公式是無偏的;return(MC)隨機性強,方差大;TD隨機性弱,方差小

4)MC對初始值不敏感;對於函數近似也會收斂;TD對初始值敏感,對函數近似未必收斂

5)TD效率高,收斂快;MC收斂性好

6)MC向著最小二乘收斂;TD向MDP收斂

7)TD探索馬爾科夫性,在馬爾科夫環境更有效;MC不探索馬爾科夫性,在非馬爾科夫環境更有效

4、DP/MC/TD的比較

1)自舉:MC不自舉;DP/TD自舉(自舉:不以真實的最終反饋為目標,而是以間接的中間結果為目標)

2)采樣:MC/TD采樣;DP不采樣

5、統一討論三種方法

從是否自舉和backup數考慮:

1)只使用sample backup值,自舉,是TD

2)只使用sample backup值,不自舉,是MC

3)使用full backup值,自舉,是DP

4)使用full backup值,不自舉,是窮舉搜索

6、TD(n)是TD和MC的融合:TD(0)是n=1,向前看一步;TD(無窮)是看到結束

7、TD(lambda)是TD(0)/TD(1)/TD(2)的加權組合;這樣TD算法會更加魯棒

8、TD(lambda)的後向算法和資格跡

強化學習(David Silver)4:免模型學習