我们先来了解一些简单的用于估计动作值,和如何用估计值来选择动作的方法。
估计动作值:采样平均法。
回顾一下:值是什么?一个动作的真实值是当这个动作被选取了,我们获得的奖励的平均值。那么自然而然,一种估计动作值的方法就是用当前获得的奖励的平均值来表示真实值:
,
其中表示采取了a动作则等于1,否则等于0. 如果分母为0,则设其为一个默认值,比如0。随着分母逐渐趋于无穷大,根据大数定理,最终收敛于. 我们把这种估计动作值的方法称为采样平均法,因为它的每一个估计都是是相关奖励的一个采样的平均值。当然,这并不是唯一的,也不一定是最好的预估动作值的方法。但是我们现在就用这个方法,来说明如何用这个估计值来选择动作。
这个公式看起来吓死人,其实就是把当前时刻t之间的所有已知的动作a的奖励求平均,比如当前时刻为11,那么选择一共进行了10步了,其中有5步(1,3,4,7,8)选择了a动作,获得了5个关于动作a的奖励,那么当前时刻a的值就是:
最简单的动作选择原则就是选择当前具有最高估计值的那个动作,即选择贪婪动作。如果有超过1个贪婪动作,那么你可以任意(arbitrary)选择其中一个,或者用平均随机(random)选择其中一个,我们把选择贪婪动作的选择方法记为:
(arbitrary具有主观随机的意思,主观性更强,意思是你可以随心所欲地选择其中一个,随你喜欢;random的意思是每一个动作被选到的概率是一样的,他的英文解释是A random sample or method is one in which all the people or things involved have an equal chance of being chosen.)
argmax的意思是取使最大的动作。贪婪动作选择总是利用当前的认知,使得即时奖励最大;它不会花时间在看起来明显较差的动作上,不会去看看它们是不是一个更好的动作。
另一种动作选择方法是:在大部分时间采取贪婪选择方法,而在某些时候,比如以一个较小的概率 ,不选择贪婪动作,而是在所有动作中随机选择一个。(比如 ,就是10次里有9次选择贪婪动作,而有一次在所有动作中随机选择(包括贪婪动作))我们把这种接近贪婪选择方法的方法称为贪心算法,这个方法的好处是,由于步数不可能无限增大,那么在有限的采样步数下,这种方法可以保证每一个动作都被采样了若干次,这就保证了收敛于. 这当然意味着选择最优动作的概率收敛到大于(很好理解吧,10次有9次肯定选择贪婪动作,也就是最优动作,而还有1次可能选到贪婪动作,所以概率大于0.9),即接近确定。然而,这些只是渐近保证,并不能说这种方法实际有效。
答案是作者个人理解,仅供参考。
练习2.1:在 贪心算法中,假设有两个动作,且 ,那么贪婪动作被选到的概率是多大。
有0.5的概率一定选择贪婪动作,还有0.5的概率在两个动作中选择一个,贪婪动作被选到的概率是0.5,因此,贪婪动作被选中的概率是,这个值大于1-0.5。
联系2.2:老虎机例子。假设一个k摇臂老虎机问题中,k=4,有四个动作,标示为1,2,3,4。考虑用 贪心策略作为动作选择方法,用采样平均法作为动作-值评估方法,且所有动作的初始值设为0. 假设初始动作和奖励的序列为 ,,, ,,,,,,. 在这些步数中, 可能发生了,而导致随机选择动作的情况。那么,哪些步骤中,随机选择肯定发生了?哪些步骤中可能发生了呢?
第1步:肯定是随机选择,因为所有的动作值的初值都是0;
第2步:由于第一步选择了动作1,得到了奖励值1,所以,其余动作值仍为0,那么动作1的值为所有动作中值最大的,而第二步选择了动作2,没有选择贪婪动作,因此,这里发生了随机选择;
第3步:此时动作1的值为,动作2的值为,其余动作值为0。那么动作1和动作2都是贪婪动作,而第3步选择了动作2,那么这里可能发生了随机选择,正好选中了2,也可能发生的是贪婪选择,选择了一个贪婪动作;
第4步:此时动作1的值为,动作2的值为,其余动作值为0。那么动作2是贪婪动作,而第4步选择的是动作2,那么这里可能发生了随机选择;
第5步:此时动作1的值为,动作2的值为,其余动作值为0。那么动作2是贪婪动作,而第5步选择的是动作3,因此这里必然发生了随机选择。
综合以上,第1、2、5步必然发生了随机选择,第3、4步可能发生了随机选择。