推荐系统简介

推荐问题产生

信息过载

推荐问题解决方法

  • 基于内容
  • 基于协同过滤
  • 基于邻域的方法
    • 基于用户
    • 基于物品
  • 基于模型的方法
    • 隐语义模型等

推荐系统原理

推荐系统简介_第1张图片
推荐系统原理

推荐数据源

  • 要推荐物品或内容的元数据,例如关键字,基因描述等
  • 系统用户的基本信息,例如性别,年龄等
  • 用户对物品或者信息的偏好,根据应用本身的不同,可能包括用户对物品的评分,用户查看物品的记录,用户的购买记录等。其实这些用户的偏好信息可以分为两类:
  • 显式的用户反馈:这类是用户在网站上自然浏览或者使用网站以外,显式的提供反馈信息,例如用户对物品的评分,或者对物品的评论。
  • 隐式的用户反馈:这类是用户在使用网站是产生的数据,隐式的反应了用户对物品的喜好,例如用户购买了某物品,用户查看了某物品的信息等等。

基于内容的推荐

推荐系统简介_第2张图片
基于内容的推荐原理

这种基于内容的推荐机制的好处在于它能很好的建模用户的口味,能提供更加精确的推荐。但它也存在以下几个问题:

  • 需要对物品进行分析和建模,推荐的质量依赖于对物品模型的完整和全面程度。
  • 物品相似度的分析仅仅依赖于物品本身的特征,这里没有考虑人对物品的态度。
  • 因为需要基于用户以往的喜好历史做出推荐,所以对于新用户有“冷启动”的问题。

协同过滤推荐

基于用户的协同过滤

推荐系统简介_第3张图片
基于用户的协同过滤算法原理

假设用户 A 喜欢物品 A,物品 C,用户 B 喜欢物品 B,用户 C 喜欢物品 A ,物品 C 和物品 D;从这些用户的历史喜好信息中,我们可以发现用户 A 和用户 C 的口味和偏好是比较类似的,同时用户 C 还喜欢物品 D,那么我们可以推断用户 A 可能也喜欢物品 D,因此可以将物品 D 推荐给用户 A。

基于物品的协同过滤

推荐系统简介_第4张图片
基于物品的协同过滤算法原理

假设用户 A 喜欢物品 A 和物品 C,用户 B 喜欢物品 A,物品 B 和物品 C,用户 C 喜欢物品 A,从这些用户的历史喜好可以分析出物品 A 和物品 C 时比较类似的,喜欢物品 A 的人都喜欢物品 C,基于这个数据可以推断用户 C 很有可能也喜欢物品 C,所以系统会将物品 C 推荐给用户 C。

基于模型的协同过滤

基于模型的协同过滤推荐就是基于样本的用户喜好信息,训练一个推荐模型,然后根据实时的用户喜好的信息进行预测,计算推荐。

小结

基于协同过滤的推荐机制是现今应用最为广泛的推荐机制,它有以下几个显著的优点:

  • 它不需要对物品或者用户进行严格的建模,而且不要求物品的描述是机器可理解的,所以这种方法也是领域无关的。
  • 这种方法计算出来的推荐是开放的,可以共用他人的经验,很好的支持用户发现潜在的兴趣偏好。

而它也存在以下几个问题:

  • 方法的核心是基于历史数据,所以对新物品和新用户都有“冷启动”的问题。
  • 推荐的效果依赖于用户历史偏好数据的多少和准确性。
  • 在大部分的实现中,用户历史偏好是用稀疏矩阵进行存储的,而稀疏矩阵上的计算有些明显的问题,包括可能少部分人的错误偏好会对推荐的准确度有很大的影响等等。
  • 对于一些特殊品味的用户不能给予很好的推荐。
  • 由于以历史数据为基础,抓取和建模用户的偏好后,很难修改或者根据用户的使用演变,从而导致这个方法不够灵活。

推荐系统实践

推荐系统简介_第5张图片
推荐流程图
推荐系统简介_第6张图片
基本推荐算法

参考文献

http://blog.163.com/lnhenrylee@126/blog/static/2414832520123269713813/

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