推荐引擎笔记

 (摘自:https://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy1/index.html)

  这文章写的太好了,个人认为入门级很好的文章,

分类:

  1、大众行为的推荐引擎,对每个人都给出同样的推荐。

  2、个性化推荐引擎,对不同的用户,根据他们的口味和喜好给出出更加精确的推荐,这时,系统需要了解推荐内容和用户的特质,或者基于社会化网络,通过找到与当前用户相同喜好的用户,实现推荐。

  现在大部分人们讨论的推荐引擎都是装个性化的推荐引擎。

数据源:

  1、根据系统用户的基本信息发现用户的相关程序,这种被称为基于人口统计学的推荐。

  2、根据推荐物品或内容的元数据,发现物品或者内容的相关性,这种被称为基于内容的推荐。

  3、根据用户对物品或者信息的偏好,发现物品或者内容的相关性,或者是发现用户的相关性,这种被称为基于协同过滤的推荐。

推荐模型的建立方式:

  1、基于物品和用户本身的,这种推荐引擎将每个用户和每个物品都当作独立的实体,预测每个用户对于每个物品的喜好程度,这些信息往往是用一个二维矩阵描述的。由于用户感兴趣的物品远远小于总物品的数目,这样的模型导致大量的数据空置,即我们得到的二维矩阵往往是一个很大的稀疏矩阵。同时为了减小计算量,我们可以对物品和用户进行聚类, 然后记录和计算一类用户对一类物品的喜好程度,但这样的模型又会在推荐的准确性上有损失。

  2、基于关联规则的推荐(Rule-based Recommendation):关联规则的挖掘已经是数据挖掘中的一个经典的问题,主要是挖掘一些数据的依赖关系,典型的场景就是“购物篮问题”,通过关联规则的挖掘,我们可以找到哪些物品经常被同时购买,或者用户购买了一些物品后通常会购买哪些其他的物品,当我们挖掘出这些关联规则之后,我们可以基于这些规则给用户进行推荐。

  3、基于模型的推荐(Model-based Recommendation):这是一个典型的机器学习的问题,可以将已有的用户喜好信息作为训练样本,训练出一个预测用户喜好的模型,这样以后用户在进入系统,可以基于此模型计算推荐。这种方法的问题在于如何将用户实时或者近期的喜好信息反馈给训练好的模型,从而提高推荐的准确度。

  现在的推荐系统中,很少有只使用了一个推荐策略的推荐引擎,一般都是在不同的场景下使用不同的推荐策略从而达到最好的推荐效果,例如 Amazon 的推荐,它将基于用户本身历史购买数据的推荐,和基于用户当前浏览的物品的推荐,以及基于大众喜好的当下比较流行的物品都在不同的区域推荐给用户,让用户可以从全方位的推荐中找到自己真正感兴趣的物品。

  具体的推荐算法和模型,点击链接去看作者文章。

 

posted @ 2017-11-15 09:52  莫为  阅读(182)  评论(0编辑  收藏  举报