西瓜書課後題——第十六章(強化學習)

16.1    用於K-搖臂賭博機的UCB方法每次選擇Q(k)+UC(k)最大的搖臂,其中Q(k)爲搖臂k當前的平均獎賞,UC(k)爲置信區間。例如Q(k)+\sqrt{2lnn/n_{k}}其中n爲已執行的總次數,nk爲已執行搖臂k的次數。試比較UCB方法與ϵ-貪心法和Softmax方法的異同。

相同點:三者都是用於單步強化學習任務的模型,都在儘可能最大化累積獎賞的同時,實現了 探索和利用 之間的權衡。

不同點:

ϵ-貪心法:基於一個概率來對探索和利用進行折中。而這個概率需要人爲地根據先驗知識進行設定,要求人們對於整個狀態、動作空間等要比較熟悉,這個概率完全決定了每一步是選擇利用還是探索。     在探索時,是通過均勻分佈隨機抽取一個搖臂進行; 在利用時,選擇當前平均獎賞最大的搖臂。

 Softmax方法:基於當前已知的搖臂平均獎賞來對探索和利用進行折中。    搖臂的概率服從Boltzmann分佈,該分佈以當前搖臂的平均獎賞作爲自變量進行計算,每次根據這個分佈隨機抽取一個搖臂。       同樣,這個分佈中也有一個參數(溫度參數)要進行人爲設定,以此來權衡探索和利用的比重。       該方法可以認爲是通過在一個特定分佈上進行隨機採樣,由隨機採樣的隨機性來實現探索、利用的選擇。

UCB方法:基於當前搖臂的平均獎賞和搖臂的探索次數進行探索和利用的折中。     該算法每次選擇的搖臂都是平均獎賞和置信區間之和最大的搖臂,整個決策過程中沒有超參數的存在,不需要人爲干預。        其次,由於UC項在nk爲零時後趨於無窮大,所以,該算法在初始階段必然會對所有的搖臂都進行一遍探索,之後再根據情況選擇利用還是進行探索。          再者,在這個算法中,是選擇利用還是探索是由UC項決定的,這是一個可以根據信息得到的一個確定值,不存在概率的問題,沒有隨機性。

 

16.2.   借鑑圖16.7,試寫出基於γ折扣獎賞函數的策略評估算法。

根據課本圖 16.7,不難得到下列過程

輸入:MDP四元組 E=<X,A,P,R>;

           被評估的策略\pi

過程:

1:∀x∈X:  V(x)=0; 
2:for t=1,2,...do
3:    ∀x∈X: V′(x) = ∑a∈A π(x,a) ∑x′∈X Pa x→x′ (Ra x→x′ + γVπγ(x′))
4:    if(max x∈X |V(x)−V′(x)|<θ)
5:        break;
6:    else 
7:        V=V′; 
8:    end if 
9:end for 
輸出:狀態值函數V

其實就是將V的更新有式16.7替換爲式16.8,將循環停止的條件由  t=T+1 替換爲 式16.9。

16.3  借鑑圖16.8,試寫出基於γ折扣獎賞函數的策略迭代算法。

基本和上題一樣,更換一下式子就行,略……

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章