1 协同过滤
https://www.nowcoder.com/discuss/190742
是利用集体智慧的一个典型方法,借鉴和你相同人群的观点来进行推荐。
实现:3个步骤: 收集数据- 找到相似用户和物品-进行推荐
(1) 收集数据:用户的历史行为
(2) 找到相似的用户和物品
计算用户间以及物品间的相似度: 欧几里德距离,皮尔逊相关系数,Cosine 相似度,Tanimoto 系数
进行推荐: 在知道了如何计算相似度后,就可以进行推荐了。
在协同过滤中,有两种主流方法: 基于用户的协同过滤。
基于用户的CF的思想简单:基于用户对物品的偏好找到相邻邻居用户,然后将邻居用户喜欢的推荐的当前用户,计算上就是将一个用户对所有物品的偏好作为一个向量来计算用户之间的相似度,找到k 邻居后,根据邻居的相似度权重以及他们对物品的偏好,预测当前用户没有偏好的未涉及的物品,计算得到的一个排序的物品列表作为推荐,
基于物品的CF的原理和基于用户的CF 类似,只是在计算邻居时采用物品本身,而不是从用户的角度,即基于用户对物品的偏好找到相似的物品,然后根据用户的历史偏好,推荐相似的物品给他。
对比:item CF 和user CF是基于协同过滤推荐的两个基本算法,user CF 很早就提出来了, item CF 从性能和复杂度上比user CF 更优,其中的一个主要原因就是对在线网站,用户的数量往往大大超过物品的数量,同时物品的数据也相对稳定,因此计算物品的相似度不但计算量较小,同时也不必频繁更新,但对于新闻或者微内容的推荐系统,情况是相反的。
https://www.cnblogs.com/luchen927/archive/2012/02/01/2325360.html