system: [SYSTEM]

user: 4. 实验 4.1. 数据集 我们使用MovieLens (ML)和FilmTrust (FT)数据集用于评估我们的算法。MovieLens数据集包含943个用户，1682个电影和100000个评分记录。规模为1 (差)至5 (优)。MovieLens数据集被用在很多研究 项目中。这个数据集的稀疏性约93.7% ( )。 我们通过FilmTrust创建了第二个数据集。检索的数据集包含1592位用户，1930电影和28645评级， 规模为1 (差)到10 (优)。此数据集的稀疏度约为99.06% ( )。 4.2. 评价指标 我们在本文中的具体任务是预测已经被实际用户评分的项目的分数，并且检查该预测如何有助于用户选择高质量项目。考虑到这一点，我们使用平均绝对误差(MAE)。 MAE测量推荐系统的预测评级和用户分配的真实评级之间的平均绝对偏差。其计算如下： 其中 和 分别是等级的预测值和实际值，N是已经评分的项目的总数。对于MovieLens数据集，如果用户对其评分为4分或更高，则认为该项目很好，否则为差 [ 6 ] 。类似地，对于FilmTrust数据集，如果用户对其评分为7分或更高，则认为项目良好，否则为差。 此外，我们使用覆盖度来衡量推荐系统可以推荐多少项目。我们随机选择每个用户的20%评级作为测试集，并使用剩余的80%作为训练集。我们将训练集进一步细分为测试集和用于测量参数灵敏度的训练集。为了学习参数，我们通过随机选择在80%的训练集上进行5重交叉验证，每次随机选择不同的测试和训练集合，并取结果的平均值。 我们将我们的算法与几种不同的算法进行比较：使用皮尔逊相似性的基于用户的协同过滤，基于项目的协同过滤使用修正的余弦相似度，朴素贝叶斯分类方法使用项目特征信息，用于生成推荐的朴素混合方法，用于进行概率推荐的个性诊断算法 [ 7 ] 。此外，我们调整了所有算法的参数。 4.3. 正选择邻居大小的最优值(k) 我们将活动用户的邻居数目从0改到100，并计算 ， ， 的相应MAE。结果如图1所示： 图1. 确定邻域大小的最优值k 图1表示对于MovieLens数据集的MAE对于k = 20是最小的。所以对于进一步的实验，我们选择邻域大小为20。 4.4. 学习参数的最优值(α， β， γ) 通过产生参数值的所有可能组合产生36个参数集，范围从0.1到1.0，差值为0.1。表2给出了所学习的参数集的样本。参数设置α = 0.5，β = 0.3，γ = 0.2，α = 0.7，β = 0.2，γ = 0.1分别在MovieLens和FilmTrust数据集下给出最低的MAE。值得注意的是，组合相似性在很大程度上取决于特征相似性，即α。此外，对于MovieLens和FilmTrust数据集，参数的值是不同的，这是由于这两个数据集具有不同的密度，评分分布和评级量表。 4.5. 改进的算法与其他算法的比较 1) MAE方面的性能评估：图2显示我们的算法明显优于其他算法。对于FilmTrust数据集我们观察到类似的结果。我们可以从项目集合的结果中得出结论，应用 ， ， 后对推荐结果具有互补的作用。 2) MAE，ROC灵敏度，覆盖率与其他算法的在线成本的比较：表3显示了在线成本(在最坏情况下)每个算法具有的最低MAE和覆盖率。这里，P是针对训练示例的特征的数量(即针对电影的特征)。值得注意的是，对于FilmTrust数据集，与MovieLens数据集相比，对于所有算法，ROC灵敏度更高。我们认为这是由于评分分布的原因。此外在FilmTrust数据集下，算法的覆盖率低得多，这是由于其非常稀疏(99%)的原因 [ 8 ] 。该表描述了Boosted DemoFeature 是可扩展和实用的，因为其在线成本小于或等于其他算法的成本 [ 9 ] 。 3) 新项目和新用户冷启动问题下的性能评估：当将新项目添加到系统时，则不可能从用户获得该项目的评分数据，因此协同过滤推荐系统不会推荐该项目。这个问题被称为新项目冷启动问题。为了在这种情况下测试我们的算法，我们选择1000个来自测试集的用户/项目对的随机样本 [ 10 ] 。在对目标项目进行预测时，训练集中已经对目标项目进行评分的用户的数量被保持为1，2和5。在表4中，对应的MAE由MAE1，MAE2，MAE5表示。表4表明，所提出的方案在新项目冷启动中表现良好。 Table 2 A sample of parameter set with k = 2 参数集号 α β γ MAE (ML) MAE (FT) 1 0.1 0.1 0.8 0.738 1.382 … … … … … … 29 0.5 0.3 0.2 0.732 1.379 … … … … … … 35 0.7 0.2 0.1 0.739 1.374 36 0.8 0.1 0.1 0.742 1.379 表2. k = 20的参数集样本 Table 3 A comparison of the proposed algorith Algorithm Online Cost MAE (ML) MAE (FT) ROC (ML) ROC (FT) Coverage (ML) Coverage (FT) Userbased NM 2 0.792 1.442 0.402 0.643 99.42 96.61 Itembased N 2 0.791 1.441 0.384 0.623 99.22 92.31 Boosted RDF N 2 0.725 1.363 0.563 0.755 100 99.19 NaiveBayes M (NP) 0.833 1.472 0.623 0.835 100 99.99 Naivehybrid NM 2 + M 0.822 1.462 0.525 0.725 100 99.99 Personality diagnosis NM 0.785 1.433 0.521 0.735 99.14 94.23 表3. 各种算法成本，精度，覆盖率比较 Table 4 Performance evaluation under new item cold-start proble 算法 MAE1 MAE2 MAE5 (ML) (FT) (ML) (FT) (ML) (FT) User-based CF 1.64 2.66 1.23 2.24 0.95 1.94 Item-based CF 1.36 2.55 1.19 2.15 0.91 1.58 Boosted RDF 0.98 1.61 0.84 1.58 0.82 1.45 表4. 冷启动下的性能评估 图2. 不同邻域下改进算法与其他算法的MAE对比 图3. 不同稀疏水平下的算法性能 对于新用户冷启动问题，其中用户的信息不完整，我们使用线性回归模型来找到一个项目的活动用户的评分的近似值 [ 11 ] 。我们使用的是此评分，而不是公式(5)中的活跃用户的实际评分预测生成的评分。 (6) 在(6)中，J的选择来自训练集，发现MovieLens为10，FilmTrust数据集为5。评分 通过线性回归模型： ，其中 ， 是目标项目的向量和相似项目的向量。参数 和 可以通过两个相似矢量找到。这个模型用于克服基于项目的协同过滤中项目之间的误差。我们使用这种模型只有当我们有不完整的用户参数时才有意义。 4) 不同稀疏性下的性能评价：为了检查稀疏性的影响，我们通过丢弃一些随机选择的条目来增加训练集的稀疏度。但是我们保持每个稀疏训练集的相同的测试集。我们检查了提出的算法的性能与以纯用户为基础的协同过滤，基于项目的协同过滤和一个朴素的混合推荐算法。图3表示在所提出的不同算法的情况下，性能不会快速降低。这是因为项目的特征仍然可以用于找到类似的项目。此外，同义词检测算法了丰富项目特征，同时也可以找到项目之间的相似性。