2014-04-02 44 views
13

ε貪婪政策

我知道Q學習算法應儘量探索開發之間進行平衡。因爲我是這個領域的初學者,所以我想實現一個簡單版本的勘探/開發行爲。最佳小量(ε貪婪)值

最優小量值

我實現使用ε貪婪的政策,但我不知所措我當談到決定小量值。 ε應該以算法訪問給定(狀態,動作)對的次數爲界,還是應該以所執行的迭代次數爲界限?

我的建議:
  1. 下一個給定的(狀態,動作)對已經遇到的每個時間用於ε-值。
  2. 執行完整迭代後,降低epsilon值。
  3. 降低每次遇到狀態s時的epsilon值。

非常感謝!

+0

你是否以這種方式取得了進展?你有沒有嘗試過不同的建議,並將其與接受的答案進行比較? 我已經用正數epsilon和epsilon進行了實驗並獲得了可接受的結果,但我很好奇,看看當前(狀態,動作)對的訪問次數是否具有epsilon並不能提供更好的結果。當考慮一個代理已經訪問好幾次的(狀態,動作)配對,而對於一個代理從來沒有訪問過的(狀態,動作)配對保持較高的配對時,對我來說只有衰減ε纔有意義。 –

+0

是的,我試過'遺憾最小化'以及。這加快了收斂速度,但代價是不能始終找到最佳解決方案。在真正的大問題實例中,我傾向於選擇遺憾最小化方法,因爲它可以快速引導搜索向更好的解決方案 – OccamsMan

回答

16

雖然在許多簡單的情況下,εk保持爲範圍0和1的固定數字,但您應該知道: 通常,探索會隨着時間的推移逐漸減少,因此漸近使用的策略變得貪婪,因此(如Qk →Q *)最佳。這可以通過使εk方法0隨着k增長來實現。例如,當k→∞時,εk= 1/k形式的ε-greedy探索計劃減少爲0,同時仍然滿足Q學習的第二個收斂條件,即允許無限多次訪問所有狀態動作(Singh等,2000)。

我通常會這樣做: 設置初始alpha = 1/k(考慮初始k = 1或2) 在您試用試用版之後,隨着k的增加alpha會減少。它也保持了收斂性。

+3

也被稱爲epsilon-decay。 – danelliottster

0

只要將ε設置爲正常數通常是明智的,除非您有充分理由不這樣做。

+0

經驗上:Q值表正在向真正的過渡表匯聚時,代理不應該不太可能接受探索?例如:一個遊戲代理應該優先考慮它的緊急完美策略,而不是繼續玩差勁的遊戲(探索)。 – OccamsMan