推荐系统之协同过滤

TOC

数据集

  • 上下文

上下文指用户当前访问所处的环境,如时间,地点,网络类型,机器型号等信息。

  • 隐式反馈数据集

通常是指服务器日志,可能含有上下文,如浏览历史。

  • 显式反馈数据集

通常是指用户调查,反馈模块等的数据,如电影的评分,是否喜欢。

协同过滤

根据用户已有的行为或意见预测当前用户最可能感兴趣的物品。
数据集通常由三部分构成:用户集合,物品集合,用户物品行为集合。
协同过滤的主要算法分为两类:

  • 基于用户的协同过滤:
根据相似用户预测前前用户最可能感兴趣的物品。
  • 基于物品的协同过滤
根据用户的历史行为预测当前用户最可能感兴趣的物品。

基于用户的协同过滤

核心算法-用户相似度


  • 余弦相似度

  • Jaccard公式

时间复杂度为O(|U|*|V|)

  • Pearson相关系数

以上公式均可以引入平均值来提高准确率

基于物品的协同过滤

核心算法 - 物品相似度

主要通过分析用户行为记录计算物品间的相似度

基于物品的协同过滤算法主要分为两步:

  1. 计算物品间的相似度
  2. 根据物品的相似度和用户的历史行为生成推荐列表

相关公式

  • 余弦公式

N(i)为购买过物品i的用户集合。$$W_{ij}$$为物品i与物品j的相似度。

  • 使用IUF(Inverse User Frequence)修正后的物品相似度公式

N(u)为用户u购买过的物品集合

  • 物品相似度归一化

归一化可以提高准确度、覆盖率以及多样性

posted @ 2015-10-09 13:52  lotushy  阅读(512)  评论(0编辑  收藏  举报