关于评分预测和TopN推荐的理解

初识推荐系统的小白一枚,在看推荐系统遇上深度学习系列文章时,(一)–FM模型理论和实践:https://github.com/dox1994/recommend_system/blob/master/FM/fm.ipynb,
发现作者使用RMSE作为损失函数,一开始不太理解,查阅资料后,发现这个例子属于典型的评分预测问题。


推荐系统的目标

通过用户的历史行为来建模用户的偏好,进而选出用户最喜爱的TopN个item,实际是对所有item的排序,选出前N个。

评分预测和TopN的关系

评分预测(rating prediction):实际是我们知道用户对item的显示反馈,比如用户给电影打分等,对于这种评分预测场景,我们采用point-wise的方式对user和item进行建模,及考虑单个user和单个item之间的关系,这种问题的损失函数通常使用RMSE,即期望预测评分与真实评分差距最小,但是基于评分预测的思路,我们并不能得到TopN,原因是评分预测的损失和目标不一致,评分预测是point-wise的方式,而TopN实际上是list-wise方法

所以作者认为,TopN推荐是推荐的终极目标,评分预测是实现TopN的一种近似方法

point-wise方法:

特点

  • 输入空间中样本是单个user(和对应的item)构成的特征向量
  • 输出空间中样本是单个user(和对应的item)构成的特征向量
  • 假设空间中样本是打分函数
  • 损失函数评估单个item的预测得分和真实得分之间的差异
    缺陷
  • ranking追求的是排序结果,并不要求精确打分,只要求相对打分即可
  • point-wise类方法并没有考虑user对应的item之间的内部依赖性,一方面,导致输入空间内样本不是iid的,违反ML的基本假设,另一方面,没有充分利用这种样本间的结构性,其次,当不同的item对应不同数量的item时,整体的loss将会被对应item数量多的user组所支配
  • 损失函数也没有model到预测排序中的位置信息,因此,损失函数可能无意的过多强度那些不重要的item,即那些排序在后面,对用户体验影响较小的item
list-wise方法:

特点

  • 输入空间中样本是同一user对应的所有item构成的多个特征向量
  • 输出空间样本是这些items(和对应的user)的相关度排序
  • 假设空间中样本是多变量函数,对于所有的item得到其排列,在实践中,通常是一个打分函数,根据打分函数对所有的item的打分进行排序,得到item相关度的排序
  • 损失函数分为两类,一类是直接和评价指标相关的,,还有一类是不相关的,具体可看参考资料2
    缺陷
  • 一些ranking算法需要基于排列在计算loss,从而使得训练复杂度较高

参考资料:

  1. https://www.zhihu.com/question/20391355

  2. https://blog.csdn.net/lipengcn/article/details/80373744

  3. https://github.com/dox1994/recommend_system/blob/master/FM/fm.ipynb

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值