当前位置: 首页>編程日記>正文

2.3 The 10-armed Testbed 10摇臂老虎机试验台

2.3 The 10-armed Testbed 10摇臂老虎机试验台

为了粗略获得贪心算法和\epsilon贪心算法的相对有效性,我们通过一系列的数值测试来比较两者的优劣。

本实验台包含2000个随机生成的k摇臂老虎机问题,其中k=10。如图2.1所示是其中之一,每个k摇臂问题生成的10个动作的值,q_*(a), a = 1,...,10, 是从一个均值为0,方差为1的正态/高斯分布中选取出来的10个数。然后,当一个学习算法应用这个问题上,并在时刻t时选择动作A_t,其动作的真实奖励R_t,是从一个均值为q_*(a),方差为1的正态分布中选取的。这些分布如图2.1中灰色部分所示。我们把这两千个测试任务称为10-摇臂测试台。对于任何一个学习算法,我们可以通过将其应用于此试验台中的某一个测试问题,并测试其1000步数(time steps)试验中的表现和行为。这1000步组成一轮试验(one run),将试验重复2000轮,每次针对一个不同的测试问题,我们将获得对这个学习算法的平均表现的评估。

图2.2比较了贪心算法和两种\epsilon贪心算法(\epsilon = 0.01\epsilon=0.1)在试验台中的表现。所有算法中使用的动作-值评估方法都是采样平均法。上图显示的是期望奖励随经验的提升。贪心算法比其他算法在开始阶段稍微提升的快一点,但之后就稳定在一个比较低的水平了。它获得的”奖励/步数”大约仅在1,而相比之下在这个试验台中最好的可能是1.55。贪心算法在长期表现得如此之差的原因是,它总是卡在次优动作上。下图显示出贪心算法找到最优动作的概率大约为1/3,而剩下的2/3概率下,它的初始值非常差,导致它无法找到最优动作。而\epsilon=0.1贪心算法最终表现更好,是因为它始终在探索以提升它找到更优动作的机会。\epsilon=0.1的方法探索次数更多,通常更早找到最优动作,但是它每次选择最优动作的概率不大于91%(90%+10%*(1/10) = 91%)。\epsilon=0.01的算法提升得较慢,但是最终在如图2.2所示的两方面可能表现得比的算法要好。而随着时间逐渐减小,可能其既能很快找到最优动作,又能最终获得的平均奖励(”奖励/步数”)更大。(在开始的时候 \epsilon 大一些,可以很快找到最优动作,之后逐渐减小 \epsilon ,让最优动作每次被选中的概率更大,从而使平均奖励值更大。

\epsilon贪心算法相对贪心算法的优势取决于任务。例如,假设奖励的方差更大(奖励分布范围更大),比如说是10而不是1。那么对于这些噪声更大(其实就是分布范围更广了)的奖励值,需要更多的探索来找到最优解(每个奖励的分布范围十分广,一次实验取到的奖励值可能离动作的真实值很远,也就是说一次实验中表现最好的动作可能并不是平均表现最好的动作,而我们是用平均表现来评估一个动作的,所以方差大的需要多次采样来评估某一个动作,也就是对每个动作都要重复采样多次,就需要更多积极的探索),那么 \epsilon 贪心算法可能表现得比贪心算法好很多。而另一方面,如果假设方差为0,那么贪心算法将在试过一次之后就知道知道这个动作的真实值了(我不太同意这种说法,如果贪心算法的第一次尝试是次优解,那么它就会一直执行这个次优解,不去探索其他可能,也就没法获取最优解的真实值了)。在这种情况下贪心算法可能会表现的最好,因为他可以很快的找到最优解,并且永远不探索其他可能。但是即使在这种奖励值完全集中于一点的情况下,如果我们放松一点假设,探索仍然具有巨大优势。比如,假设老虎机任务是非静态的,也就是说,动作的奖励随着时间变化,那么探索就很有必要了,因为一个非贪婪动作也可能随着时间变化为贪婪动作。在接下来的几章中,我们会发现,非静态问题是强化学习中最经常遇到的问题。尽管老虎机的本质任务是静态的,确定的(deterministic),读者仍面临许多类似于老虎机的任务,随着学习的进行和agent策略的改变,这些任务都会随着时间不断变化。强化学习需要在探索和利用中找到平衡。

答案仅供参考

练习2.3  在如图2.2的比较中,从长远来看,在累计奖励和选中最优动作的可能性上,哪一种方法可能表现得最好?。可能好多少,请定量回答。

\epsilon=0.01贪心算法可能表现得最好,随着步数增多,它可能最终收敛到1.55的最优动作上,那么它的平均值大约是1.55附近,所以可能比 \epsilon=0.1 好大约0.15;而他选中最优动作的概率可能会上升到 99%+1%*1/10=99.1%,比 \epsilon=0.1 的 91%高 8.1%


https://www.fengoutiyan.com/post/14305.html

相关文章:

  • slots老虎机游戏
  • 多臂老虎机
  • 老虎机游戏网页版
  • slots老虎机
  • 老虎机模拟器
  • 老虎机大全在线玩
  • 多臂老虎机问题
  • 老虎机手机版游戏
  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機