CrossCBR的主要工作:
1.用两个视图的表征学习,使用简化BGCN中的图结构的LightGCN:删除U-B和U-I中的self-connections(SC)和bundle-bundle connections(BB)。消融实验证明SC和BB对实验结果没有什么贡献
2.使用三种数据增强的方法:
(1)不增强(OP)
(2)基于图的边删除(ED)
(3)基于嵌入的删除(MD)
实验表明三种方法的结果差别很小,作用不大,今后可以探索更先进、更有效的数据扩充方法
3.对比学习
用两个视图的数据计算loss
即为对比学习中得出的loss(但不是最终loss),消融实验表明
对实验结果影响巨大,去掉
使模型性能下降
还探究了对比学习的loss公式,若使用只扩大跨视图协作(Alignment)的负交叉视图余弦相似度代替,模型性能下降,若只鼓励跨视图离散(Dispersion),即将原来的余弦相似度固定为1,模型性能下降
4.预测和调优
训练后模型对u-b做出预测,公式为
然后使用传统贝叶斯BPR计算
最终的loss值为
其中是自定义参数,
应用在optimizer的weight_decay中
在实际运行计算loss时,先计算,然后反向传播计算梯度,再使用optimizer.step()用
修正