最近,我在学习培训推荐系统时遇到了LightFM。到目前为止,我所知道的是,它使用的损失函数,是逻辑,BPR,翘曲和know翘曲。所有这些功能背后的数学我都没看过。现在我感到困惑的是,我怎么知道哪种丢失函数在哪里使用呢?
发布于 2020-02-03 22:20:58
来自lightfm模型文档页面:
logistic:当正(1)和负(-1)相互作用都存在时有用。 BPR:贝叶斯个性化排名1成对损失。最大限度地扩大了一个正例子和一个随机选择的负例子之间的预测差异。当只有积极的互动出现和优化的中华民国AUC是有用的。 翘曲:加权近似-等级对2损失.通过反复采样负数,使正例的秩最大化,直到发现违反秩的实例为止。如果只存在积极的交互,并且希望优化推荐列表的顶部(精度@k),就会非常有用。 k-OS翘曲:K阶统计损失3.对翘曲的一种修改,使用k-对任何给定用户的正示例作为成对更新的基础。
一切都归结为您的数据集是如何构造的,以及您正在查看的是什么样的用户交互。显然,一种方法是在进行超参数调优时,将丢失函数包含在参数网格中(至少我是这样做的),并检查模型的准确性。我发现投资为什么一个给定的损失函数在数据集上表现得更好/更糟,作为一个好的学习练习。
https://stackoverflow.com/questions/56875835
复制相似问题