Causal Embeddings for Recommendation 论文笔记
有什么问题欢迎讨论呀!
论文标题:Causal embeddings for recommendation
目的
用过去的 user-item 矩阵预测用户未来的行为会造成偏差,本文是为了消除这种偏差。
方法
构建两个数据集 ScS_cSc 和 StS_tSt,其中 StS_tSt 数据集的分布(给定每个用户所有item暴露给用户的概率分布)和测试集的分布是一致的。采用领域自适应的算法进行去偏。
结果
MSE lift、NLL lift、AUC 评价指标来衡量各个方法的好坏,结果表明本文的方法要更好一些。
内容
1. Introduction
用过去的 user-item matrix 来预测用户未来的行为是存在偏差的。
传统的方法:
【推荐】协同过滤的方法:计算 item-item 对或者 item-user 对之间的距离
【预测】对用户的历史行为建模来预测下一个行为
这两种方法都没有对推荐系统内在的干预本质进行预测(不应该只尝试对用户的自然行为进行建模,而是根据预设目标以最优的方式去影响它)
2. 通过ITE优化的推荐策略
【推荐策略 recommendation policy】
我们假设一个随机推荐策略 πxπ_xπx 是将所有物品 pjp_jpj 暴露给给定用户 uiu_iui 的概率分布:
pjπx(⋅∣ui)p_j~π_x (·|u_i)pjπx(⋅∣ui)
【策略奖赏 policy rewards】
我们定义 rijr_{ij}rij 为向用户 uiu_iui 推荐物品 pjp_jpj 后真实的奖赏。在我们的例子中,rijr_{ij}rij 是一个二元变量(click/no click, sale/no sale)。我们假设奖赏 rijr_{ij}rij 是由未知条件分布 rrr 给定的:
rijr(⋅∣ui,pj)r_{ij}~r(·|u_i,p_j)rijr(⋅∣ui,pj)
我们定义 yijy_{ij}yij 为日志策略 πxπ_xπx 下观察到的奖赏值(也是一个二元变量):
yij=rijπx(pj∣ui)y_{ij}=r_{ij} π_x (p_j |u_i)yij=rijπx(pj∣ui)
在策略 πxπ_xπx 下的奖赏值 RπxR^{π_x}Rπx 等价于通过使用相关的个性化产品曝光概率,从所有进入系统的用户中收集到的奖励的总和:
Rπx=∑ijrijπx(pj∣ui)p(ui)=∑ijyijp(ui)=∑ijRijR^{π_x}=∑_{ij}r_{ij} π_x (p_j|u_i)p(u_i)=∑_{ij}y_{ij} p(u_i)=∑_{ij}R_{ij}Rπx=ij∑rijπx(pj∣ui)p(ui)=ij∑yijp(ui)=ij∑Rij
看到的用户的概率是来自一个未知的分布 p(X):uip(X)p(X):u_i~p(X)p(X):uip(X) 并且 RijR_{ij}Rij 是用户物品对的奖赏值
在策略 πxπ_xπx 下,给定用户 iii 和物品 jjj 的 ITE(Individual Treatment Effect)值可以定义为当前策略下的奖赏值和控制策略 πcπ_cπc 下的奖赏值之差:
ITEijπx=Rijπx−RijπcITE_{ij}^{π_x}=R_{ij}^{π_x}-R_{ij}^{π_c}ITEijπx=Rijπx−Rijπc
本文我们感兴趣的是 ITE 和最大时对应的策略 π∗π^*π∗:
π∗=argmaxπxITEπxπ^*=arg max_{π_x}{ITE^{π_x}}π∗=argmaxπxITEπx,其中 ITEπx=∑ijITEijπxITE^{π_x}=∑_{ij} ITE_{ij}^{π_x}ITEπx=∑ijITEijπx
【引理1】对于任意控制策略 πcπ_cπc,最优的增长策略 π∗π^*π∗ 是向每一个用户展示出最高相关奖赏值的物品的策略。(证明略)
πdetπ_{det}πdet 是对每个用户展示最优的个性化物品的策略:
πdet={1,ifpj=pi∗0,otherwiseπ_{det}=\left\{ \begin{array}{cc} 1 & ,if\quad p_j=p_i^* \\ 0 & ,otherwise \end{array} \right.πdet={10,ifpj=pi∗,otherwise
因此,π∗=πdetπ^*=π_{det}π∗=πdet
为了找到最优策略 π∗π^*π∗,我们需要找到每个用户能获得的最高个性化奖赏值 ri∗r_i^*ri∗ 的产品。实际上我们是没办法直接观察到 rijr_{ij}rij 的,但我们有 yij∼rijπx(pj∣ui)y_{ij}\sim r_{ij} π_x (p_j |u_i)yij∼rijπx(pj∣ui) 来预测不可观察的 rijr_{ij}rij:
r^ij≈yij(πc(pj∣ui))\hat{r}_{ij} ≈ \frac{y_{ij}}{(π_c (p_j |u_i))}r^ij≈(πc(pj∣ui))yij
该方法的不足之处:1. 基于IPS的估计值不能很好的处理 treatment 和 control policy 之间的暴露概率的巨大变化;2. 方差会很大
如果 πc=π∗π_c=π^*πc=π∗,虽然让方差最小化了,但推荐效果也会变差
解决方法:从 πcπ_cπc 中学习一个预测器,然后在 πrandπ^{rand}πrand 下执行
3. 本文方法:Causal Embeddings(CausE)
我们的目标是建立一个好的预测器:对所有的用户-物品对,通过随机暴露来推荐结果。
假设我们从日志策略 πcπ_cπc 中获得大量样本 ScS_cSc,从随机处理策略 πtrandπ_t^{rand}πtrand 中获得小样本 StS_tSt。到此本文提出了一个多任务目标:分解矩阵 yijc∈Scy_{ij}^c∈S_cyijc∈Sc 和 yijt∈Sty_{ij}^t∈S_tyijt∈St
我们假设真实的control和treatment奖赏值可以用线性预测器来估计:
yijc≈<ui,θjc>y_{ij}^c≈<u_i,θ_j^c>yijc≈<ui,θjc>
yijt≈<ui,θjt>y_{ij}^t≈<u_i,θ_j^t>yijt≈<ui,θjt>
到此,可以估计用户-物品对的ITE值:
ITE^ij=<ui,θjt>−<ui,θjc>=<ui,θj∆>\hat{ITE}_{ij}=<u_i,θ_j^t>-<u_i,θ_j^c> = <u_i,θ_j^∆>ITE^ij=<ui,θjt>−<ui,θjc>=<ui,θj∆>
Lt=L(UΘt,Yt)+Ω(Θt)L_t=L(UΘ_t,Y_t )+Ω(Θ_t)Lt=L(UΘt,Yt)+Ω(Θt)
Lc=L(UΘc,Yt)+Ω(Θc)L_c=L(UΘ_c,Y_t )+Ω(Θ_c)Lc=L(UΘc,Yt)+Ω(Θc)
LCausEprod=L(UΘt,Yt)+Ω(Θt)+L(UΘc,Yt)+Ω(Θc)+Ω(Θt−Θc)L_{CausE}^{prod}=L(UΘ_t,Y_t )+Ω(Θ_t )+L(UΘ_c,Y_t )+Ω(Θ_c )+Ω(Θ_t-Θ_c )LCausEprod=L(UΘt,Yt)+Ω(Θt)+L(UΘc,Yt)+Ω(Θc)+Ω(Θt−Θc)
4. 实验
Dataset:MovieLen 100k, MovieLen 10M 显式评分数据集
创建了两个数据集:regular(REG)和skewed(SKEW)
70/10/20 train/valid/test
SKEW Dataset:目标是产生一个测试数据集-simulates rewards uniform expose πtrandπ_t^{rand}πtrand
- Causal embeddings for recommendation 论文中 SKEW 对训练集(train)/验证集(valid)/测试集(test)(70/10/20)的划分参考了论文 Causal inference for recommendation论文,从完整的数据集中针对 item 均匀采样出 20% 的数据作为测试集,剩下的数据随机划分成 7:1,分别作为训练集和验证集。
- 但是为了模拟随机策略产生的 S_t 数据集,将测试集的采样比例增加到 30%,其中 20% 作为测试集,10% 作为模拟随机策略得到的数据 S_t,剩下数据随机划分成 6:1。那么一共就有四种数据集:训练集S_c(πc\pi_cπc)、训练集S_t(πt\pi_tπt)、验证集(πc\pi_cπc)和测试集(πt\pi_tπt),比例为:6:1:1:2。
本实验中,改变 StS_tSt 的大小 1%-15%
定义了5中合并的暴露数据设置:
- No adaptation:ScS_cSc
- Blended adaptation: ScS_cSc, StS_tSt
- Test adaptation: StS_tSt
- Product adaptation: Separate treatment embedding for each product based on the StS_tSt sample
- Average adaptation: Average treatment product by pooling all the StS_tSt sample into a single vector
5. 结论
- 新的方法来分解隐式的 user-item 矩阵
- 用一致的暴露分布来预测 user-item 的相似度
- CausE 是对 MF 算法的一个扩展,加入了正则项 Ω(Θt−Θc)Ω(Θ_t-Θ_c )Ω(Θt−Θc)
6. 不足
- StS_tSt 的数据太难获取
- 没有对用户序列进行建模
- ITE 最大化和损失函数最小化之间的关联
Causal Embeddings for Recommendation 论文笔记相关推荐
- 【Self-Attentive Sequential Recommendation论文笔记】
Self-Attentive Sequential Recommendation论文笔记 Self-Attentive Sequential Recommendation 序列动态是许多现代推荐系统的 ...
- 卷积-CNN-GCN-LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation论文笔记
参考博客:https://www.zhihu.com/question/54504471/answer/332657604 1. 卷积 连续: ( f ∗ g ) ( n ) = ∫ − ∞ + ∞ ...
- Causal Intervention for Leveraging Popularity Bias in Recommendation论文笔记
1 题目解析 论文地址:http://staff.ustc.edu.cn/~hexn/papers/sigir21-PDA.pdf 源代码地址:https://github.com/zyang1580 ...
- LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation 论文笔记
目录 1.简介 1.1 背景介绍 1.2 摘要 1.3 主要贡献 2. 准备工作 2.1 NGCF 2.2 对NGCF的实证探索 3. LightGCN模型 3.1 Light Graph Convo ...
- 论文笔记:Sequential Recommendation with Relation-Aware Kernelized Self-Attention
论文笔记:Sequential Recommendation with Relation-Aware Kernelized Self-Attention 摘要: 最近的研究发现,顺序推荐可以通 ...
- 论文笔记--On the Sentence Embeddings from Pre-trained Language Models
论文笔记--On the Sentence Embeddings from Pre-trained Language Models 1. 文章简介 2. 文章概括 3 文章重点技术 3.1 BERT模 ...
- 「ArXiv2020」【Efficient Transformers: A Survey】论文笔记(更新中)
「ArXiv2020」[Efficient Transformers: A Survey]论文笔记 Abstract 1. Introduction 2. Background on Transfor ...
- Deep Learning论文笔记之(八)Deep Learning最新综述
Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...
- 【论文笔记09】Differentially Private Hypothesis Transfer Learning 差分隐私迁移学习模型, ECMLPKDD 2018
目录导引 系列传送 Differentially Private Hypothesis Transfer Learning 1 Abstract 2 Bg & Rw 3 Setting &am ...
最新文章
- 统计学:统计学概述(一)
- python构建一个简单的备份脚本
- SpringBoot整合Mybatis超详细流程
- [ARM-assembly]-A64的load/store指令总结
- 7月份计划-----dream
- 阿里云ECS,搭建MySQL5.7数据库环境
- python 文本相似度_python实现余弦相似度文本比较
- 【Elasticsearch】使用Elasticsearch实现同段和同句搜索
- Referrer Policy 介绍
- 你真正了解图像金字塔吗?详细介绍拉普拉斯金字塔和高斯金字塔(pyrDown() and pyrUp()),参考《OpenCV轻松入门:面向Python》
- 引爆点---绝对内行
- 最优灵活体系结构(Optimal Flexible Architecture,OFA)
- 有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成 为另一个字符串
- 第90届中国电子展聚焦行业新热点,拉动产业链上下游快速发展
- [xml]DOM4j解析
- 黑苹果论坛被封_Hackintosh (黑苹果) 折腾
- 物联网-平台云服务安全设计
- C++中STL用法总结
- 锘崴科技王爽:提升效能与安全平衡点,让隐私计算发挥更大潜力价值 | 数据猿专访...
- 移动pc客户端迷你版泄露