推荐系统

来源:互联网 发布:手机怎么查看淘宝等级 编辑:程序博客网 时间:2024/06/05 08:34

转自:http://blog.csdn.net/u010670689/article/details/71513133

推荐算法分类:

  • 基于流行度的算法
  • 协同过滤算法
  • 基于内容的算法
  • 基于模型的算法
  • 混合算法

基于流行度的算法
不提供个性化推荐。我觉得哔哩哔哩在这方面做的非常好,比如电视剧的排序,他首先分为两部分,完结剧集和连载剧集,分别排序,我觉得这是他比A站好的地方,又分别按投稿时间和热度排序,虽然不是个性化推荐,但他已经把类别分的很细了,在一个类别下,同一段时间内总是能聚集起一大堆对这部分内容感兴趣的用户。

协同过滤算法
(Collaborative Filtering,CF),分为两种:基于用户(User-based CF)和基于物品(Item-based CF)。

基于用户的CF原理如下:
1、分析各个用户对item的评价(通过浏览记录、购买记录等);
2、依据用户对item的评价计算得出所有用户之间的相似度;
3、选出与当前用户最相似的N个用户;
4、将这N个用户评价最高并且当前用户又没有浏览过的item推荐给当前用户。
这里写图片描述
注意:这里用户相似度的计算,并不依靠内容,仅仅依靠历史行为记录。

基于物品的CF原理大同小异:
1、分析各个用户对item的浏览记录;
2、依据浏览记录分析得出所有item之间的相似度;
3、对于当前用户评价高的item,找出与之相似度最高的N个item;
4、将这N个item推荐给用户。
这里写图片描述
这里还是计算相似度,只根据历史浏览记录,不分析文件内容。(余弦相似度)

协同过滤的问题:
1、依赖于准确的用户评分;
2、在计算过程中,那些大热的物品会有更大的几率被推荐给用户;
3、冷启动问题。当有一个新用户或者新物品进入系统时,推荐将无从依据;
4、在一些item生存周期短(如新闻、广告)的系统中,由于更新速度快,大量item不会有用户评分,造成评分矩阵稀疏,不利于这些内容的推荐。(矩阵因子分解(如LFM),可以把一个n*m的矩阵分解为一个n*k的矩阵乘以一个k*m的矩阵)

基于内容的算法
基于内容的推荐可以很好的解决冷启动问题,因为它是直接基于内容匹配,而与浏览记录无关。然后它也存在过度专业化的问题,这种方法会一直推荐给用户内容密切关联的item,而失去了推荐内容的多样性。
(tf-idf计算特征词的权重)
(用word2vec可以将文本的关键词聚类,然后根据topic将文本向量化)

原创粉丝点击