強化學習基礎篇(三十六)Greedy探索算法
1、貪婪算法(Greedy Algorithm)
我們使用每次的即時獎勵來計算得到時刻止某一行為的平均價值:
這個方法也叫蒙特卡羅評估, 以此來近似該行為的實際價值
貪婪(greedy)算法就是根據最高的 進行動作選擇:
對于greedy探索方法,其總后悔值也是線性的,這是因為該探索方法的行為選擇可能會鎖死在一個不是最佳的行為上。
2、
算法
算法的流程是:
- 以
的概率進行隨機動作的選擇
- 以
的概率進行貪婪動作的選擇
固定常數的
算法可以保證有最小的reget值,但總后悔值會呈線性增長。
3、樂觀初始估計(Optimistic Initialization)
理論上,這仍是總后悔值線性增加的探索方法,但是實際應用效果卻非常好,因此放在這里介紹。其主要思想是在初始時給行為 一個較高的價值,隨后使用遞增蒙特卡羅評估來更新該行為的價值:
可以看出,某行為的價值會隨著實際獲得的即時獎勵在初始設置的較高價值基礎上不斷得到更新,這在一定程度上達到了盡可能嘗試所有可能的行為。但是該方法仍然可能鎖死在次優行為上。理論上,該方法與greedy或?-greedy結合帶來的結果同樣是線性增加的總后悔值。
4、衰減
(Decaying
)
這是在的基礎上做細小的修改,即隨著時間的延長,
的值越來越小。
假設我們現在知道每一個行為的最優價值,那么我們可以根據行為的價值計算出所有行為的差距
可設置為:如果一個行為的差距越小(d 很小),則嘗試該行為的機會越多(
會略大);如果一個行為的差距越大(d 很大),則嘗試該行為的幾率越小(
會略小)。數學表達如下:
按照上述公式設定的方法是一種衰減
方法,驚奇的是它能夠使得總的后悔值呈現出與時間步長的次線性(sublinear)關系:對數關系。不巧的是,該方法需要事先知道每個行為的差距
,實際上式不可行的。后續的任務就是要找一個實踐可行的總后悔值與時間步長呈對數關系的探索方法。