強化學習_Dynamic Programming
強化學習, 學習筆記
動態規劃(DP)指的是給出一組完美的環境模型後可以算出優化策略的方法
動態規劃將問題分為好幾個子問題,並將他儲存成方案
當遇到重複的子問題時,就可以拿出來用
動態規劃因為受限於需要模型所以實務上比較難用
但就理論來說依然有其重要性
策略估計(Policy Evaluation)
先來考慮如何決定策略 π
回想第三篇,我們講到評估策略的價值 vπ(s)
π(a|s) 所指的是在策略 π 之下根據狀態 s 所採取的動作 a
並且只要 γ < 1 就可以確定 vπ 具有唯一性
如果環境的動態是已知的
則解開式子的方法就是繁瑣的迭代計算
而起始值 v0 則是隨機選擇的
更新規則:
經過不停的迭代,最後可以收斂到最好的策略
而收斂的條件就是
新的估計值與舊的估計值一樣
迭代算法:
策略改善(Plicy Improvement)
前面講了透過迭代可以知道目前的策略在每個狀態下的價值
那麼如果想知道換個策略會不會比較好呢?
評估的方法就是選擇一個狀態 s 並且執行動作 a
關鍵點在於是否大於或小於 vπ(s)
假設 π′ 和 π 是在比較的策略,且qπ(s, π′(s)) ≥ vπ(s)
那就代表 π′ 是比較好的,同理vπ′ (s) ≥ vπ (s)
π′ 可以表示為
策略迭代(Policy Iteration)
將上面兩個講的 策略評估 以及 策略改善合再一起
就稱之為策略迭代
E表示評估,I表示改善
算法:
價值迭代(Value Iteration)
策略迭代中的策略評估在運算時需要花很多時間
因此有了價值迭代來提升效率
這個方法讓策略評估每次在進行迭代時只做一次就停止
價值迭代的算法