强化学习笔记: MDP - Policy iteration
1 Policy iteration介紹
?Policy iteration式馬爾可夫決策過程 MDP里面用來搜索最優策略的算法
?
?Policy iteration 由兩個步驟組成:policy evaluation 和 policy improvement。
2 Policy iteration 的兩個主要步驟
????????第一個步驟是 policy evaluation,當前我們在優化這個 policy π,我們先保證這個 policy 不變,然后去估計它出來的這個價值。即:給定當前的 policy function 來估計這個 v 函數 (一直迭代至收斂,獲得準確的V(s))
????????第二個步驟是 policy improvement,得到 v 函數過后,我們可以進一步推算出它的 Q 函數。
得到 Q 函數過后,我們直接在 Q 函數上面取極大化,通過在這個 Q 函數上面做一個貪心的搜索來進一步改進它的策略。
各個轉移概率是不變的,改變的只是我選取那個策略
????????這兩個步驟就一直是在迭代進行,所以在 policy iteration 里面,在初始化的時候,我們有一個初始化的?V和?π?,然后就是在這兩個過程之間迭代。
3 Q-table
把 Q 函數看成一個 Q-table,得到 Q 函數后,Q-table也就得到了。:
- 橫軸是它的所有狀態,
- 縱軸是它的可能的 action。
????????那么對于某一個狀態,每一列里面我們會取最大的那個值,最大值對應的那個 action 就是它現在應該采取的 action。
????????所以 arg max 操作就說在每個狀態里面采取一個 action,這個 action 是能使這一列的 Q 最大化的那個動作。
????????這張表格里面 Q 函數的意義就是我選擇了這個動作之后,后續能夠一共拿到多少總收益。如果可以預估未來的總收益的大小,我們當然知道在當前的這個狀態下選擇哪個動作,價值更高。我選擇某個動作是因為我未來可以拿到的那個價值會更高一點。所以強化學習的目標導向性很強,環境給出的獎勵是一個非常重要的反饋,它就是根據環境的獎勵來去做選擇。
? ? ? ? ?對于model-free的MDP,最開始這張 Q 表格會全部初始化為零,然后 agent 會不斷地去和環境交互得到不同的軌跡。
????????當交互的次數足夠多的時候,我們就可以估算出每一個狀態下,每個行動的平均總收益,然后去更新這個 Q 表格。
????????當一直在采取 arg max 操作的時候,我們會得到一個單調的遞增。
????????通過采取這種 greedy,即 arg max 操作,我們就會得到更好的或者不變的 policy,而不會使它這個價值函數變差。
????????所以當這個改進停止過后,我們就會得到一個最佳策略
3.1?為什么可以用未來的總收益來評價當前這個動作是好是壞?
????????舉個例子,假設一輛車在路上,當前是紅燈,我們直接走的收益就很低,因為違反交通規則,這就是當前的單步收益。
????????可是如果我們這是一輛救護車,我們正在運送病人,把病人快速送達醫院的收益非常的高,而且越快你的收益越大。
????????在這種情況下,我們很可能應該要闖紅燈,因為未來的遠期收益太高了。
????????這也是為什么強化學習需要去學習遠期的收益,因為在現實世界中獎勵往往是延遲的。
????????所以我們一般會從當前狀態開始,把后續有可能會收到所有收益加起來計算當前動作的 Q 的價值,讓 Q 的價值可以真正地代表當前這個狀態下,動作的真正的價值。
?
4 Bellman Optimization Equation
對于MDP,我們知道有這樣的式子
????????當改進停止的時候,action的決策已經確定,此時只有一個action的?為1,其余的均為0【這樣可以使得q(s,a)最大】,所以我們可以得到一個新的等式:
?????????這個等式被稱為?Bellman optimality equation,當 MDP 滿足 Bellman optimality equation 的時候,整個 MDP 已經到達最佳的狀態。
????????它到達最佳狀態過后,對于這個 Q 函數,取它最大的 action 的那個值,就是直接等于它的最佳的 value function。
? ? ? ? 這個等式只有當整個狀態已經收斂,得到一個最佳的 policy 的時候,才會滿足。
?????????在滿足Bellman optimality equation后,我們重新審視以下Q函數的Bellman expectation equation:
? ? ? ? ?把bellman optimization equation 代入,有:
?這個式子就是Q-learning 的轉移方程
?同樣,對于value function的轉移函數,
通過
可以推出:
【
原來的式子是:
】?
總結
以上是生活随笔為你收集整理的强化学习笔记: MDP - Policy iteration的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 强化学习笔记: backup diagr
- 下一篇: 机器学习笔记: Upsampling,