最经典的推荐算法就是协同过滤算法,协同过滤算法又可以分为基于用户的协同过滤算法和基于项的协同过滤算法。
协同过滤算法就是通过用户的行为寻找特定的模式,并通过该模式为用户产生有效的推荐。例如淘宝买过的化妆品或者衣服,淘宝根据你之前买的东西的品牌、类型会在下次浏览时为你推荐类似的品牌或款式。
协同过滤推荐算法的核心: 通过对用户历史行为数据的挖掘发现用户的偏好,基于不同的偏好对用户进行群组划分,并推荐品味相似的项。在计算推荐结果的过程中,不依赖于项的任何附加信息或用户的任何附加信息,只对用户对项的评分有关。
为了能够为用户推挤与其品味相似的项,通常有两种方法:
1.通过相似用户进行推荐。即通过比较用户之间的相似性,越相似则两者的品味越接近,这种方法是基于用户的协同过滤算法,利用用户访问行为的相似性向目标用户推荐其可能感兴趣的项;
比如用户A 访问过商品1,3,4 用户B访问过商品2,用户C访问过商品1,3,通过计算发现用户A,C较为相似,此时就会为用户C推荐商品4;
2.通过像似项进行推荐,通过比较项与项之间的相似性,为用户推荐与其打分的项相似的项,这是基于项的协同过滤算法,上面说的淘宝根据之前购买的商品推荐类似品牌或款式的商品接近于基于项的协同过滤推荐算法。比如用户A 访问过商品1,3, 用户B访问过商品1,2,3,用户C访问过商品1,通过计算发现商品1和商品3比较相似,会将商品3推荐给用户C
相似性的度量方法有较常见的欧式距离、皮尔逊相关系数、余弦相似性。