这几天我的主要任务是调试和运行之前根据论文《Learning Fair Representations for Recommendation: A Graph-based Perspective》所编写的代码,然后测试该模型的效果并记录。以下分数据集描述、模型评估策略、超参数调整、测试结果记录四个部分来描述我的工作。

数据集描述

MovieLens-1M 是一个推荐系统的基准数据集,这个数据集包括6040个用户对于近4000部电影的近1百万条评分信息。用户具有三个类别型属性,包括性别(2种类别),年龄(7种类别)和职位(21个类别)。效仿之前的基于公平性的推荐系统,我们在测试时按照9:1的比例划分训练集和测试集。
Lastfm-360K是一个音乐推荐数据集,包括了来自音乐网站Last.fm的用户对音乐制作人的评分。这个数据集包括大约36万个用户对29万个音乐制作人的1700万条评分信息。我们将用户播放音乐的次数做为用户的评分值。因为评分的值可能在一个大的范围内,我们先对进行log对数变换,然后将评分规范化到1和5的范围之间。用户有着自己的用户画像,其信息包括性别属性(2种类别)、年龄属性(7种类别)。和许多经典推荐系统的数据划分策略一样,我们将训练集、验证集、测试集划分为7:1:2。

模型评估策略

为了评估推荐系统的表现,我们使用均方根误差(RMSE)。为了有效度量我们算法的公平性。我们计算了20%测试用户的公平性表现。
因为二值型特征(比如性别)在各数据集上都不平衡,有着70%的男性和30%的女性,我们使用AUC度量来度量二分类的表现。对于多值型属性,我们使用micro-averaged F1来测量。
AUC或者F1能够被用于测量是否敏感的性别信息在表示学习的过程中被暴露。这个这个分类的度量值越小,则说明系统的公平性越好,泄露的敏感信息更少。
因为我复现的这篇论文中的模型是“上游模型不可知”的(也就是说为了增强其泛用性,将上游模型看做黑盒模型来处理),并且能够被应用于许多多属性的推荐场景,故我们按照不同的模型评价设定设计了许多测试。
首先,我们选择了目前最先进的(state-of-the-art)图卷积网络(GCN)的推荐模型做为我们的基准模型。因为基于GCN的推荐模型最开始被设计成基于排名的损失函数,我们将其修改为基于评分的损失函数,并在图卷积的过程中添加了更详细的评分值来方便我们的设置。

超参数调整

在实际的模型实现中,我们选择多层感知机(MLP)做为每个过滤器和判别器具体的架构,过滤器的embedding size被设置为(D=64)
对于MovieLens数据集,每个过滤器网络有3层,其中隐藏层的维度分别是128和64。判别器有4层,隐藏层的维度分别是16和8和4。
对于Lastfm-360K数据集,每个过滤器网络有4层,隐藏层维度分别为128,64,32。每个判别器
有4层,隐藏层维度分别是16,8和4。
我们使用LeakyReLU做为激活函数。在MovieLens数据集上将平衡参数(lambda)设置为0.1,在Lastfm-360K数据集上将平衡参数设置为0.2。所有目标函数中的参数都是可微的。我们使用Adam优化器,将初始学习率调整到0.005。

测试结果记录

下面的两张表是我们对模型的测试结果。在测试的过程中,为了简单起见,我们采取了简单的自中心图结构表示,并用一阶加权集成。根据模型的测试结果我们可以看出,GCN模型如果直接考虑敏感信息过滤器会将推荐系统的表现降低5%到10%,因为我们需要排除任何对于打分有用的隐向量维度,但是可能会暴露敏感信息。
在MovieLens-1M数据集上的训练过程如下:

    ga0--train-- 383.52958726882935
    epoch:1 time:383.5  train_loss f:-192.2718 d:19.5616val_loss f:-192.8258 d:19.2919
    val_rmse:0.9045  test_rmse:0.895 
    train data is end
    ga0--train-- 360.9422023296356
    epoch:2 time:360.9  train_loss f:-191.72 d:19.4652val_loss f:-200.0517 d:20.0125
    val_rmse:0.7063  test_rmse:0.6894
    train data is end
    ga0--train-- 363.16574025154114
    epoch:3 time:363.2  train_loss f:-200.8263 d:19.2499val_loss f:-203.8944 d:20.4799
    val_rmse:2.8324  test_rmse:2.8068
    train data is end
    ga0--train-- 355.92360401153564
    epoch:4 time:355.9  train_loss f:-189.3184 d:19.3741val_loss f:-180.7054 d:18.0778
    ga0 clf_age/4
    no model save path
    val_rmse:0.7821  test_rmse:0.7787age f1:0.4683	0.4683 0.4683 0.4683 
    train data is end
    ga0--train-- 356.7487156391144
    epoch:5 time:356.7  train_loss f:-198.0661 d:19.8271val_loss f:-190.4692 d:19.0536
    ga0 clf_age/5
    no model save path
    val_rmse:0.7407  test_rmse:0.7326age f1:0.469	0.469 0.469 0.469 

对于不同的自中心结构的不同摘要网络在数据集MovieLens-1M上的表现,这里的“常数”表示恒定的局部的函数聚集,“可学习的”表示参数可学习的聚集。

敏感属性 RMSE AUC/F1
性别 0.8553 0.8553
年龄 0.8553 0.3948
职业 0.8553 0.1556

在Lastfm-360K数据集上的训练过程如下:

    ga0
    --------training processing-------
    train data is end
    ga0--train-- 380.44703578948975
    epoch:0 time:380.4  train_loss f:-200.3726 d:19.7304val_loss f:-193.2152 d:19.3319
    val_rmse:0.9439  test_rmse:0.9304
    train data is end
    ga0--train-- 383.52958726882935
    epoch:1 time:383.5  train_loss f:-192.2718 d:19.5616val_loss f:-192.8258 d:19.2919
    val_rmse:0.9045  test_rmse:0.895 
    train data is end
    ga0--train-- 360.9422023296356
    epoch:2 time:360.9  train_loss f:-191.72 d:19.4652val_loss f:-200.0517 d:20.0125
    val_rmse:0.7063  test_rmse:0.6894
    train data is end
    ga0--train-- 363.16574025154114
    epoch:3 time:363.2  train_loss f:-200.8263 d:19.2499val_loss f:-203.8944 d:20.4799
    val_rmse:2.8324  test_rmse:2.8068
    train data is end
    ga0--train-- 355.92360401153564
    epoch:4 time:355.9  train_loss f:-189.3184 d:19.3741val_loss f:-180.7054 d:18.0778
    ga0 clf_age/4
    no model save path
    val_rmse:0.7821  test_rmse:0.7787age f1:0.4683	0.4683 0.4683 0.4683 
    train data is end

以下是在Lastfm-360K上的表现。

敏感属性 RMSE AUC/F1
性别 0.7358 0.5642
年龄 0.7358 0.4953

参考文献

  • [1] Wu L, Chen L, Shao P, et al. Learning Fair Representations for Recommendation: A Graph-based Perspective[C]//Proceedings of the Web Conference 2021. 2021: 2198-2208.
内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/lonelyprince7/p/15374094.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!