2

我最近在学习训练推荐系统时遇到了 LightFM。到目前为止,我所知道的是它利用了逻辑、BPR、WARP 和 k-OS WARP 的损失函数。我没有仔细研究所有这些函数背后的数学。现在我很困惑的是,我怎么知道在哪里使用哪个损失函数?

4

1 回答 1

0

从 lightfm 模型文档页面:

逻辑:当同时存在正 (1) 和负 (-1) 交互时很有用。
BPR:贝叶斯个性化排名1成对损失。最大化正例和随机选择的负例之间的预测差异。当仅存在正交互并且需要优化 ROC AUC 时很有用。
WARP:加权近似秩成对[2]损失。通过重复采样负示例,直到找到违反等级的示例来最大化正示例的等级。当只存在积极的交互并且需要优化推荐列表的顶部(precision@k)时很有用。
k-OS WARP: k 阶统计损失 [3]。WARP 的一种修改,它使用任何给定用户的 k 正例作为成对更新的基础。

一切都归结为您的数据集的结构以及您正在查看的用户交互类型。显然,一种方法是在进行超参数调整时将损失函数包含在参数网格中(至少我是这样做的)并检查模型的准确性。我发现投资为什么给定的损失函数在数据集上表现更好/更差是一个很好的学习练习。

于 2020-02-03T22:20:58.603 回答