一个赌徒,要去摇老虎机,走进赌场一看,一排老虎机,外表一模一样,但是每个老虎机吐钱的概率可不一样,他不知道每个老虎机吐钱的概率分布是什么,那么每次该选择哪个老虎机可以做到最大化收益呢?
1)有K台机器,每次选取其中一台拉动杠杆,该机器提供一个随机的回报reward,每一台机器的reward服从特定的概率分布。
2)一个赌徒有N次拉杆的机会,他的目标是使得回报reward最大化,那么他要确定这N次选择机器的顺序。显然,作为一个聪明的赌徒,他会记录下每一次得到的reward,试图找出能给出最大reward的那台机器,尽量多次数的去拉这台机器 。
3) 对于每一轮选择,主要面对的问题是Exploitation-Exploration:
4)得到的收益称为reward,一般假设为伯努利分布,即0或1。得到的收益与真实的最大收益(最优)(上帝视角,假设一开始就知道哪个payoff最大,那我肯定拉哪个手臂)之间的差值称为regret。
经典的强化学习算法,多用于处理Exploitation(利用)-Exploration(探索)(EE)权衡(trade-off)问题,即一个最优选择问题。MAB也应用于随机调度(Stochastic scheduling)问题中。
探索-利用问题(Exploration-Exploitation dilemma):
探索和利用两者之间是相互矛盾的,由于总的尝试次数是有限的,采用“探索”则无法每次选择最优的选项,选择“利用”则无法发现可能潜在的更优的选项,这就是强化学习中的“探索-利用窘境(Exploration-Exploitation dilemma)”所以要实现累积回报最大化,需要在“探索”和“利用”之间达到一个较好的折中。
一个问题,其中必须在竞争、选择之间以最大化其预期收益的方式分配固定的有限资源集,当每个选择的属性在分配时仅部分已知时,并且随着时间的推移可以更好地理解 或者通过为选择分配资源。
在t=1,2,…,T的每个阶段中,一个bandit算法应该做如下两件事:
a(t)
r(t)
经典bandit算法当中,我们要做的无非就是通过一类pull arm的策略,尽快找到比较好的“arm”(reward较高的arm),然后尽可能多的去拉这些比较好的arm就是了
老虎机情景是在环境不变的情况下stochastic bandit(随机MAB)
如果环境改变(即环境就是随着时间/玩家的行为会发生变化)
也就是所谓的adversarial bandit就是说这些pi会被一个“对手”(也可以看成上帝)设定好。如果这是事先设定好,并且在玩家开始有动作之后也无法更改,我们叫做oblivious adversary setting; 如果这个对手在玩家有动作之后还能随时更改自己的设定,那就叫做adaptive adversary setting, 一般要做成zero-sum game了。
几乎所有在线广告推送(dynamic ad display)都可以看成是cMAB问题。在这类问题中,每个arm的回报会和当前时段出现的顾客的特征(也就是这里说的context)有关。
期望的reward可以取决于外部变量。
假设reward和特征向量存在一个线性关系 r e w a r d = x T θ reward=x^T\theta reward=xTθ
在Contextual Bandits当中, p ~ = x T θ \tilde{p}=x^T\theta p~=xTθ,其中 θ \theta θ是需要学习的参数。
使用的线性回归-Ridge Regression来求解 θ \theta θ:
x是观测到特征向量,如x= (荤菜,素菜,男,女,早饭,午饭,晚饭)
也就是reward(每道菜好吃的概率——就是你问题中想知道的结果)
输入:多次实验结果{(x1,reward1),…, (xN,rewardN)}
优化目标:
其中:
在Bernoulli Bandit中,我们假设reward是服从伯努利分布的:
对于mean reward θ \theta θ:先验分布(prior distribution)是Beta分布,而每个arm reward的分布是以 θ \theta θ为参数Bernoulli(伯努利)分布。容易知道,在这种情况下, θ \theta θ 的后验分布仍然是Beta分布
在Contextual Bandit中,我们假设reward和特征向量存在一个线性关系 :
是确定性的,无法直接定义出一个概率分布来描述 的不确定性。
每台老虎机每天摇的次数有上限
这类问题以传统组合优化里的背包问题命名
不再有有限台机器,而有无限台(它们的reward function满足利普西茨连续性)。
是贝叶斯框架下在线学习的适用性算法