个性化推荐系统中的BadCase分析
针对内测用户反馈,由于前一天点击了几个动画,导致第二天推荐的动画屏占比较高,于是开始对此badcase进行分析。
首先分析了该用户的历史观看纪录,由于系统升级,日志缺陷问题,导致该用户10.15-11.3之间的日志没有收集到,但是这就出现了前面的假设不成立现象,由于没有收集到新的数据,对用户画像是不可能体现出前天的动画,动漫以及迪斯尼这些具有偏重的画像词。
首先对问题进行了分析,问题可能出现在时间间隔上,因为我们引用了时间间隔作为用户对某一电影的喜好偏爱权重的计算,导致这个问题可能有两方面原因:
1.随着时间的推移计算,某些对用户的画像的词出现了小的波动,但是这些小的波动可能会导致不可预料的后果,例如:在问题出现前对用户的画像可能是:
person艾恩·贝利:2.694,伊万·阿达勒:1.992,苏菲·玛索:1.897 label苏菲·玛索:0.451,让·雷诺:0.361,逃之夭夭:0.271,你丫闭嘴:0.271,SophieMarceau:0.226,JeanReno:0.226,八面埋伏:0.203,法国:0.169,法国电影:0.155,悬疑:0.130
但是时间推移之后某些权重开始凸显出来变成下面这样:
person阿兰·里奇森:3.979,赖虹宇:3.979,郭度沅:3.678 label迪斯尼:1.186,动画:1.129,浪漫:1.119,经典:1.028,3D:1.010,奇幻:0.940,国漫:0.900,效果好:0.800,侏罗纪公园:0.800,斯皮尔伯格:0.775
分析发现,person 中三个演员属于偏冷门演员,所以电影不会太多,label标签中迪斯尼,动画这两个具有极大的代表性,他们覆盖了动画非常之多,导致推荐的都是动画之内的,这样效果肯定不好,后期可以做一些处理,但是问题来了,是不是时间原因导致的这个情况?或者还是用户真的看了许多动画类的行为电影导致的?通过日志继续查找原因。
发现自10.17号该用户升级了APP到4.1.0,而该版本的APP有一个Bug,在发送vv日志的时候不会发送用户点击的电影ID,导致了该用户最新的观影记录没有有效的记录,导致推荐的数据都是基于以前的用户行为推荐。但是为什么动画在以前的权重这么明显呢,深入代码发现我们在日志处理环节做了一个FeedBackLogwithRate,这个处理的目的是当用户提交了已看过和不喜欢的电影,特别是已看过的电影,我们会将用户的这一行为当成该用户的一种最新行为,距离当前观影日期最近的行为,导致推荐的问题复现。
另外一方面导致这个问题的原因是在usermovieA 环节,因为我们在糅合用户画像之后与电影进行匹配的过程中,本身库中某些大标签他的电影数就多,如:韩国,爱情,成龙,周星驰,青春等,我们在这一块只是做了一个权重的排序,在这一块很难有一个区别度去对各个类别都选择,所以我当前的另外一个思路就是对某一个类别或者标签只取一定量,超过这个量就不在增加。目前还在测试中。
个性化推荐系统中的BadCase分析的更多相关文章
- Slope one—个性化推荐中最简洁的协同过滤算法
Slope One 是一系列应用于 协同过滤的算法的统称.由 Daniel Lemire和Anna Maclachlan于2005年发表的论文中提出. [1]有争议的是,该算法堪称基于项目评价的non ...
- 个性化推荐系统(七)--- ABTest ab测试平台
个性化推荐系统.搜索引擎.广告系统,这些系统都需要在线上不断上线,不断优化,优化之后怎么确定是好是坏.这时就需要ABTest来确定,最近想的办法.优化的算法.优化的逻辑数据是正向的,是有意义的,是提升 ...
- Paper Reading:个性化推荐系统的研究进展
论文:个性化推荐系统的研究进展 发表时间:2009 发表作者:刘建国,周涛,汪秉宏 论文链接:论文链接 本文发表在2009,对经典个性化推荐算法做了基本的介绍,是非常好的一篇中文推荐系统方面的文章. ...
- 多维数组分解----SVD在推荐系统中的应用-
http://www.janscon.com/multiarray/rs_used_svd.html [声明]本文主要参考自论文<A SINGULAR VALUE DECOMPOSITION A ...
- SVD在餐馆菜肴推荐系统中的应用
SVD在餐馆菜肴推荐系统中的应用 摘要:餐馆可以分为很多类别,比如中式.美式.日式等等.但是这些类别不一定够用,有的人喜欢混合类别.对用户对菜肴的点评数据进行分析,可以提取出区分菜品的真正因素,利用这 ...
- RS:推荐系统中的数据稀疏和冷启动问题
如何在没有大量用户数据的情况下设计个性化推荐系统并且让用户对推荐结果满意从而愿意使用推荐系统,就是冷启动问题. 冷启动问题主要分为三类: (1) 用户冷启动:如何给新用户做个性化推荐的问题,新用户刚使 ...
- 14、RALM: 实时 look-alike 算法在推荐系统中的应用
转载:https://zhuanlan.zhihu.com/p/71951411 RALM: 实时 look-alike 算法在推荐系统中的应用 0. 导语 本论文题为<Real-time At ...
- 基于baseline、svd和stochastic gradient descent的个性化推荐系统
文章主要介绍的是koren 08年发的论文[1], 2.3部分内容(其余部分会陆续补充上来).koren论文中用到netflix 数据集, 过于大, 在普通的pc机上运行时间很长很长.考虑到写文章目 ...
- Android中AppWidget的分析与应用:AppWidgetProvider .
from: http://blog.csdn.net/thl789/article/details/7887968 本文从开发AppWidgetProvider角度出发,看一个AppWidgetPrv ...
随机推荐
- vijos1009:扩展欧几里得算法
1009:数论 扩展欧几里得算法 其实自己对扩展欧几里得算法一直很不熟悉...应该是因为之前不太理解的缘故吧这次再次思考,回看了某位大神的推导以及某位大神的模板应该算是有所领悟了 首先根据题意:L1= ...
- jquery 实现飘落效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JAVA算法两道
算法(JAVA)----两道小小课后题 LZ最近翻了翻JAVA版的数据结构与算法,无聊之下将书中的课后题一一给做了一遍,在此给出书中课后题的答案(非标准答案,是LZ的答案,猿友们可以贡献出自己更快 ...
- 反射实现IOC功能
通过反射实现IOC功能 这段时间园子里有不少介绍IOC组件的文章,由于自己也一直在学习IOC的各种组件,及IOC的思想,常见的IOC组件很多:AutoFac.Ninject.Utity包括.NET ...
- 多平台Client TCP通讯组件
Beetle.NetPackage是一个多平台Client Socket TCP通讯组件(Apache License 2.0),组件制统一的对象协议制定规则,可以灵活方便地通过对象来描述TCP通讯交 ...
- Linux epoll总结
Linux epoll总结 Linux epoll epoll是Kernel 2.6后新加入的事件机制,在高并发条件下,远优于select.epoll最大的好处在于它不会随着监听fd数目的增长而降低 ...
- WCF服务承载
WCF服务承载(笔记) 自托管(也做自承载) 承载 WCF 服务最灵活.最便捷的方法就是进行自承载.要能够自承载服务,必须满足两个条件.第一,需要 WCF 运行时:第二,需要可以承载 Servic ...
- 解决Eclipse maven servlet-api-2.5.jar jar not loaded问题
在Eclipse中用maven构建web项目时,如果在pom里写了servlet-api和jsp-api的依赖的话,即使scope为"provided",但在布署到tomcat时, ...
- Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(八)
Libvirt 是用c写的一个管理虚拟机及其资源(如网络.存储和外设等)的工具库,它不仅支持KVM/QEMU,它还支持xen,Vmware,OpenVZ和VirtualBox等其他HyperVisor ...
- JS,CSS是前端,JAVA PHP ASP是后端,数据库是后端的处理对象,非代表前后底
大海-mysql-oracle(529513481) 19:02:18 象我这边,前台都是php,而php做数据分析是不太理想的,做中间件没人力,难办 横瓜(601069289) 19:20:15 ...