首页 > 其他分享 >因果推断在推荐系统debias的应用

因果推断在推荐系统debias的应用

时间:2024-02-15 17:00:53浏览次数:24  
标签:debias loss selection 建模 item bias 推断 popular 因果

推荐系统的bias有很多:position bias, popularity pias, selection bias, exposure bias, conformity bias (从众心理)等,针对不同的bias有不同的模型来解决。核心的问题还是,这些bias导致一部分优秀的item underestimate或者underperform,为了更公正的推出这些item,需要去掉这些bias。

基本的debias操作可以是

1. IPS (inverse popensity score),也称为re-weighting。核心假设是,模型之所以有bias,是因为在训练集中,越popular(popular是上面各种bias的结果)的item,算loss的次数越多,因此模型倾向于给这些item更低的loss,也就是说更不容易over/under-estimate;但是对于不popular的,可能存在under-estimate(why not overestimate?)。因此解决思路就是在训练的时候,根据popensity score给item的loss乘上一个IPS,以达到降权的目的。缺点是high variance,因为1/ps是一个很大的值,乘在loss上面会导致variance很大。

2. Imputation (re-labeling),主治selection bias。即在训练的时候,给没有打上label的打上一个伪标签。缺点是label的strategy很重要。

2.5 这两个一起作用,叫做doubly robust。其实不是两个都robust,是两个加起来才robust。[2]

3. Generative model。这种类似于多阶段建模,或者是multi-source 建模,假设数据的生成过程由多个阶段构成(如点击=view*interest), 然后分别建模view的概率和interest的概率。然后用interest的概率作为label去训练。缺点是strong assumption。

 

其实3的思路再发展一下就是后面因果推断的思路,只是generative model的建模通常只考虑单因素,但是实际上影响到item的最终评分是由多因素决定的,也就是所谓的causal graph。为了更完整的建模整个链条,采用了casual的语言来描述这个generative的过程,然后建模,并且推断,当缺少某一个node的时候(do),真实概率是多少。

 

 

[2] Doubly Robust Joint Learning for Recommendation on Data Missing Not at Random. 只要是sparse rating,不管是因为selection/conform/exposure还是别的原因,只要是需要解决sparse rating的问题,那就可以用这个方法。

[3] Model-Agnostic Counterfactual Reasoning for Eliminating Popularity Bias in Recommender System. 

 

主要参考资料:https://xx.woa.com/articles/show/596599

标签:debias,loss,selection,建模,item,bias,推断,popular,因果
From: https://www.cnblogs.com/kunrenzhilu/p/18016327

相关文章

  • ts自带的根据函数推断类型
    ts自带的根据函数推断类型❓:Parameters和ReturnType。......
  • Python随机波动模型Stochastic volatility,SV随机变分推断SVI分析标普500指数股票价格
    全文链接:https://tecdat.cn/?p=33809原文出处:拓端数据部落公众号随机波动模型(Stochasticvolatilitymodels)经常被客户用来对股票价格随时间的变动性进行建模。波动性(volatility)是随时间的对数收益的标准差。与假设波动性恒定不变不同,随机波动模型具有隐变量参数,可以在每个时刻......
  • 常见推断方法一览:极大似然估计、最大后验估计、期望最大化、贝叶斯推断、马尔科夫链蒙
    常见推断方法一览推断方法区别频率派极大似然估计MLE最大后验估计MAP期望最大化EM贝叶斯推断Bayesian马尔科夫链蒙特卡洛方法MCMC变分推断VI 推断方法区别极大似然估计(MaximumLikelihoodEstimation,MLE):解释:假设你有一堆骰子,你投掷它们很多次,然后记录下每次的结果......
  • 04.黑盒测试方法论 - 因果图
    因果图定义 因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法它适合于检查程序输入条件的各种组合情况“因”——输入条件“果”——输出结果因果图适用场景 描述多种条件的组合产生多个动作因果图中的基本符号 恒......
  • 【史上最易懂】变分推断:从【求分布】的推断问题,变成【缩小距离】的优化问题,用简单的分
    变分推断:从求分布的推断问题,变成缩小距离的优化问题频率学派与贝叶斯学派隐空间和隐变量变分推断完整推导 频率学派与贝叶斯学派学过概率论,应该了解过,概率分为2个学派:频率学派:数据是客观的(看到啥就是啥,隐变量z->观察变量/输入变量x),直接求统计指标即可(似然函数),代表之作像CNN、......
  • 无涯教程-Java泛型 - 类型推断
    类型推断表示Java编译器查看方法调用以及其相应的声明来检查和确定类型的参数,如果可用,则返回分配的类型。如果未使用类型推断,则编译器会生成未经检查的转换警告。Typeinference-语法Box<Integer>integerBox=newBox<>();Box  -Box是一个通用类。<>  -运算符表......
  • 软件测试/测试开发|如何使用因果图法设计测试用例?
    前言我们之前介绍了等价类边界值场景法来设计测试用例,本篇文章我们来介绍一下使用因果图来设计测试用例。因果图法因果图(Cuase-effectGraph)是一种描述输入条件的组合以及每种组合对应的输出的图形化工具。为什么使用因果图法?我们之前介绍的等价类和边界值都是着重考虑输入......
  • 软件测试/测试开发|如何使用因果图法设计测试用例?
    前言我们之前介绍了等价类边界值场景法来设计测试用例,本篇文章我们来介绍一下使用因果图来设计测试用例。因果图法因果图(Cuase-effectGraph)是一种描述输入条件的组合以及每种组合对应的输出的图形化工具。为什么使用因果图法?我们之前介绍的等价类和边界值都是着重考虑输入条件,如果......
  • Inferring Developmental Trajectories and Causal Regulations with Single-cell Gen
    InferringDevelopmentalTrajectoriesandCausalRegulationswithSingle-cellGenomicsDevelopmentiscommonlyregardedasahierarchicalbranchingprocesswhichisgovernedbyunderlyinggeneregulatorynetworks.Single-cellgenomics,single-cellRNA-seq......
  • 测试用例设计方法六脉神剑——第二剑:招式组合,因果判定出世
    1引言上篇讲了等价类划分和边界值分析法,而这两种方法只考虑了单个的输入条件,并未考虑输入条件的各种组合、输入条件之间的相互制约关系的场景。基于此短板,因果图法和判定表法应运而生。2因果图法2.1概念及原理2.1.1定义一种描述输入条件的组合以及每种组合对应的输出的图......