本節(jié)主要介紹 Model-free prediction。從一個(gè)未知的MDP中估計(jì)出值函數(shù)恕沫。
1. Monte-Carlo Reinforcement Learning
蒙特卡洛方法直接從環(huán)境中選擇一條路监憎,然后走到重點(diǎn)才結(jié)束,最后用平均的return G值來(lái)更新值函數(shù)婶溯。有種初生牛犢不怕虎的精神鲸阔,勇于試錯(cuò)偷霉。
first-visit :只記錄每條路經(jīng)中首次訪(fǎng)問(wèn)狀態(tài)s的次數(shù)。
記錄每個(gè)狀態(tài)s被訪(fǎng)問(wèn)的次數(shù)褐筛。N(s) = N(s) + 1
累計(jì)所有的return S(s) = S(s) + Gt
最后評(píng)估用均值 V (s) = S(s)/N(s)
這個(gè)計(jì)算方法的理論依據(jù)就是大數(shù)定理类少。
every-visit :只記錄每條路經(jīng)中每次訪(fǎng)問(wèn)狀態(tài)s的次數(shù)。
記錄每個(gè)狀態(tài)s被訪(fǎng)問(wèn)的次數(shù)渔扎。N(s) = N(s) + 1
累計(jì)所有的return S(s) = S(s) + Gt
最后評(píng)估用均值 V (s) = S(s)/N(s)
同理 理論依據(jù)就是大數(shù)定理硫狞。
這兩種方法具有微微不同的理論基礎(chǔ),當(dāng)s被訪(fǎng)問(wèn)的次數(shù)趨于無(wú)窮大時(shí)晃痴,兩者都收斂于v_\pi(s)
計(jì)算方法
所以残吩,遞推公式
N(S_t) = N(S_t) + 1
V(S_t) = V(S_t) + 1/N(S_t)(G_t - V(S_t))
而一般$1/N(S_t)$取常數(shù),所以公式變?yōu)椋?br>
V(S_t) = V(S_t) + \alpha(G_t - (S_t))
2. Temporal-Difference Learning
時(shí)序差分方法可以直接從路徑中學(xué)習(xí)愧旦,并不一定等到走到終點(diǎn)才更新世剖。
TD(0)算法更新公式如 V(S_t) = V(S_t) + \alpha(G_t - (S_t))
但是這里因?yàn)槲醋叩浇K點(diǎn)定罢,所以將G_t$改為 $R_t+1 + \gammaV(S_t+1)
所以笤虫,公式為:
V(S_t) = V(S_t) + \alpha(R_t+1 + \gammaV(S_t+1) - (S_t))
3. 偏差權(quán)衡于方差權(quán)衡 (Bias/Variance Trade-Off)
MC是對(duì)價(jià)值函數(shù)的無(wú)偏估計(jì),只是對(duì)預(yù)期樣本作采樣祖凫,大數(shù)定理的作用下最終會(huì)得到真值琼蚯。對(duì)初始化值不敏感。
TD是將真值替換為當(dāng)前情況下最好的估計(jì)惠况,會(huì)有偏差遭庶,TD(0)是無(wú)偏估計(jì),但是這樣做方差是小的稠屠。因?yàn)榭偸羌皶r(shí)的更新值函數(shù)峦睡,使得其不易落入特別遭的情況。對(duì)初始化值敏感权埠。
MC方法中沒(méi)有計(jì)算狀態(tài)轉(zhuǎn)移概率榨了,也不考慮狀態(tài)轉(zhuǎn)移,它的目標(biāo)是最小化均方誤差攘蔽,這樣的行為實(shí)際上并不符合馬爾可夫性質(zhì)龙屉,而TD方法會(huì)找出擬合數(shù)據(jù)轉(zhuǎn)移概率和reward函數(shù),還是在解決MDP問(wèn)題[1]满俗。
4. $TD(\lammda)$
然后可以對(duì)不同的return做集成
從而可以通過(guò)控制$\lammda$來(lái)調(diào)整偏差與方差
5. 總結(jié)
[1] https://chenrudan.github.io/blog/2016/07/11/reinforcementlearninglesssion4.html
[2] http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching_files/MC-TD.pdf
[3] https://www.bilibili.com/video/av9831252/