问题
解决评估本身存在bias的问题。
评估policy
评估model
0、根源问题
虽然我们对于模型本身的训练。policy本身的设计。都考虑到了各种bias的问题。试图在某种程度上消除减轻feedback loop的bias的问题。但是实际上很难完全消除,因为feature本身也是之前model和policy的结果,也是biased了。
但是就算feature本身是biased,我们也尽量去解决评估样本基于之前model与policy的bias。1、离线评估如何无偏?
我们数据sample集本身是biased towards current policy的。当我们使用Average over All的评估方式时,会导致结果也是biased。
当然,我们可以对模型打分进行随机(其他策略保留),消除model带来的bias之后,由此得到无偏随机样本。当然,这里的“无偏”是消除了之前model带来的偏差,而非整个体系内所有的偏差(并未解决所有bias,譬如上述根源问题,我们依赖反馈数据的策略机制也会导致bias)2、在线评估是否无偏?
某些观点认为,online实验就是最好的观测方式,也是“无偏”的。这其实是种错误的理解。
因为从数据,样本,模型到整个策略机制本身是个不断evolve的动态系统,所有数据的产生,收集都依赖了之前系统的策略。所以就算我们用online环境直接评估model或者policy,由于除开model以及policy外的其他策略,本身也受到“biased”数据影响,因此也会有历史系统性的bias存在,则online观测到的feedback本身就biased towards current policy。
EE - Policy评估:
- off-policy policy evaluation:
对于EE,由于离线数据存在之前policy的bias,线上实验难以对数据完全隔离等问题,会导致我们难以对当前数据进行无偏的评估。设计一种基于随机样本的方式,评估policy[1]
模型评估:
random思路:
完全随机生成样本。(譬如评估模型,则随机打分排序曝光)。但是这种方式只适用于model-selection的情况,不适用于CVR模型。因为有user-selection过程,我们能强制所有用户随机曝光,但是很难强制所有用户随机点击。IPS思路:
对于模型Debias问题,由于之前数据存在模型带来的bias,我们也需要无偏数据进行评估,Testset 本身biased。[2],其实不单evaluation,training也有很多用ips的方法[3][4]
其实random某种程度和ips也是一样的,random即所有样本产生的概率相等,可以约掉。
Refer:
[1]
传统方式counterfactual / off-policy estimator使用importance sampling。
比如Learning from Logged Implicit Exploration Data中的importance sampling 。但仅适用于static policy,对于要adapt to history的policy不适用
a、下面文章提出离线评估EE policy的办法。方法兼具unbias 与low variance:
Unbiased Offline Evaluation of Contextual-bandit-based News Article Recommendation Algorithms
b、这里提出一个unbiased counterfactual estimator:
Offline A/B testing for Recommender Systems
[2] 这里假设了俩过程,认为recommend 过程是用户无关的(independent),所以用item曝光数量本身,做propensity
MNAR问题的解决。用IPS的思路。用曝光数量做empirical的propensity,再做指数平滑:
Unbiased Offline Recommender Evaluation for Missing-Not-At-Random Implicit Feedback
[3]bid本身,作为propensity score。(winning rate aware)
Bid-aware Gradient Descent for Unbiased Learning with Censored Data in Display Advertising
[4]用ctr本身,作为propensity score。(与ESMM相反,ESMM是错误的)
Large-scale Causal Approaches to Debiasing Post-click Conversion Rate Estimation with Multi-task Learning