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,试写出基于γ折扣奖赏函数的策略迭代算法。
基本和上题一样,更换一下式子就行,略……