推荐算法原理感悟
2017-07-15 21:53
204 查看
——Content Based
实践步骤:利用jieba先对Item分词,然后做出正排表(Item–Feature…);然后给每个Feature打分(TFIDF值),逆序排列;接着做倒排表(map阶段以每个Feature为Key,关联对应的Item,在reduce阶段把Feature值(TFIDF值)高的对应的Item放在前面,逆序排列);最后,便根据倒排表,对于某个Feature高的Item,给出一个推荐列表,这个推荐列表就是倒排表的top-N,也就是推荐列表出现的Item和正在被A使用的Item在Item上是很相近的。例如:
倒排表:特征:“时间”——Item1:“时间简史”0.9 (A看过) Item2:“时间xx”0.8 Item3:“时间yy”0.7
在只考虑”时间”这个特征(就这一个维度)做推荐并且只能推荐一个Item时,直接把Item2推荐给A(因为0.9乘以0.8>0.9乘以0.7,一种比较相似度的方式)
假设如果知道xx=”模型简史”,yy=”概率简史”
特征:“简史”——Item1:“时间简史”0.8 (A看过) Item3:“时间yy”0.6 Item2:“时间xx”0.4
相似度: Item1&Item2(0.9乘以0.8+0.8乘以0.4)小于 Item1&Item3(0.9乘以0.7+0.8乘以0.6)
则应该把Item3推荐给A。
——Collaboration Filtering
User Based CF
原理:用户喜欢那些跟他有相似爱好的用户喜欢的东西,具有相似兴趣的用户在未来也具有相似兴趣。给定用户u,找到一个用户的集合S(u),他们和u具有相似的兴趣,将S(u)喜欢的物品推荐给用户。A喜欢女生:xxx0、xxx1 、xxx2
B喜欢女生:xxx0、xxx1 、xxx3
B刚喜欢上女生: meimei
——可以把meimei推荐给A(因为B和A喜欢的女生很相似)
例如:
用户A翻他微信朋友圈,发现A的好友B看了部电影《xxx》并分享到朋友圈了,A与B从小关系好、志趣相投(历史信息),于是A也打算去看这部电影。
Item Based CF
原理:用户喜欢跟他过去喜欢的物品相似的物品,历史上相似的物品在未来也相似。给定用户u,找到他过去喜欢的物品的集合S(u),把和S(u)相似的物品推荐给u。A喜欢女生:xxx0、xxx1 、xxx2
B喜欢女生:xxx0、xxx1 、xxx3
C喜欢女生:xxx0、xxx2 、xxx4
D喜欢女生:xxx0、xxx1 、xxx5
——可以把xxx1推荐给C(因为xxx1和C之前喜欢的xxx0相似,这是根据统计得来的:A、B、C都喜欢xxx0、xxx1,说明这两个女生很像,两个班花,哈哈~)
重点:这里评价Item相似,是通过与之关联的用户行为来判断的,而不是挖掘Item本身的属性来判断。即基于Item的协同过滤,是考虑用户的行为向量,跟Item本身毫无关系,譬如我们100个人中,有90个人都看了A和B两个Item,那么我认为A和B具有很强的相关性(跟Item本身无关),道理上跟关联规则的啤酒和尿不湿是类似的,就是看AB共同出现了很多次,就认为他们相关,喜欢A的用户很大程度上也喜欢B。
——Model based
以用户为基础(User-based)的协同过滤和以项目为基础(Item-based)的协同过滤统称为以记忆为基础(Memory based)的协同过滤技术,他们共有的缺点是数据稀疏,难以处理大数据量影响即时结果,因此发展出以模型为基础的协同过滤技术。 以模型为基础的协同过滤(Model-based Collaborative Filtering)是先用历史数据得到一个模型,再用此模型进行预测。以模型为基础的协同过滤广泛使用的技术包括Latent Semantic Indexing、Bayesian Networks…等,根据对一个样本的分析得到模型。总结
差别在于:协同过滤必须要有用户行为,基于Item的推荐可以不用考虑用户行为。冷启动阶段只能用基于Item的推荐,因为没有用户行为数据;积累一段时间用户行为数据后就可以用协同过滤了。基于Item的推荐的要求:item数据比较容易结构化,且结构化的数据能相对完整的描述item,否则效果不会太好。
协同过滤的要求:用户行为越丰富越好。用户数少时,推荐用User Based CF;Item少时,推荐用Item Based CF。
相关文章推荐
- 今日头条推荐算法原理首公开,头条首席算法架构师带来详细解读
- 毕业设计的探索与研究2:有关基于内容推荐算法原理的笔记
- 协同过滤推荐算法的原理及实现
- 今日头条推荐算法原理全文详解
- 推荐算法之FFM:原理及实现简介
- 干货丨3分钟了解今日头条推荐算法原理(附视频+PPT)
- 推荐系统的常用算法原理和实现
- 3分钟了解今日头条推荐算法原理(附视频+PPT)
- 协同过滤推荐算法的原理及实现
- 探寻微博背后的大数据原理:微博推荐算法简述
- 今日头条推荐算法原理全文详解
- 今日头条推荐算法原理及详解
- 今日头条推荐算法原理全文详解
- 协同过滤推荐算法的原理及实现
- 3分钟了解今日头条推荐算法原理(附视频+PPT)
- MySQL索引背后的数据结构及算法原理(写的很要好的一篇文章,在“结构之法算法之道”中看到的推荐文章)
- 今日头条推荐算法原理
- 协同过滤推荐算法的原理及实现
- 推荐算法:协同过滤原理介绍
- 干货丨3分钟了解今日头条推荐算法原理(附视频+PPT)