有什么问题欢迎讨论呀!

论文标题:Causal embeddings for recommendation

目的

用过去的 user-item 矩阵预测用户未来的行为会造成偏差,本文是为了消除这种偏差。

方法

构建两个数据集 ScS_cScStS_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(pjui)
在策略 π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=ijrijπx(pjui)p(ui)=ijyijp(ui)=ijRij
看到的用户的概率是来自一个未知的分布 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πxRijπ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)yijrijπx(pjui) 来预测不可观察的 rijr_{ij}rij
r^ij≈yij(πc(pj∣ui))\hat{r}_{ij} ≈ \frac{y_{ij}}{(π_c (p_j |u_i))}r^ij(πc(pjui))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_cyijcScyijt∈Sty_{ij}^t∈S_tyijtSt
我们假设真实的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中合并的暴露数据设置:

  1. No adaptation:ScS_cSc
  2. Blended adaptation: ScS_cSc, StS_tSt
  3. Test adaptation: StS_tSt
  4. Product adaptation: Separate treatment embedding for each product based on the StS_tSt sample
  5. 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 论文笔记相关推荐

  1. 【Self-Attentive Sequential Recommendation论文笔记】

    Self-Attentive Sequential Recommendation论文笔记 Self-Attentive Sequential Recommendation 序列动态是许多现代推荐系统的 ...

  2. 卷积-CNN-GCN-LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation论文笔记

    参考博客:https://www.zhihu.com/question/54504471/answer/332657604 1. 卷积 连续: ( f ∗ g ) ( n ) = ∫ − ∞ + ∞ ...

  3. Causal Intervention for Leveraging Popularity Bias in Recommendation论文笔记

    1 题目解析 论文地址:http://staff.ustc.edu.cn/~hexn/papers/sigir21-PDA.pdf 源代码地址:https://github.com/zyang1580 ...

  4. 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 ...

  5. 论文笔记:Sequential Recommendation with Relation-Aware Kernelized Self-Attention

    论文笔记:Sequential Recommendation with Relation-Aware Kernelized Self-Attention 摘要:     最近的研究发现,顺序推荐可以通 ...

  6. 论文笔记--On the Sentence Embeddings from Pre-trained Language Models

    论文笔记--On the Sentence Embeddings from Pre-trained Language Models 1. 文章简介 2. 文章概括 3 文章重点技术 3.1 BERT模 ...

  7. 「ArXiv2020」【Efficient Transformers: A Survey】论文笔记(更新中)

    「ArXiv2020」[Efficient Transformers: A Survey]论文笔记 Abstract 1. Introduction 2. Background on Transfor ...

  8. Deep Learning论文笔记之(八)Deep Learning最新综述

    Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...

  9. 【论文笔记09】Differentially Private Hypothesis Transfer Learning 差分隐私迁移学习模型, ECMLPKDD 2018

    目录导引 系列传送 Differentially Private Hypothesis Transfer Learning 1 Abstract 2 Bg & Rw 3 Setting &am ...

最新文章

  1. 统计学:统计学概述(一)
  2. python构建一个简单的备份脚本
  3. SpringBoot整合Mybatis超详细流程
  4. [ARM-assembly]-A64的load/store指令总结
  5. 7月份计划-----dream
  6. 阿里云ECS,搭建MySQL5.7数据库环境
  7. python 文本相似度_python实现余弦相似度文本比较
  8. 【Elasticsearch】使用Elasticsearch实现同段和同句搜索
  9. Referrer Policy 介绍
  10. 你真正了解图像金字塔吗?详细介绍拉普拉斯金字塔和高斯金字塔(pyrDown() and pyrUp()),参考《OpenCV轻松入门:面向Python》
  11. 引爆点---绝对内行
  12. 最优灵活体系结构(Optimal Flexible Architecture,OFA)
  13. 有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成 为另一个字符串
  14. 第90届中国电子展聚焦行业新热点,拉动产业链上下游快速发展
  15. [xml]DOM4j解析
  16. 黑苹果论坛被封_Hackintosh (黑苹果) 折腾
  17. 物联网-平台云服务安全设计
  18. C++中STL用法总结
  19. 锘崴科技王爽:提升效能与安全平衡点,让隐私计算发挥更大潜力价值 | 数据猿专访...
  20. 移动pc客户端迷你版泄露

热门文章

  1. MySQL实验26-MYSQL数据库管理
  2. 25、26、27,连续三次灾难死亡人数的巧合
  3. 基于Java_使用Jpcap进行网络抓包并分析(6千字保姆级教程)
  4. 易人快递单打印软件 v1.0 绿色
  5. 语音交友APP:搭建部署流程及主要功能介绍
  6. Bugku——Misc——0和1的故事
  7. 利用MySQL的Binlog实现数据同步与订阅(上):基础篇
  8. 运用二分加验证解决 华华给月月准备礼物
  9. iOS本地闹钟提醒实现
  10. 行为驱动测试历史发展与现状