【发布时间】:2019-11-14 11:32:46
【问题描述】:
我最近在学习训练推荐系统时遇到了 LightFM。到目前为止,我所知道的是它利用了逻辑、BPR、WARP 和 k-OS WARP 的损失函数。我没有仔细研究所有这些函数背后的数学。现在我很困惑的是,我怎么知道在哪里使用哪个损失函数?
【问题讨论】:
标签: python-3.x loss-function recommender-systems warp lightfm
我最近在学习训练推荐系统时遇到了 LightFM。到目前为止,我所知道的是它利用了逻辑、BPR、WARP 和 k-OS WARP 的损失函数。我没有仔细研究所有这些函数背后的数学。现在我很困惑的是,我怎么知道在哪里使用哪个损失函数?
【问题讨论】:
标签: python-3.x loss-function recommender-systems warp lightfm
来自LightFM Model documentation页面:
logistic :当存在正(1)和负(-1)交互时有用。
1234565>
bpr :贝叶斯个性化排名1成对丢失。最大化正示例和随机选择的负例之间的预测差异。当仅存在阳性交互并期望优化Roc Auc时有用。
翘曲:加权近似秩成对[2]损失。通过反复采样否定例子,最大化正例的等级,直到找到违反禁区。当仅存在正相互作用并优化建议列表的顶部时有用(精确@ k)。
k-os warp :k-tr级统计丢失[3]。扭曲的修改,它使用k - 任何给定用户的正示例作为成对更新的基础。一切归结为您的数据集是如何结构的,以及您正在查看的用户互动。显然,在通过HyperParameter调整(至少是我所做的)和检查模型精度的情况下,一种方法将包括在参数网格中包含损失函数 em>。我发现投资为什么在数据集中更好地执行给定的损失函数,作为一个良好的学习锻炼。
【讨论】: