评估使用不同数据训练的两个 Recommender 模型

数据挖掘 机器学习 数据集 机器学习模型 推荐系统 评估
2022-02-10 11:17:22

假设您有两个要评估的推荐系统,A并且BA使用大数据训练模型,使用小数据进行模型训练B(这意味着A将有更大的项目池可供选择)。

你会如何比较这两个模型?一种策略是在两个模型都受到其数据集(“A”与大数据,“B”与小数据)以 80/20 分割的情况下计算精度和召回率,然后计算精度和召回率。但是,我不确定在这种情况下精度和召回结果是否具有可比性。你怎么看?

另一种方法是A使用大数据进行训练,B使用小数据进行训练,但要修复测试集(意思是,测试集对于A和都是相同的B)。但这不是“不公平”吗,因为该模型A是基于大数据的,因此有更多的项目可供推荐?

你会如何比较这两个模型?

1个回答

有些东西似乎不清楚,或者我没有明白。如果我的回答不够准确,请发表评论。

推荐引擎在查询时不仅限于其训练数据。如果这两个引擎的推荐可用项目池不同,就会出现不公平现象。

示例:我训练语言模型来计算搜索查询与网络上所有网站的标题之间的相似度。

训练数据将是我调整语言模型所基于的文本数据集。小数据集导致“糟糕”的训练,因此在查询时,它可能无法正常工作,因为它没有覆盖训练阶段的整个语言分布。但它仍然为查询提供了一组答案!

这是我担心你弄错的一点。只要查询集和项目池是固定的,就可以比较推荐引擎。然后,与在大量数据上训练的相比,在小数据上训练的效果较差。

对于这种比较,您“需要”标记数据,即对于一组已知查询,您需要知道第一个n推荐项目或排名第一n物品或其他类型的标签。但是您当然需要标记数据,并且当您拥有它时,比较将是有效的。

有关评估指标,请查看此答案