16.1 用於K-搖臂賭博機的UCB方法每次選擇Q(k)+UC(k)最大的搖臂,其中Q(k)爲搖臂k當前的平均獎賞,UC(k)爲置信區間。例如其中n爲已執行的總次數,nk爲已執行搖臂k的次數。試比較UCB方法與ϵ-貪心法和Softmax方法的異同。
相同點:三者都是用於單步強化學習任務的模型,都在儘可能最大化累積獎賞的同時,實現了 探索和利用 之間的權衡。
不同點:
ϵ-貪心法:基於一個概率來對探索和利用進行折中。而這個概率需要人爲地根據先驗知識進行設定,要求人們對於整個狀態、動作空間等要比較熟悉,這個概率完全決定了每一步是選擇利用還是探索。 在探索時,是通過均勻分佈隨機抽取一個搖臂進行; 在利用時,選擇當前平均獎賞最大的搖臂。
Softmax方法:基於當前已知的搖臂平均獎賞來對探索和利用進行折中。 搖臂的概率服從Boltzmann分佈,該分佈以當前搖臂的平均獎賞作爲自變量進行計算,每次根據這個分佈隨機抽取一個搖臂。 同樣,這個分佈中也有一個參數(溫度參數)要進行人爲設定,以此來權衡探索和利用的比重。 該方法可以認爲是通過在一個特定分佈上進行隨機採樣,由隨機採樣的隨機性來實現探索、利用的選擇。
UCB方法:基於當前搖臂的平均獎賞和搖臂的探索次數進行探索和利用的折中。 該算法每次選擇的搖臂都是平均獎賞和置信區間之和最大的搖臂,整個決策過程中沒有超參數的存在,不需要人爲干預。 其次,由於UC項在nk爲零時後趨於無窮大,所以,該算法在初始階段必然會對所有的搖臂都進行一遍探索,之後再根據情況選擇利用還是進行探索。 再者,在這個算法中,是選擇利用還是探索是由UC項決定的,這是一個可以根據信息得到的一個確定值,不存在概率的問題,沒有隨機性。
16.2. 借鑑圖16.7,試寫出基於γ折扣獎賞函數的策略評估算法。
根據課本圖 16.7,不難得到下列過程
輸入:MDP四元組 ;
被評估的策略
過程:
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,試寫出基於γ折扣獎賞函數的策略迭代算法。
基本和上題一樣,更換一下式子就行,略……