強化學習中最有名的算法——Q-Learning

強化學習中最有名的算法——Q-Learning

算法簡介

Q-Learning算法,目標是達到目標狀態並獲取最高收益,一旦到達目標狀態,最終收益保持不變。因此,目標狀態又稱之為吸收態。

強化學習中最有名的算法——Q-Learning

算法核心:

1、設置好 γ 值以及矩陣R

2、初始化矩陣Q全為0

3、For each episode:

  • Select a random initial state
  • Do while the goal state hasn’t been reached.
強化學習中最有名的算法——Q-Learning

  • End Do

4、End For

強化學習中最有名的算法——Q-Learning

代碼實現

整個算法就是一直不斷更新 Q table 裡的值, 然後再根據新的值來判斷要在某個 state 採取怎樣的 action. Qlearning 是一個 off-policy 的算法, 因為裡面的 max action 讓 Q table 的更新可以不基於正在經歷的經驗。

maze_env :環境模塊, maze_env 模塊我們可以不深入研究, 可以去看看如何使用 python 自帶的簡單 GUI 模塊 tkinter 來編寫虛擬環境。

RL_brain: 這個模塊是 Reinforment Learning 的大腦部分。

強化學習中最有名的算法——Q-Learning

算法主要內容:

強化學習中最有名的算法——Q-Learning

強化學習中最有名的算法——Q-Learning


分享到:


相關文章: