k近邻-协同过滤推荐算法
算法概述
推荐算法常用的有三种:基于人口统计学的推荐、基于内容的推荐、基于协同过滤的推荐。前两种是仅仅考虑用户或物品本身背景属性,将拥有相似属性的用户或物品分在一个集合里。第三种算法是在大量用户行为和数据中收集答案,以帮助对整个人群产生统计意义上的结论。此处我们重点讨论第三种,基于协同过滤的推荐算法。
协同过滤
核心是用户交互数据建模,可以分为三个子类:user-based recommendation,item-based recommendation,model-based recommendation。
基于用户的协同过滤推荐(user-based recommendation)
它的基本假设是,喜欢类似物品的用户可能有相同或者相似的口味和偏好。根据所有用户对物品或者信息的偏好,发现与当前用户口味和偏好相似的“邻居”用户群,在一般的应用中是采用计算“K- 近邻”的算法;然后,基于这 K 个邻居的历史偏好信息,为当前用户进行推荐。
这里写图片描述
基于项目的协同过滤推荐
基于项目的协同过滤推荐的基本原理也是类似的,只是说它使用所有用户对物品或者信息的偏好,发现物品和物品之间的相似度,然后根据用户的历史偏好信息,将类似的物品推荐给用户。
基于模型的协同过滤推荐
基于模型的协同过滤推荐就是基于样本的用户喜好信息,训练一个推荐模型,然后根据实时的用户喜好的信息进行预测,计算推荐。
协同过滤小结
优点:
a. 它不需要对物品或者用户进行严格的建模,而且不要求物品的描述是机器可理解的,所以这种方法也是领域无关的。<