什么是协同过滤:
协同过滤(Collaborative Filtering recommendation)简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人通过合作的机制给予信息相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选信息,回应不一定局限于特别感兴趣的,特别不感兴趣信息的纪录也相当重要。
协同过滤是应用较广的智能推荐算法,电子商务系统中可以通过用户的历史使用数据向用户推荐用户潜在喜爱的商品。
协同过滤分为基于用户的协同过滤(User-Based)和基于物品的协同过滤(Item-Based)。
1.基于用户的协同过滤(UBCF):
基于用户的协同过滤的基本思想相当简单,基于用户对物品的偏好找到相邻邻居用户,然后将邻居用户喜欢的推荐给当前用户,为具有相同或相似的价值观、思想观、知识水平和兴趣偏好的用户,其对信息的需求也是相似的。
计算上,就是将一个用户对所有物品的偏好作为一个向量来计算用户之间的相似度,找到 K 邻居后,根据邻居的相似度权重以及他们对物品的偏好,预测当前用户没有偏好的未涉及物品,计算得到一个排序的物品列表作为推荐。
举例:
对于用户 A,根据用户的历史偏好,这里只计算得到一个邻居 - 用户 C,然后将用户 C 喜欢的物品 D 推荐给用户 A。
2.基于物品的协同过滤(IBCF):