推荐系统基础(一):基于用户的协同过滤

原理

基于用户的协同过滤原理很简单,找到购买喜好相近的用户,把某用户购买的商品推荐给和他相似的用户。比如下表,A和C的购买记录较为相似,则会把A购买了的物品D推荐给用户C

物品A 物品B 物品C 物品D
用户A
用户B
用户C 推荐

算法存在的问题

主要是稀疏问题

  1. 对于一个新用户,很难找到领居用户
  2. 对于一个物品,所有最近的邻居都在其上没有多少打分

针对上诉基础解决方案

  1. 相似度计算最好有皮尔逊相似度
  2. 考虑共同打分物品的数目,如乘上min(n,N)/N n:共同打分数 N:指定阈值
  3. 对打分进行归一化处理
  4. 设置一个相似度阈值,过滤掉部分内容

基于用户的协同过滤在实际应用中用的很少,主要是以下问题:

  1. 稀疏问题,一个用户标签有很多都是空的
  2. 数百万的用户计算量,计算效率低
  3. 人是善变的

推荐阅读更多精彩内容