问题:推荐模型基于观测交互数据,流行项目的从众混合了用户真正兴趣。
一致性取决于用户和项目:(用户和项目关系)
一个用户对不同项目的一致性不同,不同用户对一个项目的一致性也不同。
因此,现有算法采用的用户或项目的标量偏差项是不够的。
第二,学习分离表征本质上是困难的,特别是当只有观测交互数据可用时。(分离表征本质)
换句话说,我们只能了解结果,而不能了解原因,因为兴趣和一致性没有标记的基本真理价值。
第三,点击交互可能来自一个或两个兴趣和一致性原因。(多兴趣)
因此,需要仔细设计,以综合和平衡这两个原因。
分析优点:
(1)(第二个图,解释分离潜在因素,加强泛化能力)
推荐系统的反馈回路。
用户根据用户意图与模型交互,并利用用户交互数据对模型进行训练。
模型推荐项目给用户,用户交互反馈给模型
用户意图
非IID环境下的形状识别:
(IID:培训数据和测试数据不独立且分布相同)
模型可以根据训练数据中的大小或颜色预测形状,因为矩形是蓝色和大的,三角形是绿色和小的,圆圈是橙色和中等大小。
然而,在测试数据中的非IID情况下,颜色和大小与训练数据不同,因此在本例中,只有解开潜在因素的模型才能存活。
解释:
因为矩形是蓝色和大的,三角形是绿色和小的,圆圈是橙色和中等大小。因此,模型可以根据颜色或大小而不是轮廓预测形状。
(2)(分解潜在原因,每个推荐分数被分解为兴趣分数和一致性分数的集合)
(a)兴趣和一致性与点击交互形成因果图
(b)因果嵌入:
差异损失:兴趣嵌入和一致性嵌入
单独的嵌入,因此每个用户或项目有两个嵌入
多任务课程学习,使用特定于原因的数据来训练不同的嵌入,并添加直接解纠缠监督,强制每个嵌入只捕获一个原因。
在IID基础上能否进行非IID适应训练
在IID情况下,模型没有必要区分用户的兴趣和一致性,因此模型倾向于根据其受欢迎程度值推荐项目,因为它们的训练实例较多。
定义问题:用户兴趣和一致性的分离问题。
假设数据集O由N个实例 (u,i,p)组成,p是项目i的欢迎度(可以是,项目i的交互次数),
分配p 作为一致性分布的代表。
首先构造干涉测试集O(test)和正常训练集O(train)
构造D^(O(test) p) ,
项目流行度的分布p在测试集中,不同于在训练集D^(O(train) p)中 .
目标是在O(test)上最大化推荐性能R,如召回和NDCG
训练模型在O(train) 而不是在非IID的O(test)
输入:交互数据O,分割为O(train)和O(test) ,以及在流行度分布上具有非IID条件O(train)和O(test)
输出:一种预测模型,该模型用于估计用户是否会在考虑兴趣和一致性的情况下单击某个项目。
选用分布近似的数据来进行训练,用分布差异大的数据来测试。
DICE
组成:
因果嵌入:建议使用单独的嵌入,而不是针对兴趣和一致性的标量值,以解决一致性变化的问题。
解构表征学习:为了学习兴趣和一致性的解构表征,将训练数据划分为原因特定的部分,并使用原因特定的数据训练不同的嵌入。
增加了对嵌入分布的直接监督,以加强分离。
多任务课程学习:制定了由易到难的培训策略,并利用课程学习来聚合和平衡兴趣和整合。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
因果嵌入
交互数据:
用户在项目上的点击记录主要反映两个方面:
(1)用户对项目特征的兴趣(兴趣)
(2)用户对项目受欢迎程度的一致性。(一致性)
单击可以来自这两个方面中的一个或两个。
我们提出了一个附加模型来描述如何从兴趣和一致性生成每个点击记录。
形式上,给定用户的匹配分数u 及项目i 其结果如下:
Sui表示整体匹配分数,Sui(interest)和Sui(conformity)分别代表各方面的分数
此处用加法模型,用于分割,摆脱纠缠性。
乘法模型,该模型将点击概率分解为曝光概率的乘积和给定曝光的条件点击概率,仍然没有摆脱纠缠性
SCM和因果图关于点击、兴趣和一致性
基于(a)提出DICE框架中SCM,, 𝜁DICE
(表示兴趣、一致性和单击的因果关系)
𝑁𝑖𝑛𝑡, 𝑁𝑐𝑜𝑛 和 𝑁𝑐𝑙𝑖𝑐k为独立噪音
我没有在代码中找到独立噪音,但是在对应int和con变量函数中找到存在的mask
我认为内部mask只是标记(称呼为标签吧),而不是噪音
SCM 𝜁DICE表示兴趣、一致性和单击的因果关系
𝑓1, 𝑓2 𝑓3分别是兴趣𝑋𝑖𝑛𝑡的潜在因果机制,一致性𝑋𝑐𝑜𝑛的潜在因果机制,点击𝑌𝑐𝑙𝑖𝑐k
因果机制是通过在给定的函数族(如深层神经网络)内进行优化来确定的。
虑用户一致性的干预时,我们使用预先指定的值简单地替换𝑋𝑐𝑜𝑛(𝑢i)
SCM 𝜁DICE 在公式(2)解释了从原因(兴趣和一致性)产生影响(点击)的逻辑因素
但是𝑓1, 𝑓2 𝑓3待定。
将嵌入分离为兴趣和一致性:
采用两组嵌入来分别捕获兴趣和一致性
(标量值不足以捕获用户一致性的多样性)
每个用户:
一个兴趣爱好:𝒖(int)
一个一致性嵌入: 𝒖(con)
每个项目:
兴趣爱好针对原因:𝒊(int)
一致性嵌入针对原因:𝒊(con)
采用内积来计算两个原因的匹配分数,基于(1)式进行相加,来估计用户是否会单击某个项目的总体分数。
用户的推荐分数𝒖 及项目𝒊其表述如下:
⟨·, ·⟩指两个嵌入项的内积,(b)展示了兴趣嵌入和一致性嵌入的分离设计。
从SCM来看我们限制𝑓1和 𝑓2作为两组可学习嵌入之间的内积,实践上,优化是在两个高维空间,而不是我们直观看到的在一维空间寻找标量,用户一致性的多样性可以在所提出的DICE框架中自动捕获。
解构表征学习
分解为四个模块:
一致性建模、兴趣建模、估计点击量和额外的差异任务。
(1)挖掘特定原因的数据:
兴趣嵌入和一致性嵌入分离意味着,每个嵌入只捕获一个因素,将得到的第二个因素给予另一方。
使用特定原因的数据来训练不同的嵌入,但是(1)中我们只能得到结果而无法达到分离的效果(结果对于原因是不唯一的)
定义:𝑀I表示所有用户和项目的兴趣匹配分数矩阵
𝑀C一致性匹配分数
且两者均在R(M*N)
M 及N 是用户和项目的数量
因果图(a)中,三个节点构成了一个不道德行为,click是兴趣和一致性的碰撞器
碰撞器的两个原因是自变量。然而,如果我们在对撞机上设置条件,这两个原因就会相互关联,我们称之为碰撞效应。
例如,一个人是否受欢迎取决于他的外表和脾气。
外观和气质通常是独立的,流行是外观和气质的碰撞(外观→ 人气← 脾气)。
如果一个受欢迎的男人长得不好看,那么他很可能脾气好。
同样,一个不受欢迎但长得好看的男人很可能脾气暴躁。
因此,在我们分离兴趣和整合的任务中,可以利用碰撞效应来获得主要由一个原因导致的样本。
总之,
强调:𝑀I和𝑀C
1.消极项目不如积极项目受欢迎。
如果用户𝒖 单击一个受欢迎的项目a, 而不单击不受欢迎的项目b, 然后我们不确定用户是否对a 强于b, 因为用户对流行物品有一致性。
换句话说,点击可能来自第二个原因(一致性)。
d但是,我们也可以有把握地得出结论,这两个原因的总得分a 大于b. 因此,在这种情况下,我们有两个不等式:
2.消极项目比积极项目更受欢迎。
但是,如果用户单击不受欢迎的项目c, 而不单击流行项目d, 那么碰撞效应可以带来更多的信息。
因为c 它的受欢迎程度不如d 作为合规性的合理代表,点击c 主要是由于用户的兴趣。
因此,在这种情况下,我们有三个不平等,与前一种情况相比,在利息方面有一个额外的不平等:
我们使用O表示所有训练实例,它分为O1和O2。
O1决定了消极性样本不如积极样本受欢迎的情况,而O2决定了相反的情况。
相应地,O1包含案例1中(4)的不等式成立的数据,因此O1可用于学习一致性和单击。O2包含适合案例2的数据,因此可以利用它来学习兴趣、一致性和点击。
=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
通过将一个等式推广到多个不等式,我们将问题从学习绝对值转化为学习相对关系,从而使兴趣和一致性分离的任务得以解决。
具体地说,基于这些导出的不等式,我们获得了主要由一个特定原因引起的用户项交互,并利用这些交互来优化相应的嵌入。
以著名的推荐矩阵分解算法为例,通常我们优化一个用户嵌入矩阵和一个项目嵌入矩阵来最好地回归原始交互矩阵,比如𝑀𝑐𝑙𝑖𝑐k.
这种经典方法将所有可能的原因统一为一个用户或项目的捆绑表示,因此不同的原因相互纠缠,导致非IID环境下的鲁棒性和可解释性较差,这在推荐系统中非常常见。
此外,像IPS这样的debias算法不能完全解决这个问题,因为它们仍然采用统一的表示。
=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
与现有方法相比,我们首先分解原始的点击矩阵𝑀𝑐𝑙𝑖𝑐k分为两个特定原因矩阵,𝑀I和𝑀C, 分别为兴趣和一致性。
然后采用两组嵌入,分别捕获兴趣和一致性,并进一步组合以回归点击。因此,不同的原因被解开,从而在干预下获得更好的稳健性。我们现在介绍我们的因果学习方法。
=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
利用原因特定数据O1和O2,可以分别对兴趣和一致性进行建模。
同时,我们建议结合这两个原因来估计点击行为,这是推荐的主要任务。
此外,我们还增加了差异任务,以使两组嵌入相互独立,从而增强了解纠缠。
因此,我们将兴趣与整合问题分解为四个任务,即整合建模、兴趣建模、点击估计和差异任务。
我们利用BPR对(4)和(5)中的成对数量关系进行建模。
每个正样本与一定数量的负样本配对,每个训练实例是一个三元组(𝑢,𝑖, 𝑗) 包含用户ID、阳性项目ID和阴性项目ID。现在我们依次介绍这四个任务。
=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
一致性模型:
对于O1和O2中的实例,我们有一致性建模的不等式,这些不等式是𝑀C.
请注意,在这两种情况下,不等式的方向是不同的。
注意:上文中提到,O1和O2的对应消极与积极因素,对于一致性适性不同,故而相反
我们使用这些一致性特定的数据来优化一致性性嵌入。
利用BPR损失函数进行回归分析𝑀C具有一致性嵌入。
因此,一致性建模的损失函数公式如下:
兴趣建模:
在O2中,消极的项目比积极的项目更受欢迎,这些交互主要是由于用户的兴趣。
这些数据是特定于兴趣的,我们有兴趣建模的不等式。
我们还使用BPR优化兴趣嵌入来学习这种成对偏好,以便回归𝑀I. 损失函数仅在O2中的情况下生效:
估算点击量:
这是推荐系统的主要目标,我们结合了(3)中介绍的两个原因来估算点击量,并使用了一个简明的加法模型。
BPR损失考虑用户物品交互中的可观察项和不可观察项的相对顺序,BPR假定更能反映出用户偏好的可观察项的交互相较于那些不可观察项来说应该赋予高的预测值
对于训练集O中的每一个实例,即O1和O2的结合,我们使用BPR来最大化积极项目和消极项目得分之间的差值,以便回归𝑀𝑐𝑙𝑖𝑐k. 因此,点击估算的损失函数公式如下:
𝒖𝑡, 𝒊𝑡和 𝒋𝑡是用户和项目的兴趣嵌入和一致性嵌入的串联:
论文代码中串联:表示加法
∥ 表示两个嵌入的串联。为了简单起见,我们在这里使用串联形式,这相当于(3)中的求和形式。
BPR损失推送积极项目的推荐分数𝒊 高于负项 𝒋.
兴趣建模和一致性建模通过使用不同的原因特定数据训练不同的嵌入来区分这两个原因。
同时,估算点击量的主要任务也加强了这种作为约束的分离。
例如,就培训实例而言 (𝑢,𝑖, 𝑗) 负项在 𝒋 它比正面的东西𝒊更受欢迎 , 兴趣建模任务强制两组嵌入来了解该用户𝒖对𝒊兴趣 大于 𝒋, 整合建模任务迫使他们了解该用户𝒖对项目的一致性 𝒊少于𝒋.
同时,估算点击量迫使他们了解到,总体实力𝒊大于𝒋.
因此,模型真正学到的𝒊的优势超过𝒋. 就一致性而言,一致性的劣势占主导地位,通过一次嵌入只捕获一个原因可以最好地了解这一点。
差异任务:
除了上述三项任务,即通过使用特定原因的数据优化不同的嵌入来分离兴趣和整合之外,我们还对嵌入分布进行直接监督,以加强这种分离。
设:E(int)和 E(con)表示所有用户和项目的两组嵌入,
三个候选差异损失函数:
L1-inv, L2-inv以及距离相关(dCor)
L1-inv, L2-inv分别最大化E(int)和E(con)之间的L1和L2距离。
从高层来看,dCor是一个更合理的选择,因为它关注兴趣嵌入和一致性嵌入之间成对距离的相关性。
差异损失函数的三个选项是:
(b)说明了四个分解的任务,它们使用分离的嵌入实现兴趣和一致性。
通过使用特定于原因的数据训练不同的嵌入,并对嵌入分布施加直接监督,解决了第二个大问题。
代码中,dcor对应x和y组合情况均有,而且注意,不是三个损失函数均用,而是三选一
注意:差异分离的是E(int)和 E(con)表示所有用户和项目的两组嵌入
Pearson相关系数(Pearson Correlation Coefficient)是用来衡量两个数据集合是否在一条线上面,它用来衡量定距变量间的线性关系。
定距变量也称间距变量,是取值具有"距离”特征的变量。统计学依据数据的[计量尺度]
多任务课程学习
通过多任务课程学习来聚合兴趣和整合,通过上述四项任务同时训练因果嵌入,并将这些损失函数结合在一起:
由于估算点击量是推荐的主要任务,α及在β 直觉值应小于1。
同时,差异任务直接影响嵌入的分布,因此太大的β 将对兴趣和一致性建模产生负面影响。
上述可知,当负样本少于或多于正样本时,我们分别得到两个或三个不等式。
请注意,当受欢迎程度差距足够大时,这些不等式很可能成立。
因此,我们开发了基于流行度的边际负抽样(PNSM)来保证这些数量关系。
具体来说,如果积极性样本的受欢迎程度𝑝, 然后,我们将从受欢迎程度大于𝑝 + 𝑚𝑢𝑝, 或低于𝑝 − 𝑚𝑑𝑜𝑤n,
𝑚𝑢𝑝 和 𝑚𝑑𝑜𝑤n是正的边距值。
通过对具有人气边际的负项进行抽样,我们对因果模型获得了较高的置信度。
后来的实验表明,基于流行度的带边界的负采样对于学习分离和鲁棒表示至关重要。
受课程学习的启发,我们在训练DICE时采用了由易到难的策略,增加了边距值和损失权重的衰减。
具体来说,当边距值𝑚𝑢𝑝 和 𝑚𝑑𝑜𝑤n如果是大的,我们对兴趣和一致性建模的不等式有很高的信心,这意味着任务更容易,对于𝐿interest 和 𝐿conformity,我们设置了很高的损失权重α ,当我们训练模型时,我们通过衰减边际值和损失权重来增加难度α, 在每一个历元之后增加0.9倍。
通过课程学习,提出的方法对高置信度样本学习更强的解纠缠。
此外,这种自适应设计也使得该方法对超参数的初始值不敏感。
我们将在实验中比较课程学习和正常学习的表现。兴趣和一致性通过多任务课程学习优雅地聚合在一起,因此解决了最后一个挑战。
margin,是CSS语法,这个简写属性用于在一个声明中设置所有当前或者指定元素所有外边距的宽度,或者设置各边上外边距的宽度。
要介绍margin的基础知识,我们不可回避地要谈到css盒子模型(Box Model),一般而言,css盒子模型是用来设计和布局的。
它本质上是一个盒子,包括:
外边距(margin)、边框(border)、内边距(padding)以及最中间的内容(content)。
下图即为盒子模型(这里只谈W3C规范的标准盒模型,而不谈IE5和IE6在怪异模式中使用的非标准的盒子模型):
我们要介绍的margin在最外层,因为margin(外边距)一定是透明的,所以它可以用来使得不同的盒子之间留有一定的间隙从而达到布局美观等效果。
从上面的盒子模型中我们可以看到,margin在四周均存在,我们可以使用margin-top、margin-right、margin-bottom、margin-left分别设置这四个方向的margin值。
正边距:以相邻模块的位置为参考点进行移动,并对周围模块进行合理地排挤。
负边距:即margin的四个边界值为负值。
负采样的本质:每次让一个训练样本只更新部分权重,其他权重全部固定;减少计算量;(一定程度上还可以增加随机性)
负样本少于或多于正样本,会分别得到多个不等式,而差距足够大才可以使得等式成立。
设定上下边距值,在下边距下方和上边距上方取值,提高置信度
多课程学习:增加了边距值和损失权重的衰减,以此来增加难度
边距值大则更容易训练,所以每个批次α乘以0.9,减小权重从而增大边距影响
数据集;
实验
1.与最先进的因果推荐方法相比,我们提出的DICE框架在非IID情况下表现如何?
(1)数据集指标上
在Moveilens-10M数据集,使用MF作为主干,提高了15%以上NDCG@50
在Netflix数据集,使用GCN作为主干,提高了20%以上Recall@20
(2)与各种模型的结合性能好
(3)纠缠因果模型在不同的数据集和度量上不稳定
IPS-CN在Movielens-10M数据集上的性能排名第二,但在使用MF作为推荐模型的Netflix数据集上却没有做出改进
此外,IPS-CNSR在以MF作为推荐模型的Netflix数据集上的NDCG方面取得了不错的性能,但就另一个指标HR而言,它甚至比无(无因果模型)更差。
是否有必要用嵌入替换标量偏差项?
我们将DICE与MF和GCN上的BIASU(为每个用户添加标量偏差项)、bias-I(为每个项目添加标量偏差项)和bias-UI(为每个用户和项目添加标量偏差项)进行比较。
在两个数据集上使用嵌入和使用标量之间的比较
2.提议的DICE框架能否保证可解释性和健壮性?
可解释性:
下图(a)说明了Movielens10M数据集上的结果。
我们观察到,使用一致性嵌入极大地模拟了ItemPop算法,当TopK大于40时,重叠项甚至超过50%。
与其他基线(如IOU小于20的IPS和CausE)相比,DICE con与ItemPop更为相似,这验证了一致性嵌入确实捕获了所需的原因。
DICE con的IOU值大约为0.5,这表明用户倾向于确认流行项目,但不同的用户在一致性方面有自己的差异。如果所有用户对流行项目的一致性相同,IOU值将接近1。
另一方面,DICE int和ItemPop之间几乎没有重叠项目,证明一致性信息几乎完全从兴趣嵌入中挤出。
因此,可以根据相应的嵌入对兴趣和一致性进行解释。
下图(b)显示了两个数据集上的学习项目嵌入,其中十字表示兴趣嵌入,点表示一致性嵌入。
通过特殊的因果学习设计和对解纠缠的直接监督,两组嵌入彼此相距很远,由线性分类器(图中的红线)分隔。
此外,我们根据受欢迎程度将所有项目分为三组,即受欢迎、正常和不受欢迎。
在图(b)中,不同组的项目被涂成不同的颜色。
我们观察到一致性嵌入是根据项目流行度分层的,其中相似流行度的项目在嵌入空间中很近。
请注意,如果我们使用标量值,三组的项目将在一条直线上形成三段,这不足以捕获一致性的多样性。
(a) 与ItemPop重叠的项。较大的IOU意味着推荐结果更类似于推荐热门项目的ItemPop
(b) Movielens-10M和Netflix数据集上骰子嵌入学习项目的可视化。
兴趣嵌入用十字表示,一致性嵌入用点表示。
鲁棒性:
将概率限制为0.9,以避免测试集中有太多冷启动项,这控制了干预的强度。使用较低的封顶值,我们施加的干预较弱,因此用户更可能接触到流行项目。相反,上限值越大,干预力度越大,不同项目的推荐机会越均等。因此,它提供了一种优雅的方法来评估推荐系统在不同干预水平下的鲁棒性,只需改变上限值即可。
图6显示了DICE和IPS-CNSR的结果。我们比较了这两种方法的性能,封顶值分别为0.5、0.7和0.9。这三种情况代表了对用户一致性的不同干预,因为当封顶值为0.5时,用户更可能遵从流行项目,因为流行项目的暴露概率更大,当上限值为0.9时,他们倾向于根据自己的实际兴趣进行交互,因为项目几乎是以随机方式暴露的。图6中的结果表明,建议的DICE框架始终优于IPS-CNSR
3.拟议方法中每个组成部分的作用是什么?包括负抽样、一致性建模、课程学习和差异损失
负面抽样的影响:采用基于流行度的边际负抽样(PNSM)来获得因果模型的高置信度当负项和正项之间的受欢迎程度差距足够大时,这些关于兴趣和一致性的不等式很可能成立。
对比阳性项目更受欢迎或不受欢迎的项目进行抽样。我们要求人气差距大于边际值。
Movielens-10M数据集的结果。
我们观察到,基于受欢迎程度的带边际的负抽样显著优于随机负抽样。
具体而言,PNSM的召回率和NDCG优于随机,改善率超过20%。
PNSM还可以提高命中率Ratio@20击中Ratio@50超过10%。
PNSM和随机抽样的结果证实,在所提出的框架中,抽样具有较大流行度的负面项目是至关重要的。
这是合理的,因为提出的因果学习方法依赖于因果模型1中导出的不等式,当负项明显多于或少于正项时,这些不等式很可能成立。
整合建模的影响:
DICE中一致性建模的效果。具体来说,我们删除了DICE中的一致性建模任务,并将其与完整版本的DICE进行比较。
推荐性能并没有显著降低,但是,删除一致性建模任务确实会影响所学习的嵌入。
嵌入是根据项目流行度分层的,相似流行度的项目在嵌入空间中很近。
然而,当我们删除一致性建模任务时,一致性嵌入的分布变得混乱,并且在所有组中都有更多的异常值。
具体来说,流行项和普通项在嵌入空间中往往会相互重叠。
同时,也有一小部分正常项目位于不受欢迎的项目层。
确认DICE中的一致性建模任务对学习高质量可解释表示的影响
课程学习的影响:
这些超参数包括损失权重α 和负采样裕度值𝑚𝑢𝑝和𝑚𝑑𝑜𝑤n. 当我们训练因果嵌入时,我们将这些超参数衰减0.9倍以增加难度。
在实验中,我们用不同的值初始化这些超参数,并考察课程学习的效果。
当我们训练因果嵌入时,我们将这些超参数衰减0.9倍以增加难度。在实验中,我们用不同的值初始化这些超参数,并考察课程学习的效果.
我们可以观察到,课程学习始终优于正常情况。同时,由于易硬衰减策略,课程学习对初始值不敏感,而没有自适应超参数的正常训练不像课程学习那样稳定,表现普遍下降
差异损失的影响:
我们提供三种差异损失选项,L1 inv、L2 inv和DCOR。
我们在两个有两个主干的数据集上检查这三个候选者。
总体而言,dCor的性能优于L1 inv和L2 inv,改进幅度超过2%。
然而,dCor依赖于繁重的矩阵计算,这比L1 inv和L2-inv要耗时得多。
具体而言,使用dCor(每个历元约100秒)作为差异损失进行训练比L1 inv和L2 inv(每个片段约44秒)慢得多,这意味着L1 inv和L2 inv可能更适合大规模应用。
4.插入训练集中的干预数据有什么影响?当没有干预训练数据可用时,DICE的表现如何?
所有算法都是使用大量正常数据(60%)和少量干预数据(10%)进行训练的。
添加额外的干预数据不仅是某些基线方法(CausE)的硬要求,而且还降低了因果学习的难度。
干预数据往往过于昂贵。G随机推荐策略会极大地破坏用户体验。
我们改变干预训练数据的比例时,不同的算法如何执行,并且我们还包括最具挑战性的任务,即不使用任何干预数据进行训练。
当我们向训练集中添加更多的干预数据时,所有的方法都得到了改进,因为它允许模型访问更类似于测试用例的干预信息。同时,提出的DICE框架在0%到20%的所有情况下都实现了对基线的显著改进。即使没有干预数据,提议的DICE框架仍然可以分离兴趣和一致性,并且显著优于其他基线。请注意,由于原因需要干预的培训数据,因此0%的原因没有结果。
数据处理:
以相同的项目概率随机抽取40%的记录,其余60%作为培训数据。换句话说,项目的抽样概率与流行程度成反比
受欢迎的项目选择较少。
将概率限制为0.9,以限制训练集中未显示的项目数量
得到训练集(60%正常,20%干预)、验证集(10%干预)和测试集(20%干预)的7:1:2分割
测试数据中的一致性不同于训练数据中的一致性,因为用户可以以相同的概率访问测试数据中的所有项目,而不是在训练数据中看到更流行的项目.
为了证明训练数据和测试数据是非IID的,我们计算每个项目的交互次数并计算熵,因此熵值越大表明不同项目暴露给用户的概率越大。
使用BPR-MF和LightGCN,这两种都是最先进的推荐模型.
基于IPS的模型的实验设置,我们将嵌入大小固定为128。
对于原因和DICE,嵌入大小固定为64,因为它们包含两组嵌入。
α为0.1 β为0.01
使用BPR作为所有基线的损失函数。我们使用Adam进行优化。
IPS通过根据项目流行度重新加权每个实例来消除流行度偏差。
具体来说,实例的权重设置为相应项目流行度值的倒数,因此流行项目的权重较低,而长尾项目的重要性则提高IPS-C。
大量的实验来评估DICE的性能。
我们将其与非IID情况下的最新基线方法进行比较,DICE的性能优于其他方法,并有显著的改进。
我们强调,使用嵌入而不是标量来充分捕获用户一致性的变化是至关重要的,这一点也被针对有偏MF和有偏GCN的实验所证明。
与纠缠算法相比,解纠缠算法具有可解释性和鲁棒性,我们进一步进行了实验,以证明DICE确实提供了可解释的结果,并保证了在干预下的鲁棒性。
此外,我们还进行了消融研究,以调查消极抽样、从众建模和课程学习的作用。
最后,我们还研究了干预训练数据的比例和不同选项对差异损失的影响。
IOU评价预测
NDCG搜索评价指标
Recall召回率查出来的正确的数量除以所有正确的数量
DICE对于分割的评价标准
本论文选用pytorch运行附上部分pytorch函数功能
(在功能实现上,有不少其实和tensorflow相差不大,可结合tensorflow来理解)
pytorch.cat()函数目的: 在给定维度上对输入的张量序列seq 进行连接操作
pytorch.stack()沿着一个新维度对输入张量序列进行连接。 序列中所有的张量都应该为相同形状
pytorch.norm()返回所给tensor的矩阵范数或向量范数
pytorch.mean()函数的参数:dim=0,按列求平均值,返回的形状是(1,列数);dim=1,按行求平均值,返回的形状是(行数,1),默认不设置dim的时候,返回的是所有元素的平均值。
pytorch.unique()的功能类似于数学中的集合,就是挑出向量中的独立不重复元素。
pytorch.sum()对输入的tensor数据的某一维度求和
pytorch.norm()返回所给tensor的矩阵范数或向量范数
参考:https://blog.csdn.net/jiaoaodechunlv/article/details/80655592
参考:https://www.cnblogs.com/zhuzhenwei918/p/6124263.html