Variance问题:
对于Bandit中,一类核心的方法是给出估计的confidence Interval,然后根据其Upper Bound来进行bandit。主要有TS与UCB:(当然,这种策略的有效性某种程度上取决于模型的varaince估计)
Thompson Sampling:
TS需要假设参数的先验分布,然后输入数据,通过模型学习,更新参数的后验分布,最后在每一次round中从后验分布中采样即可。[1]UCB:
对于Contextual Bandit来说,要用模型计算variance。对于线性模型,可以参考LinUCB。对于NN模型,似乎没有特别robust 并且计算代价小的方案?注:
对于Delayed数据来说,由于数据本身delay,我们不能在每一次action后立刻获得feedback。实验看来TS有更好的效果。因为UCB本身是deterministic,在无法获得feedback的状态下,会处于缺乏Explore的状态。
Refer:
[1] An Empirical Evaluation of Thompson Sampling
这里假设参数的先验分布,通过数据更新其后验分布,然后预估时直接按照分布对参数进行采样,获得预估分。文章提出了LinTS(类似LinUCB,提供了线形模型的TS应用方法,Laplace Approxmation)
同时,文章给出了超参调整variance的方式(以让算法更倾向于explore或者exploit):1、在empirical TS直接给出ctr估计时,beta中将a,b同时除以一个数,不影响mean,但是改变了其variance。2、在LinTS中,采样时直接调整参数的variance即可。
[2] A Contextual-Bandit Approach to Personalized News Article Recommendation
这里给出LinUCB的方法。参考了Fisher Information,在linear模型状态下,可以有一定的方法计算出模型参数的variance,以此也可以计算出prediction的variance。