协同过滤
协同过滤是最常用的推荐手段,其易于理解,适用领域广,被大量使用。其方式是利用“集体的智慧”来进行推荐。
用户层面
基本思想
用户显式或隐式地对类别的商品进行评分。而在过去品味相近的用户,在未来也会有相近的品味(惯性)。
对于用户x,找到N个其他用户,其评分偏好与用户x相近。然后根据这N个用户给其他商品的评分预测x对其评分,进行推荐。
相似寻找
设$r_x$为用户x的评分列表。
使用皮尔森相关系数来度量相似度$sim(x,y)$
评分预测
设集合N有k个和x相近的用户对物品i进行评分,对x给i评分的预测有各种计算。包括平均、基于相似度的加权平均等
物品层面
对物品i,寻找相近的物品。对相近物品的评分来预测i的评分。可以用用户层面相似的相似度度量和预测函数。
通用方法
定义物品i和j的相似度$s_{ij}$,然后选择k个最近邻$N(i;x)$。利用加权平均计算预测评分$r_{xi}$:
\[r_{xi}=b_{xi}+\frac{\sum_{i\in N(i;x)}s_{ij}\cdot (r_{xj}-b_{xj})}{\sum_{i\in N(i;x)}s_{ij}}\]其中$b_{xi}$为基准线:
\[b_{xi}=\mu +b_x+b_i\]$\mu$为用户在这个领域的平均分,$b_x$为用户打分偏差(x的总平均-领域平均),$b_i$为该领域的偏差
优缺点
优点
不需要进行特征工程
缺点
存在冷启动、数据稀疏、流行偏见等问题
基于内容
学习用户的偏好,定位和用户偏好接近的商品。
基本思想:给用户推荐和ta高度评价的商品相似的商品。
例如电影推荐:相同导演、相同题材等
商品档案
对每个商品建立一个特征向量。特征通过文本挖掘的TF-IDF获取。
TF-IDF得分最高的一批词汇会成为特征。
用户档案
对一批评分过的商品档案的统计
给定用户档案x和商品档案i,其预测评分为x和i的余弦夹角
优缺点
优点
- 不需要其他用户的数据
- 可以对特殊用户实现推荐
- 可以推荐新的、不流行的商品
- 可以提供扩展性
缺点
- 寻找合适特征困难
- 新用户构建较难
- 过于特化