前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >推荐学习(六)——点击原因解耦:用户兴趣,item流行度

推荐学习(六)——点击原因解耦:用户兴趣,item流行度

作者头像
秋枫学习笔记
发布2022-09-19 11:52:58
5260
发布2022-09-19 11:52:58
举报
文章被收录于专栏:秋枫学习笔记秋枫学习笔记

Disentangling User Interest and Conformity for Recommendation with Causal Embedding http://staff.ustc.edu.cn/~hexn/papers/www21-dice.pdf

背景

本文依旧是利用因果推断相关理论进行推荐系统纠偏的一篇文章,相关详细例子可以前往deconfounded中的“举个栗子”进行查看。这里进行简述,作者分析在用户购物的过程中,用户点击某个商品,一方面可能是因为他对这个感兴趣,另一方面可能是因为该商品最近比较热门,流行。而如若不加区分的直接从原始数据中进行训练,推荐,会使得推荐系统进入一个恶性循环,因此通常会进行纠偏,而本文是从分解原因的角度进行纠正。

  • 本文点击原因分解为用户兴趣(interest)和一致性(conformity),结合因果推断构建推荐系统模型。
  • 使用特定于原因的数据捕获两类特征,并构建多任务学习和累积学习从不同原因的数据中进行学习。
  • 所提出的DICE框架具有较好的可解释性,并且在非独立同分布的数据上具有较好的鲁棒性

此处的一致性,本人也不是特别理解,从文中判断是和item流行度相对应的特征

方法

将原因分为两类之后,可以构建新的因果图,如下图:

难点:

如果我们需要训练这个结果,需要得到interest单独作为原因的数据和conformity单独作为原因的数据,但是我们用于训练的数据只是单纯的整体数据,是两个耦合在一起的数据,而这难点就在于如何解耦这两个原因 从图中可以发现,该因果图为_对撞结构_,interest和conformity两个节点相互独立,当以点击为条件时,这两个节点相关。作者利用这一点,来构建了以下方案。

方案:
M^I

表示user和item之间的兴趣匹配矩阵,

M^C

表示user和item之间的流行度一致性匹配矩阵。相当于将user-item矩阵分成了两个。

case1:负样本b(未点击)的流行度小于正样本a(点击)的流行度这样的情况可以说明负样本的流行度小于正样本,不过无法说明用户兴趣的相关信息,可以得到以下不等式

M_{ua}^C>M_{ub}^C
M_{ua}^I+M_{ua}^C>M_{ub}^I+M_{ub}^C

case2:负样本d的流行度大于正样本c这样的情况说明即使正样本不是热门样本,也被点击了,说明user对这个item的兴趣很高,可以的达到以下不等式

$$M_{ud}^C>M_{uc}^C,M_{ud}^IM_{ud}^I+M_{ud}^C $$

根据以上两种情况,可以构建有样本对构成的数据集

O_1,O_2

分别表示以上两种情况。而这两个数据集可以分别对应一致性和兴趣度。本文构建三元组(u,i,j)分别表示用户,正样本,负样本,然后通过BPR模型进行建模,BPR模型是一个现有的模型,有兴趣的小伙伴可以查阅一下,后续有机会在做介绍。

一致性模型(Conformity Modeling)

整个DICE框架下,

u^{(con)},u^{(int)},i^{(con)},i^{(int)},j^{(con)},j^{(int)}

分别表示user对应的conformity特征和interest特征,以及item i,j的流行度特征和本身特征,这里item的流行度特征和用户的一致性特征是对应的,因此这里作者为了统一就都用con和int表示了。

\begin{aligned}L_{\text {conformity }}^{O_{1}} &=\sum_{(u, i, j) \in O_{1}} \operatorname{BPR}\left(\left\langle\boldsymbol{u}^{(\mathrm{con})}, \boldsymbol{i}^{(\operatorname{con})}\right\rangle,\left\langle\boldsymbol{u}^{(\mathrm{con})}, \boldsymbol{j}^{(\mathrm{con})}\right\rangle\right), \\L_{\text {conformity }}^{O_{2}} &=\sum_{(u, i, j) \in O_{2}}-\mathrm{BPR}\left(\left\langle\boldsymbol{u}^{(\operatorname{con})}, \boldsymbol{i}^{(\mathrm{con})}\right\rangle,\left\langle\boldsymbol{u}^{(\mathrm{con})}, \boldsymbol{j}^{(\mathrm{con})}\right\rangle\right) \\L_{\text {conformity }}^{\mathrm{O}_{1}+\mathrm{O}_{2}} &=L_{\text {conformity }}^{O_{1}}+L_{\text {conformity }}^{O_{2}}\end{aligned}

其中<,>表示点积,通过BPR可以衡量三元组的关系,此处的构建方式正是对应于上面的两个case中

M^C

相关的不等式。

兴趣度模型(Interest Modeling)

L_{\text {interest }}^{O_{2}}=\sum_{(u, i, j) \in O_{2}} \operatorname{BPR}\left(\left\langle\boldsymbol{u}^{(\mathrm{int})}, \boldsymbol{i}^{(\mathrm{int})}\right\rangle,\left\langle\boldsymbol{u}^{(\mathrm{int})}, \boldsymbol{j}^{(\mathrm{int})}\right\rangle\right)

兴趣度模型的构建方式根据case2中的

M^I

相关的不等式。

点击率估计模型

L_{\text {click }}^{O_{1}+O_{2}}=\sum_{(u, i, j) \in O} \operatorname{BPR}\left(\left\langle\boldsymbol{u}^{t}, \boldsymbol{i}^{t}\right\rangle,\left\langle\boldsymbol{u}^{t}, \boldsymbol{j}^{t}\right\rangle\right)
\boldsymbol{u}^{t}=\boldsymbol{u}^{(\mathrm{int})}\left\|\boldsymbol{u}^{(\mathrm{con})}, \boldsymbol{i}^{t}=\boldsymbol{i}^{(\mathrm{int})}\right\| \boldsymbol{i}^{(\mathrm{con})}, \boldsymbol{j}^{t}=\boldsymbol{j}^{(\mathrm{int})} \| \boldsymbol{j}^{(\mathrm{con})}

其中

||

表示特征的拼接,损失函数的构造是根据上述case的不等式,将con和int特征拼接后,进行点击预估

分离任务(Discrepancy Task)

分离任务主要的目的是使得两类特征尽量不相关,以此达到因果图中相互独立的条件。因此此处作者尝试了采用L1,L2以及distance correlation(dCor)来衡量两个embedding之间的关系。最小化-L1,-L2,dCor。

三元组采样方式(PNSM)

在正负样本流行度差别较大时,上述不等式就很可能成立,因此作者采用以下采样方式:假设正样本的流行度是p(流行度的计算就是其出现的次数),则在采样负样本时,采样流行度大于p+mup的或者小于p-mdown的。mup和mdown均为设置好的数,表示正样本的边距。通过边距的设置

多任务累积学习

L=L_{\text {click }}^{O_{1}+O_{2}}+\alpha\left(L_{\text {interest }}^{O_{2}}+L_{\text {conformity }}^{O_{1}+O_{2}}\right)+\beta L_{\text {discrepancy }}

损失函数已经比较明显了,结合多个任务,click为主任务,加上超参数控制不同子任务对主任务的影响程度。当mup和mdown较大时,具有较高的置信度来得到上述case中的不等式,因此α的值可以较大。随着训练轮次增加,减小边距mup,mdown,并且逐渐减小α。累积学习方式使得训练得到的DICE更加健壮。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 秋枫学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 方法
    • 难点:
      • 方案:
        • 一致性模型(Conformity Modeling)
          • 兴趣度模型(Interest Modeling)
            • 点击率估计模型
              • 分离任务(Discrepancy Task)
                • 三元组采样方式(PNSM)
                  • 多任务累积学习
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档