推荐系统学习笔记之二——详解几类推荐技术(基于内容的推荐、基于用户的协同过滤、基于物品的协同过滤、基于模型的协同过滤)

材料: 《推荐系统 技术、评估及高效算法》

    推荐技术最为基础的两种推荐算法,无非是基于内容的推荐算法以及协同过滤算法。那么这两类算法究竟是什么意思呢?

 

基于内容的推荐算法(content-base)

  权威解释:对某个用户已经评分过的物品分析其共同特点,然后将含有这些特点的新物品推荐给该用户。

  我的理解:拿电影来举例子,有个人对《天空之城》、《风之谷》、《千与千寻》、《魔女宅急便》这几部作品都给了满分,那我们的算法就可以给这个人打上“宫崎骏”的标签,给他推荐《借东西的小人阿莉埃蒂》、《起风了》、《龙猫》。这就是基于内容的推荐算法。

  基于内容的推荐算法 缺点

              (1)、首先最重要的一点,信息受限,我们能对这个用户贴的标签十分有限,推荐的粒度也只会很粗。

              (2)、过度专业化,难以有效决定推荐的质量。即宫崎骏的电影都有可能被推荐,但是宫崎骏也可能有一些比较差的作品(这个栗子举得不好,宫崎骏的作品不存在差评。拿“喜剧”来说,是喜剧的都可能被推荐,但是喜剧这一大类别里面有很多渣渣……)

 

协同过滤(collaborative filtering)

  协同过滤是一种基于关系的推荐算法,比如最经典的基于用户的协同过滤。

  1、基于用户的协同过滤:它依赖该用户的相似用户评分高的电影为该用户进行推荐。

  优点:相较于基于内容的推荐算法或者其他的基于模型的协同过滤(一会提到),基于用户的协同过滤有一个不错的惊喜度。即用户可能会被推荐一个从未尝试过的类型的电影,他还很喜欢,这是因为与他相似的用户很喜欢这个电影。

 缺点:(1)、冷启动问题(新用户以及评分很少的用户如何评分?他们甚至找不到一个相似的用户。)

             (2)、用户数量十分庞大,物品数量比较少时,类似于矩阵稀疏,难以计算一个靠谱的相似度。

  2、基于物品的协同过滤: 它依赖该用户评分高的物品,寻找与这些物品相似度高的物品进行推荐。

  优点:在基于用户的第二条缺点,也就是用户数量庞大、物品数量比较少时,基于物品的协同过滤可以比较完美的解决这个问题。

  缺点:显而易见,它也存在着冷启动问题。

 

  以上两种,基于用户的协同过滤和基于物品的协同过滤又统称为基于邻域的协同过滤(或基于内存的或基于启发式的)

  基于领域很好理解,毕竟是通过相似用户或者相似物品。

  基于内存则是因为这两种方法都是在预测的时候才会的计算的,与机器学习数据挖掘中的模型不同,没有训练阶段,没有模型。

  基于启发式——没有了解过,大概是由社会人与人之间的关系启发而来的。

 

 3、基于模型的协同过滤

  我也有些疑惑这本书为什么将模型方法并入了协同过滤里面……因为协同过滤的本质就是抓住用户和物品的关系?

  基于模型的方法是使用评分信息来学习预测模型,主要思想是使用属性构建用户和物品之间的练习,其属性代表在系统中用户和物品的潜在特征,如用户喜爱类别和物品所属类别。

  基于模型的方法最大与之前两种协同过滤最大的差别在于:我有式子,有模型,我预测快……

  举些例子,日后再写。基准预测、SVD、SVD++、FM……

你可能感兴趣的:(推荐系统)