Reforcement Learning ---- Multi-armed Bandits

来源:互联网 发布:蜂群算法 多目标规划 编辑:程序博客网 时间:2024/05/22 23:49

个人学习记录
初学强化学习,遇到的第一个情景假设—-多臂赌博机
在说明多臂赌博机之前,先假设单臂的赌博机,或者说,单个的赌博机。
我们知道,赌博机是大家去从N个当中去选择一个,去赌是否自己所选的是否会中奖。
但是,问题在于我们并没有那么多本钱去不断的去尝试来得到最优的选择方法。
这是单个赌博机的情况。
而多臂赌博机则可以看成是同时有多个赌博机需要我们去选择。首先要明确,是多个赌博机而不是一个赌博机选多次。

下面我们开始进行游戏~
先进行的是单个赌博机的游戏

我们把第t次 选择定义为at,把所有的可能选择的情况定义为集合A。对应的第t的奖励定义为Rt, 假设a选择可以为我们带来的预期的收益:
q(a)=E[Rt|A=at]
如果我们只要所有的选择能带来的价值,那么这个问题就已经解决了,问题是,我们现在不知道。所以,我们在t时刻对每一选择评估(推断)它的价值Qt(a)使这个Qt(a)尽可能的接近q(a)

基于以上情况,在进行了几轮游戏之后,我们可以得到某些选择的奖励。因此,我们在后面的选择中可以找到一个我们认为奖励最高的选择,这种方式我们称之为greedy actions 或者叫 exploiting, 也可以看成当前的最优解。但是,我们也可以不这样选择,而是去尝试之前我们不知道的选择,这种方式叫做exploring。exploitation 是为了得到局部最优解。exploration 是为了能使局部最优解逼近全局最优解。exploitation是当前最好的已知选择,但是可能会有一些不知道的选择中有更好的。exploration在初期可能会选择得到很低的奖励,所以短期的选择 exploitation可以得到更好的结果,而长远来看exploration会得到更好的结果,但是,对于每一次的选择,exploration和exploitation是不能同时满足的。如何选择,稍后再议。

在我们玩了t次之后,那么我们想知道Qt(a) 是多少,定义:

Qt(a)=tata

再greedy actions中,我们只要找出奖励最大的选择就好,即

At=argmaxQt(a)

但是greedy-action如之前所说,只是已知的最优解,我们还需要知道未知的选择中是否有更优解。所以,我们在greedy action的基础上增加一个很小的常量ε,每次进行判断若随机变量大于ε则进行greedy action, 反之,进行nogreedy action。

已知Qn+1=1ni=1nRi

Qn+1=1ni=1nRi=1n(Rn+i=1n1Ri)=1n(Rn+(n1)Qn)=Qn+1n(RnQn)

这种取平均的方法适合于稳定的场景之中,即action的reward的变化是一个趋近稳定的值,但是实际情况我们遇到的大多都是不稳定的场景,那么我们在预估reward的时候,越邻近的越有参考价值。则我们假设存在一个参数α来作为衰减的步长。则上式为:

Qn+1=Qn+α[RnQn]

公式展开,则:

Qn+1=Qn+α[RnQn]=αRn+(1α)Qn=αRn+(1α)[αRn1+(1α)Qn1]=(1α)Q1+i=1nα(1α)n1Ri

这种方法称为权重均值化,因为(1α)n+i=1nα(1α)n1=1
这种方法又叫做exponential recency-weighted average。

由上式可知,在game过程中reward受到Q(1)初始化的影响很大,在取平均的方法中,如果我们能对所有的action都遍历一遍,则初始化的结果偏置就会消失,但是往往无法遍历所有的action。且对于权重均值化,初始化对于模型会一直存在影响。

Upper-Confidence-Bound Action Selection

在上面的记录中,我们知道ε-greedy 的方法由于greedy的方法,但是 ε-greedy的方法存在一个问题,即不确定性太大。如果我们可以根据假定一个如果之前没有被选择或被选择越少的action更容易被exploration,因此:

At=argmaxa[Qt(a)+clntNt(a)]

其中,t 代表的一共执行action的次数 Nt(a) 代表在t次中a被选择的次数。
因此若有个选择没有被选到,即Nt(a) 为0,则根号下的式子为无穷大。

Gradient Bandit Algorithms
Ht(a) 为选择偏好函数,Ht(a)的值越大,在做选择的时候被选择的可能性越高。
每一个aciton的选择函数在每一选择之后都会进行更新。
Ht+1(At)=Ht(At)+α(RtRt¯)(1πt(At)) and
Ht+1(a)=Ht(a)α(RtRt¯)πt(a) for all aAt

其中

Pr{At=a}=eHt(a)kb=1eHt(b)=πt(a)

Rt¯=1titRi

over
下一章节 Finite Markov Decision Processes

阅读全文
0 0
原创粉丝点击