C/C++教程

www21推荐系统之点击原因分解:用户兴趣和一致性(流行度)Disentangling User Interest and Conformity for Recommendation with Cau

本文主要是介绍www21推荐系统之点击原因分解:用户兴趣和一致性(流行度)Disentangling User Interest and Conformity for Recommendation with Cau,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

在这里插入图片描述

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 M^I MI表示user和item之间的兴趣匹配矩阵, M C M^C MC表示user和item之间的流行度一致性匹配矩阵。相当于将user-item矩阵分成了两个。

case1:负样本b(未点击)的流行度小于正样本a(点击)的流行度
这样的情况可以说明负样本的流行度小于正样本,不过无法说明用户兴趣的相关信息,可以得到以下不等式
M u a C > M u b C M_{ua}^C>M_{ub}^C MuaC​>MubC​
M u a I + M u a C > M u b I + M u b C M_{ua}^I+M_{ua}^C>M_{ub}^I+M_{ub}^C MuaI​+MuaC​>MubI​+MubC​

case2:负样本d的流行度大于正样本c
这样的情况说明即使正样本不是热门样本,也被点击了,说明user对这个item的兴趣很高,可以的达到以下不等式
M u d C > M u c C , M u d I < M u c I M_{ud}^C>M_{uc}^C,M_{ud}^I<M_{uc}^I MudC​>MucC​,MudI​<MucI​
M u c I + M u c C > M u d I + M u d C M_{uc}^I+M_{uc}^C>M_{ud}^I+M_{ud}^C MucI​+MucC​>MudI​+MudC​
根据以上两种情况,可以构建有样本对构成的数据集 O 1 , O 2 O_1,O_2 O1​,O2​分别表示以上两种情况。而这两个数据集可以分别对应一致性和兴趣度。本文构建三元组(u,i,j)分别表示用户,正样本,负样本,然后通过BPR模型进行建模,BPR模型是一个现有的模型,有兴趣的小伙伴可以查阅一下,后续有机会在做介绍。
在这里插入图片描述

一致性模型(Conformity Modeling)

整个DICE框架下, u ( c o n ) , u ( i n t ) , i ( c o n ) , i ( i n t ) , j ( c o n ) , j ( i n t ) u^{(con)},u^{(int)},i^{(con)},i^{(int)},j^{(con)},j^{(int)} u(con),u(int),i(con),i(int),j(con),j(int)分别表示user对应的conformity特征和interest特征,以及item i,j的流行度特征和本身特征,这里item的流行度特征和用户的一致性特征是对应的,因此这里作者为了统一就都用con和int表示了。
L conformity  O 1 = ∑ ( u , i , j ) ∈ O 1 BPR ⁡ ( ⟨ u ( c o n ) , i ( con ⁡ ) ⟩ , ⟨ u ( c o n ) , j ( c o n ) ⟩ ) , L conformity  O 2 = ∑ ( u , i , j ) ∈ O 2 − B P R ( ⟨ u ( con ⁡ ) , i ( c o n ) ⟩ , ⟨ u ( c o n ) , j ( c o n ) ⟩ ) L conformity  O 1 + O 2 = L conformity  O 1 + L conformity  O 2 \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} Lconformity O1​​Lconformity O2​​Lconformity O1​+O2​​​=(u,i,j)∈O1​∑​BPR(⟨u(con),i(con)⟩,⟨u(con),j(con)⟩),=(u,i,j)∈O2​∑​−BPR(⟨u(con),i(con)⟩,⟨u(con),j(con)⟩)=Lconformity O1​​+Lconformity O2​​​
其中<,>表示点积,通过BPR可以衡量三元组的关系,此处的构建方式正是对应于上面的两个case中 M C M^C MC相关的不等式。

兴趣度模型(Interest Modeling)

L interest  O 2 = ∑ ( u , i , j ) ∈ O 2 BPR ⁡ ( ⟨ u ( i n t ) , i ( i n t ) ⟩ , ⟨ u ( i n t ) , j ( i n t ) ⟩ ) 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) Linterest O2​​=(u,i,j)∈O2​∑​BPR(⟨u(int),i(int)⟩,⟨u(int),j(int)⟩)
兴趣度模型的构建方式根据case2中的 M I M^I MI相关的不等式。

点击率估计模型

L click  O 1 + O 2 = ∑ ( u , i , j ) ∈ O BPR ⁡ ( ⟨ u t , i t ⟩ , ⟨ u t , j t ⟩ ) 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) Lclick O1​+O2​​=(u,i,j)∈O∑​BPR(⟨ut,it⟩,⟨ut,jt⟩)
u t = u ( i n t ) ∥ u ( c o n ) , i t = i ( i n t ) ∥ i ( c o n ) , j t = j ( i n t ) ∥ j ( c o n ) \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})} ut=u(int)∥∥∥​u(con),it=i(int)∥∥∥​i(con),jt=j(int)∥j(con)
其中 ∣ ∣ || ∣∣表示特征的拼接,损失函数的构造特使根据上述case的不等式

分离任务(Discrepancy Task)

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

三元组采样方式(PNSM)

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

多任务累积学习

L = L click  O 1 + O 2 + α ( L interest  O 2 + L conformity  O 1 + O 2 ) + β L discrepancy  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 }} L=Lclick O1​+O2​​+α(Linterest O2​​+Lconformity O1​+O2​​)+βLdiscrepancy ​
损失函数已经比较明显了,结合多个任务,click为主任务,加上超参数控制不同子任务对主任务的影响程度。当mup和mdown较大时,具有较高的置信度来得到上述case中的不等式,因此α的值可以较大。随着训练轮次增加,减小边距mup,mdown,并且逐渐减小α。累积学习方式使得训练得到的DICE更加健壮。

这篇关于www21推荐系统之点击原因分解:用户兴趣和一致性(流行度)Disentangling User Interest and Conformity for Recommendation with Cau的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!