参考链接:强化学习系列(二):Multi-armed Bandits(多臂老虎机问题)
先放一张slot machine的图片
1.arm指拉杆,bandit是arm的集合:
bandit=arm1,arm2,…,armk
2.假设 t 时刻我们选择动作为At, 对应的奖励为Rt, 则t时刻的任意action a 的期望奖励(value)可以表示为 q∗(a)=E[Rt|At=a]
3.但这个式子我们并不知道确切的值,因此只能通过多次测试产生相应action的估计价值(estimated value)Qt(a),让Qt(a)尽可能接近q*(a),然后根据Qt(a)选择具有最大奖励value的行为a。
贪心策略。两个的区别在于有没有考虑对环境的exploration。
1.迭代思想推导出增量式的求解方法,该方法仅耗费固定大小的内存,且可以单步更新。
2.推导过程
这样每次只需要存储 Qn和n,就可以算出新的reward。这种方式称为增量式求解。
3.伪代码
过程可以简写为:
NewEstimate←OldEstimate+StepSize [Target–OldEstimate]
1.如果随着时间变化,bandits所获得的reward也在变化,那么需要引入当前reward的权重,引入一种比较性,以表示对当前reward影响的重视。
2.推导公式——exponential recency-weighted average 指数近期加权平均
这部分有点不太明白……
最优化初始值对exploration的驱动是短期且固有的。
1.ϵ-greedy在随机选择action时无差别的对待每个action,如果在随机选择action时考虑每个action的隐含属性有利于找到最优action。
2.隐函属性一般包括:与最大值的接近度、估计错误率
3.upper-condience-bound是一种常用的action选取方法
4.UCB的局限性
1.是一种通过偏好Ht(a)选取action的方法
2.偏好越大,越经常被选择
3.偏好和reward没有直接关系,偏好通过相对大小影响action的选择概率
4.公式
4种用于平衡exploration和exploitation的方法: