首先应该知道,一个系统中这3个基本的算法肯定是都存在的,这个问题所要讨论的是不同的场景,不同用户,怎样选取合适的推荐算法。
1. 根据不同的场景选择合适的推荐算法
a. 当物品数量远少于用户数量时且物品数量相对稳定,选择基于物品的推荐算法。理由:计算量小,且物品信息稳定
b.当用户数远小于物品数量且用户数量稳定时,选择基于用户的推荐算法。理由:计算量小,且用户信息稳定。
2. 从多样性的角度选择合适的推荐算法
a. 如果追求系统中推荐商品的多样性,应该使用基于物品的推荐算法,因为基于user的推荐算法很容易推荐出热门的商品。导致不同的用户推荐同质化的现象严重。
b. 如果是追求单用户的推荐商品的多样性,基于user的算法会更好。因为基于item的算法往往会推送同类型的商品,类型丰富度会降低。
3. 基于用户特点进行选择
我们可以统计一下基于用户相似度和基于物品相似度的平均水平。
对于用户相识度的的得分低于平均水平的用户来说,采用基于物品的相似度的推荐算法可能会更好,因为该用户并没有什么相识度高的用户。
对于物品相似度低于平均水平的用户来说,采用基于用户的推荐算法可能会更好,因为该用户并不喜欢购买相似度高的商品。
365