摘抄自项亮的《推荐系统实践》
协同过滤算法
啤酒和尿布故事说明用户行为数据中蕴涵着很多不是那么显而易见的规律,而个性化推荐算法的任务就是通过计算机去发现这些规律,从而为产品的设计提供指导,提高用户体验。
协同过滤就是指用户可以齐心协力,通过不断地和网站互动,使 自己的推荐列表能够不断过滤掉自己不感兴趣的物品,从而越来越满足自己的需求
基于用户的协同过滤算法
基于用户的协同过滤算法主要包括两个步骤。
(1) 找到和目标用户兴趣相似的用户集合。
(2) 找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户。
基于物品的协同过滤算法
ItemCF算法并不利用物品的内容属性计算物品之间的相似度,它主要通过分析用户的行为记录计算物品之间的
基于物品的协同过滤算法可以利用用户的历史行为给推荐结果提供推荐解释相似度。该算法认为,物品A和物品B具有很大的相似度是因为喜欢物品A的用户大都也喜欢物品 B
基于物品的协同过滤算法主要分为两步。
(1) 计算物品之间的相似度。
(2) 根据物品的相似度和用户的历史行为给用户生成推荐列表。
指标测评
对用户u推荐N个物品(记为R(u)),令用户u在测试集上喜欢的物品集合为T(u),然后可以通 过准确率/召回率评测推荐算法的精度:
1.召回率描述有多少比例的用户—物品评分记录包含在最终的推荐列表中;
2.准确率描述最终的推荐列表中有多少比例是发生过的用户—物品评分记录。
3.覆盖率反映了推荐算法发掘长尾的能力,覆盖率越高,说明推荐算法越能够将长尾中的物品推荐给用户。该覆盖率表示最终的推荐列表中包含多大比例的物品。如果所有的物品都被推荐给至少一个 用户,那么覆盖率就是100%。