Page 217 - 《软件学报》2026年第2期
P. 217

696                                                        软件学报  2026  年第  37  卷第  2  期


                 和物品表示, 它是通过随机扰动的方式获取自监督信息, 并使用对比损失最大化正样本之间的相似度, 最小化负样
                 本之间的相似度. 从图       2  的实验结果可以发现, 当去掉对比损失时, 推荐性能有所下降, 在                Epinions 数据集、Yelp
                 数据集以及    Ciao  数据集下, 当去掉物品视角时, 根据消融实验结果, 各项评价指标都在下降, 在                     Epinions 数据集
                 下, Precision、Recall、F1、NDCG  指标相对降低比例分别为         8.9%、10.5%、9.2%、11.2%; 在  Yelp  数据集下,
                 Precision、Recall、F1、NDCG  指标相对降低比例分别为       5.9%、6.8%、6.2%、8.0%; 在  Ciao 数据集下, Precision、
                 Recall、F1、NDCG  指标相对降低比例分别为         14.8%、15.1%、1.9%、23.1%. 这也说明了对比损失对提升推荐性
                 能的有效性.
                    由图  2  的实验结果以及各项评价指标的相对降低比例可以看出, 无论去掉哪个模块都会导致推荐性能下降,
                 但是从中可以看出去掉物品视角, 推荐性能下降最为明显, 因此在用户-物品交互图以及社交网络图的基础上加入
                 物品类别关系图, 并且使用多视图共同训练的方式生成自监督信号, 通过不断降低推荐损失和对比损失从而不断
                 更新用户、物品表示, 可以显著提高推荐性能.
                  3.7   参数灵敏度分析  (RQ3)
                    在本节中, 为了验证模型中重要超参数对推荐性能的灵敏度, 我们在一定范围内调整损失函数权重                                 λ 和温度
                 参数  τ, 观察推荐结果的变化情况.
                    对于超参数损失函数权重          λ, 根据经验, 我们在一个小的取值范围内寻找适当的值, 将其取值设置为{0.001,
                 0.002, 0.003, 0.005, 0.007, 0.008, 0.01}. 首先提出的推荐模型中, 损失包括  3  部分: 推荐损失、用户视角对比损失、
                 物品视角对比损失, 由于损失函数通过梯度更新, 反向传播机制可以更新用户、物品的表示, 并且对比损失函数在
                 一定程度上可以使得模型的训练趋于平滑, 因此对比损失在整体模型中起着重要的作用. 实验结果如图                                   3  所示.
                 在  Epinions 数据集上, 随着  λ 的增加, 该模型的性能逐渐提升, 当         λ 取值为  0.002  时各项评价指标值达到了峰值,
                 说明  0.002  是在该数据集上的拐点, 拐点之后, 评价指标先缓缓降低, 然后呈现稳步上升趋势, 但是我们经过实验
                 验证, 总体来说, 每项指标值不会大于          0.002  时的推荐效果, 说明当    λ 值为  0.002  时, 对比损失函数对模型训练质量
                 达到最优点. 在    Yelp  数据集上, 从指标结果的变化可以看出, 当          λ 取值为   0.001, 0.002  时效果最好, 随着  λ 值的增
                 大, 每项指标都有下降趋势, 当        λ 取值为  0.008  时, 推荐性能达到最低, 大于这个值后会有回升趋势, 但是随着               λ 值
                 增大整体推荐效果不理想, 这说明          Yelp  数据集中样本的类别分配比较均衡, 较小的            λ 值对比损失函数就达到最优.
                 在  Ciao  数据集上可以很明显地看出, 指标结果的变化当             λ 取值为  0.003  时效果最好, 当  λ 取值大于  0.003  时, 各项
                 指标结果逐渐降低, 同时表明推荐性能逐渐降低, 说明                0.003  是在该数据集上的拐点, 当取此值时, 模型推荐性能
                 达到最好. 在这    3  个公开数据集上可以看出, 随着        λ 值的增大, 训练结果都会出现峰值, 然后趋于收敛, 因此合理地
                 调整损失函数权重对整体模型训练效果起着重要的作用.
                    接下来研究温度参数对模型性能的影响, 实验结果如图                   4  所示. 这里, 我们将温度参数      τ 的取值分别设置为
                 {0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.7, 1.0}. 从图  4  可以看出在  Epinions 数据集上, 模型性能变化对参数  τ 比较敏感, 性能
                 波动比较大, 当取值为       0.1  时, 模型性能最好. 随着   τ 的增大, 评价指标逐渐降低, 意味着在          Epinions 数据集上  τ 的
                 值越大, 对比损失函数对负样本的区分度会变低, 从而推荐性能降低. 当取值为                         0.5  时, 模型性能最低, 当大于
                 0.5  时, 性能有稳步提升, 并达到均匀的变化趋势, 说明温度参数设置的越大, 对比损失对负样本的感知程度发挥不
                 了自身的作用. 在      Yelp  数据集上, 可以看出模型在       τ 的取值范围内整体变化比较平稳, 当温度参数                τ 取值为
                 0.2  时, 模型效果达到最好. 说明     τ 取值  0.2  时, 在对比损失中对负样本的感知程度最大. 随着           τ 值的增大, 逐步呈稳
                 定趋势, 说明在    Yelp  数据集上, 温度参数    τ 值越大对比损失函数对数据集中的负样本感知程度越低, 从而模型的
                 推荐性能越小. 在     Ciao  数据集上, 可以看出模型推荐性能在           τ 取值范围内波动比较明显, 当温度参数             τ 取值为
                 0.5  时, Precision、F1  和  NDCG  指标达到最大, 当温度参数  τ 取值为  0.4  时, Recall 指标达到最大, 因此说明模型性
                 能在温度参数取值为       0.4、0.5  时, 对负样本的感知程度达到最大. 而通过在           Epinions 数据集和  Yelp  数据集上的实
                 验结果对比, 可以看出由于        Epinions 整体数据集量比    Yelp  数据集量大, 当温度参数取值较小时, 模型对负样本的
                 感知程度才会变大, 才能达到好的推荐效果, 但是温度参数                 τ 的值不能设置太小, 因为在本文研究中我们本身要根
   212   213   214   215   216   217   218   219   220   221   222