DQN(Deep Reiforcement Learning) 發展歷程(三)

DQN發展歷程(一)htm

DQN發展歷程(二)blog

DQN發展歷程(三)get

DQN發展歷程(四)it

DQN發展歷程(五)class

不基於模型(Model-free)的預測

  • 沒法事先了解狀態轉移的機率矩陣

蒙特卡羅方法

  • 從開始狀態開始,到終結狀態,找到一條完整的狀態序列,以求解每一個狀態的值。相比於在整個的狀態空間搜索,是一種採樣的方法。搜索

  • 對於某一狀態在同一狀態序列中重複出現的,有如下兩種方法:
    • 只選擇第一個狀態進行求解,忽略以後的全部相同狀態
    • 考慮全部的狀態,求平均值
  • 對於求解每一個狀態的值,使用平均值表明狀態值,根據大數定理,狀態數足夠多的條件下,該平均值等於狀態值。平均值求解有兩種方法:
    • 存儲全部狀態後求平均:消耗大量存儲空間
    • 每次迭代狀態都更新當前平均值:

時序差分方法

  • 蒙特卡羅方法須要得到從開始到終結的一條完整的狀態序列,以求解每一個狀態的值,時序差分方法則不須要。根據貝爾曼不等式,只須要從當前狀態到下一狀態求解。
  • 時序差分方法每步都更新狀態值,而蒙特卡羅方法須要等到全部狀態結束才更新。

  • 蒙特卡羅方法使用最後的目標來求解狀態值,而時序差分使用下一狀態的估計在每一步調整狀態值。
  • 蒙特卡羅方法是無偏估計方差較大,時序差分則是有篇估計但估計方差小。

多步的時序差分方法

  • 時序差分方法使用當前狀態值和下一狀態值更新當前狀態值,若是使用當前狀態值和以後多步的狀態值更新當前狀態值,就是多步的時序差分方法。
  • 當步數到最後的終結狀態時,即是蒙特卡羅方法。
  • 當步數到下一狀態時,即是時序差分方法。
  • 多步的時序差分方法,分爲前向和後向的時序差分方法。

參考

david siver 課程model

https://home.cnblogs.com/u/pinard/方法

相關文章
相關標籤/搜索