2011-07-17 33 views
2

Q-learning期間更新R(s)功能的適當方式是什麼?例如,假設代理人訪問狀態s1五次,並收到獎勵[0,0,1,1,0]。我應該計算平均獎勵,例如R(s1)= sum([0,0,1,1,0])/ 5?或者我應該使用一個移動平均數來給予該州最近獲得的最新獎勵值更大的權重?我讀過的大多數關於Q學習的描述都將R(s)視爲某種常量,並且似乎並未涵蓋隨着時間的推移,隨着經驗的積累,您將如何學習這個價值。如何在馬爾可夫決策過程中學習獎勵功能

編輯:我可能會混淆R(s)在Q學習與R(s,s')在Markov Decision Process。問題仍然類似。在學習MDP時,更新R(s,s')的最佳方法是什麼?

+0

您能接受答案或說出缺少的東西嗎? –

回答

1

在貪婪政策下,Q-Learning保持每個州的運行平均值爲動作。它根據每對步驟的獎勵來計算這些值。 狀態貪婪政策下的價值等於最佳行爲的價值。 Q-Learning的標準描述在Reinforcement Learning: An Introduction中給出。

沒有「最佳」方式來更新,但SARSA是一個很好的默認設置。 SARSA與Q-Learning相似,不同之處在於它學習的是它遵循的政策,而不是貪婪的政策。

+0

請參閱我的編輯。我不是指Q-Learning,而是更新MDP的R(s,s')函數。 – Cerin

+0

強化學習計算的行動價值是期望的獎勵。也就是說,它是轉移概率加權的所有s'的獎勵總和。如果您知道轉換概率,那麼您可以輕鬆提取獎勵;如果不是,那麼除了行動值之外,你必須估計它們。 –

+0

這是不正確的。 Q值不是期望的回報,他們在遵守保單時預期*積累*獎勵。 – purpletentacle

1

在標準的無模型RL(如Q-learning)中,您不會學習獎勵功能。你學到的是價值函數或q值函數。獎勵是通過與環境交互獲得的,並且您可以估計狀態 - 行爲對的累計獎勵期望值(折扣)。

如果您使用的是基於模型的方法,這是不同的,您嘗試學習環境模型,即:過渡和獎勵函數。但這不是Q-learning的情況。