基于领域的协同过滤

  • UserCF:需要找到和他行为相似的用户,给他推荐那些用户喜欢的东西
  • ItemCF:需要给他推荐和他已经使用过的物品相似的物品
  • 隐语义模型:还有一种方法,对物品进行分类,给他推荐他喜欢的分类里的其他物品

UserCF

  • 步骤:
  1. 找到和目标用户兴趣相似的用户集合
  2. 找到这个集合中用户喜欢的,且目标用户未使用的物品集合

步骤1的关键就是计算用户之间相似性,给定用户区域协同组织架构 区域协同模型_机器学习,区域协同组织架构 区域协同模型_推荐系统_02,令区域协同组织架构 区域协同模型_用户兴趣_03表示用户曾经有正反馈的物品,可用Jaccard公式计算:
区域协同组织架构 区域协同模型_区域协同组织架构_04
可以用余弦相似度计算:
区域协同组织架构 区域协同模型_推荐系统_05
则用户区域协同组织架构 区域协同模型_机器学习对物品区域协同组织架构 区域协同模型_相似度_07的感兴趣程度:
区域协同组织架构 区域协同模型_推荐系统_08
区域协同组织架构 区域协同模型_区域协同组织架构_09包含用户区域协同组织架构 区域协同模型_机器学习兴趣最接近的k个用户,N(i)是对物品i有过行为的用户集合,区域协同组织架构 区域协同模型_区域协同组织架构_11代表用户区域协同组织架构 区域协同模型_机器学习对物品区域协同组织架构 区域协同模型_相似度_07的感兴趣程度。

  • 用户相似度计算的改进
    区域协同组织架构 区域协同模型_用户兴趣_14
    该公式通过区域协同组织架构 区域协同模型_用户兴趣_15惩罚了用户u和用户v感兴趣列表中热门物品对他们相似度的影响。

ItemCF

  • 步骤:
  1. 计算物品之间的相似度
  2. 根据物品相似度和用户的历史行为给用户生成推荐列表
    物品区域协同组织架构 区域协同模型_机器学习_16与物品区域协同组织架构 区域协同模型_推荐系统_17的相似度:
    区域协同组织架构 区域协同模型_机器学习_18
    为了避免推荐热门商品,改进为:
    区域协同组织架构 区域协同模型_相似度_19

UserCF和ItemCF的区别

  • UserCF的推荐结果着重于反映和用户兴趣相似的小群体的热点,ItemCF着重于维护用户的历史兴趣。即 UserCF的推荐更社会化,ItemCF的推荐更个性化。
  • UserCF更适合新闻系统:因为新物品出现快,新闻的粒度粗,一般都不会很个性化
  • 而ItemCF在图书,电子商务系统,电影网站更有优势,因为在这些网站中,用户的兴趣是比较持久和固定的

隐语言模型(LFM)

模型

隐语义模型采用基于用户行为统计的自动聚类,LFM通过以下公式计算用户区域协同组织架构 区域协同模型_机器学习对物品区域协同组织架构 区域协同模型_相似度_07的兴趣:
区域协同组织架构 区域协同模型_机器学习_22
公式中区域协同组织架构 区域协同模型_相似度_23区域协同组织架构 区域协同模型_用户兴趣_24是参数,区域协同组织架构 区域协同模型_相似度_23表示用户和第k个隐类的关系,区域协同组织架构 区域协同模型_用户兴趣_24表示第k个隐类和物品i的关系。

采样

  • 推荐系统的数据集分为两种,显示反馈数据集和隐式反馈数据集,
    隐式数据集的特点是只有正样本,没有负样本。
  • 隐式数据集上需要解决的问题就是如何给每个用户生成负样本。

负样本采样应该遵循以下原则:

  • 对每个用户,要保证正负样本的平衡
  • 对每个用户负采样时,要选取那些很热门,而用户却没有行为的物品。

经过采样,可得到一个用户和物品集合,区域协同组织架构 区域协同模型_机器学习_27,其中如果区域协同组织架构 区域协同模型_机器学习_28是正样本,则区域协同组织架构 区域协同模型_相似度_29,否则区域协同组织架构 区域协同模型_机器学习_30

求参数

通过最小化损失函数来找到合适的参数区域协同组织架构 区域协同模型_推荐系统_31区域协同组织架构 区域协同模型_推荐系统_32:
区域协同组织架构 区域协同模型_推荐系统_33
可以通过梯度下降求解。

缺点

  • LFM在实际应用中有一个困难,它很难实现实时推荐,经典的LFM模型每次训练时都需要扫描所有的用户行为记录,而且LFM的训练需要在数据集K上反复迭代,很耗时。
  • 冷启动问题明显

解决方案(雅虎):
区域协同组织架构 区域协同模型_用户兴趣_34的计算分为两个部分:
区域协同组织架构 区域协同模型_机器学习_35
其中,yi是根据物品的内容属性直接生成的,区域协同组织架构 区域协同模型_推荐系统_36是用户u对内容特征区域协同组织架构 区域协同模型_区域协同组织架构_37的兴趣程度,用户区域协同组织架构 区域协同模型_用户兴趣_38可根据用户历史行为获得。
因此, 对于一个新加入的物品i,可先根据 区域协同组织架构 区域协同模型_推荐系统_39 估计用户区域协同组织架构 区域协同模型_机器学习对物品区域协同组织架构 区域协同模型_相似度_07的兴趣,然后几个小时后,再根据区域协同组织架构 区域协同模型_推荐系统_42获得准确的预测值。