機器學習方法篇-蒙特卡羅方法
?導語
蒙特卡洛,是袖珍之國摩納哥的一座賭城名字。馮·諾依曼用一個賭城的名字命名蒙特卡洛方法,增加了這個方法的神秘性。那麼,MC的演算法思想是什麼?
>>>>
蒙特卡羅方法
如上一節所述,MC是一種基於樣本而不基於模型的價值學習方法,只需要在不斷試錯過程當中學習到的經驗。總體來說,MC的核心思路步驟是:探索 → 模擬 → 抽樣 → 估值 → 策略優化。
在上一節中我們了解到,MC每次對樣本進行完整的採樣模擬,用最終的實際價值收穫來更新策略和價值函數。而這個過程中間的價值計算有兩種方式:first-visit和every-visit。
其中 first-visit 是指在計算價值回報時,對所有第一次遍歷到的狀態所獲得的價值進行平均,every-visit 則是對每一次遍歷到的狀態所獲得的價值進行平均。
這裡存在的一個問題是,有可能有一些狀態-行為對從未被遍歷過,導致無法對該狀態-行為對評估。因此,個體在每一次遍歷的時候,需要保持一定的探索精神,直觀來講就是讓所有的狀態-行為對都有可能被選中。
所對應的MC法就是Exploring Starts法,ES法規定每一狀態-行為對都能以非零的概率被選中作為某一次遍歷的起點,具體演算法實現步驟如下:
1> 探索,選擇一個狀態-行為對(s, a);
2> 模擬,使用當前策略F,從(s, a)模擬遍歷直到結束,產生一段序列;
3> 抽樣,統計這段序列上每個狀態的獎勵R(s, a);
4> 估值,對獎勵R(s, a)求和取平均更新價值函數V;
5> 策略優化,用新的價值函數V優化策略函數F。
第三步抽樣不太好理解,這裡補充解釋一下:第二步模擬雖然能夠使任一種行動方式都有可能出現,但在實際情形當中沒辦法窮舉所有可能的行動方式,因此用於計算狀態-行為對獎勵的序列,只能算一種抽樣。
ES法適用於圍棋這類具有特定狀態起點的應用場景,然而由於存在既定狀態的差別,對於無人駕駛這樣的場景卻束手無策。
不妨仔細思考一下無人駕駛和圍棋這兩類場景之間的區別,會發現對於無人駕駛而言,其實只需要保證所有的駕駛操作都可能被選中就可以了。通常有兩種方法:on?policy和off?policy。
on?policy通過設置一個0-1之間的概率參數ε,讓個體在 1?ε的概率下不去選擇當前具有最大獎勵的行為,而是從其他行為中隨機選擇一個,這就保證了所有行為都有可能被選中。
off?policy則把評估優化策略和模擬策略分開,前者專門負責策略更新,後者則專門負責行為模擬,同樣保證了所有行為都有可能被選中。on-policy相比之下更簡單,但off-policy往往表現更為強大,更具有一般性。
以上便是MC的講解,敬請期待下節內容。
結語
感謝各位的耐心閱讀,後續文章於每周日奉上,歡迎大家關注小斗公眾號對半獨白!
手心的太陽
歐若拉
張韶涵
00:00/04:40
每周一言
易怒與躁動,
是不成熟的表現。
※谷歌最新機器學習術語表,A/B 測試、混淆矩陣、決策邊界……都在這裡了!
※聊一聊機器學習在金融中的應用
TAG:機器學習 |