http://mp.weixin.qq.com/s?__biz=MzA4OTk5OTQzMg==&mid=2449231485&idx=1&sn=a2e6339cbaae58c4a9cde54ebdffff55

推荐系统所需要的核心数据是用户的反馈。

因为没有反馈就:

没有持续优化的标注数据

没有评价效果的真实数据

总之一句话:没有反馈数据,没有数据循环,不通透,产品的新陈代谢就有问题。

注意,我们说的用户反馈可不是用户打电话给客服说的“意见反馈”,而是对Item的喜好。

反馈数据的形式有多种:点击查看,收藏,看(听)完,加入购物车,付钱,评分,给评价……

这些反馈形式分为两种:隐式反馈和显式反馈。

上面列举的反馈方式中,评分是显式反馈,因为用户知道自己在表达态度, 并且用一种较量化的方式给出很明确的态度。其他的反馈则是用户使用产品时所留下的自然行为, 用户留下这些数据,目的并不是要告诉他的喜好,但是我们却可以从中“揣摩”到用户的喜好,这就是隐式反馈。

隐式反馈相对于显式反馈有以下特点:

1、数量会比显式反馈大很多,矩阵更稠密,更稳定;

2、用户自然发生,通常会更加真实全面地反应其态度;

3、更接近产品指标,如人均播放时长(视频),点击率(新闻);

Xavier Amatriain(Quora工程副总裁)在ACM Resys2016 上也分享过要重视隐式反馈的观点。见推荐系统老司机的十条经验。

隐式反馈面临的问题:
1、隐式反馈的负样本不明显
隐式反馈数据通常是 0-1 二值数据,理想情况 下应当把它当做“预测用户是否会对 Item 产生某种隐式反馈”的分类问题,分类问题则需要负样本,显然通常隐式反馈的负样本不那么明显。这是问题之一。

2、用RMSE去评价隐式反馈推荐模型
推荐的场景更多是推荐列表,关心的是排序,不论是“猜你喜欢”的综合列表推荐,还是Item-2-Item的相关推荐, 亦或是 feed 流推荐,关心排序胜过关心单个Item预测误差,而RMSE关心的是单个Item预测误差,因此用RMSE去评价隐式反馈推荐模型,就显得有些差强人意,这是问题之二。 ( HR 和 NDCG )

针对隐式反馈的矩阵分解主流有以下两种做法:

(1) Point Wise类:还是预测User对单个Item的偏好,最后根据偏好排序。

(2) Pair Wise类:对同一个User,直接考虑任意两个Item的顺序谁在前谁在后。

Point Wise类,以Collaborative Filtering for Implicit Feedback Datasets这篇论文为代表[1], 对此,优秀的实现有: implicit.als.AlternatingLeastSquares
AlternatingLeastSquares (Python实现)

为什么一定要重视隐式反馈?相关推荐

  1. 隐式反馈的去噪,模型取得巨大提升

    Denoising Implicit Feedback for Recommendation! 本篇内容细节会涉及的更多一些,大家可以再次温故一遍,个人觉得非常有意思的一篇工作. 现实推荐问题的建模中 ...

  2. 用隐式反馈做推荐模型,你做对了吗

    现在大家都习惯用隐式反馈来学习推荐模型,并作用于线上推荐系统(十方也不例外).大量的隐式反馈数据确实缓解了数据稀疏的问题,但是这些数据很多并没有反馈用户真正的需求.拿电商举例,大量的点击,并不会带来支 ...

  3. 用于推荐的隐式反馈去噪

    ** 用于推荐的隐式反馈去噪 ** 摘要 隐性反馈的普遍存在使得它们成为构建在线推荐系统的默认选择.虽然大量的隐式反馈缓解了数据稀疏问题,但缺点是它们在反映用户的实际满意度方面不够干净.例如,在电子商 ...

  4. 【矩阵分解六】处理隐式反馈-加权正则矩阵分解法WRMF (weighted regularized matrix factorization)

    改进点(跟前几篇的SVD比): 一句话总结:当数据样本只有隐式反馈时,以前的数据建模方式便不再适用.原因:1.隐式反馈中默认只有正样本(one-class问题):2.未观测到的样本默认为负样本(显然不 ...

  5. 《推荐系统实战》读书笔记——在隐式反馈系统中如何给商品打分

    之前看过的一本<pratical recommender systems>的读书笔记,这本书讲了很多网上看不到的,很实际的工程方面的考虑,规则为主,算法为辅.现在网上铺天盖地都是高大上的排 ...

  6. 【RS】Improving Implicit Recommender Systems with View Data - 使用浏览数据提升隐式推荐系统...

    [论文标题]Improving Implicit Recommender Systems with View Data(IJCAI 18) [论文作者]Jingtao Ding  , Guanghui ...

  7. 万恶之源:C语言中的隐式函数声明

    1 什么是C语言的隐式函数声明 在C语言中,函数在调用前不一定非要声明.如果没有声明,那么编译器会自己主动依照一种隐式声明的规则,为调用函数的C代码产生汇编代码.以下是一个样例: int main(i ...

  8. mysql隐式转换造成索引失效的事故总结

    隐式转换导致索引失效.这一点应当引起重视.也是开发中经常会犯的错误. 由于表的字段tu_mdn定义为varchar2(20),但在查询时把该字段作为number类型以where条件传给mysql,这样 ...

  9. C语言中的隐式声明是什么,有什么危害?warning: implicit declaration of function ‘xxx’

    今天编译一个代码,提示CUSTOM_LAYER里面有一个C文件函数gettimeofday()隐式声明,用man手册查了一下,需要包含头文件#include <sys/time.h> 那么 ...

  10. 什么是C语言中的隐式函数声明?

    「1.什么是C语言的隐式函数声明」 在C语言中,函数在调用前不一定非要声明.如果没有声明,那么编译器会自动按照一种隐式声明的规则,为调用函数的C代码产生汇编代码.下面是一个例子: int main(i ...

最新文章

  1. pyBoard Mini从安装到简单测试
  2. Maven编译jar出现:无法确定 T 的类型参数的异常的原因和处理方案
  3. [路由] -- Yii2 url地址美化与重写
  4. 英文版Ubuntu 16.04系统如何解决gedit中文显示乱码的问题
  5. [数据结构-严蔚敏版]P64循环队列-队列的顺序存储结构
  6. 产品经理之市场需求分析详解(非原创)
  7. 吞吐性能翻倍!搭载了第三代Tensor Core的A100是怎么做到的?
  8. process_进程池
  9. Android FrameWork——StatusBar
  10. 微服务体系三维可缩放模型
  11. HCIE-Security Day28:IPSec:实验(三)总部采用ISAKMP方式安全策略组与分支机构之间建立IPSec PN
  12. 洛谷P1640 [SCOI2010]连续攻击游戏(二分图)
  13. 帆软报表更新到服务器控件展示不出来_帆软报表问题汇总
  14. 【CodeForces 1253B --- Silly Mistake】
  15. Win7复制文件时出现:“您需要权限来执行操作!”(终极解决方法!)
  16. 基于51单片机俄罗斯方块游戏电路设计
  17. SD-WAN的驱动者:云计算
  18. java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit异常解决
  19. 三菱PlC计数器与定时的使用
  20. 网络游戏服务器开发(一)

热门文章

  1. 如何清除BIOS密码
  2. Linux LAMP架构搭建
  3. 【bzoj3676】
  4. 软件工程概论--课后作业1
  5. codeblocks16.01 中配置Opencv3 姿势
  6. linux 中ifconfig命令 结果解释
  7. JavaScript 学习计划
  8. 2-ESP8266 SDK开发基础入门篇--点亮一个灯
  9. 《剑指offer》第五十二题(两个链表的第一个公共结点)
  10. div+css命名大全