收集数据生成用户商品评分矩阵,构建用户或商品相似度矩阵,利用近邻用户或近邻商品的评分进行加权平均求和得到当前用户没有浏览过的产品评分,选择该用户对没有浏览过的评分TopN的产品列表推荐给当前用户
-
相似度计算
在UserCF中使用pearson相似度比较多
在ItemCF中使用改进余弦相似度比较多
-
评分计算
加权平均求和、基于均值计算的加权平均求和、基于偏置项计算的加权平均求和(效果最好)
-
新用户或新品的冷启动问题
1.利用混合方法进行推荐,利用外部特征对样本进行分类、聚类建模
2.TopN热销推荐,新品推荐
-
评分稀疏问题
1.使用相对较少的有效评分来预测。
2.利用用户/物品的额外特征属性进行分类、聚类操作来得到相似用户/物品列表。
3.可以使用缺省投票的形式补全评分数据
-
评分初始化
评分一般采用两分制、五分制、七分制、十分制四种。通过以下两种方式
1.显示评分:通过问卷调查的方式收集用户对于商品的评分
2.隐式评分:当用户购买一个商品或者浏览一个商品的时候,我们可以认为这是一个 正向评分/正向意图,根据既定的规则,比如加权求和,可以将其转换为评分值。eg: 单曲循环=5, 分享=4, 收藏=3, 主动播放=2 , 听完=1, 跳过=-1 , 拉黑=-5
-
近邻的选择
TopN过滤、阈值过滤、负数过滤,交叉验证,一般25~50之间
-
评分的加权
可以根据规则/业务特征对用户-物品评分进行加权,加权之后再对推荐列表做一个排序,最终产生推荐结果
-
UserCF和ItemCF比较
评价指标
1、预测准确度:比如MAE,RMSE
2、分类准确度:
分类准确度定义为推荐算法对一个产品用户是否喜欢判定正确的比例。因此 ,当用户只有二元选择时 ,用分类准确度进行评价较为合适。因此,想要用准确率和召回率评价推荐算法,必须将评分分为两部分,高于某个评分,表示喜欢,低于这个评分,表示不喜欢。
准确率和召回率:
准确率定义为系统的推荐列表中用户喜欢的产品和所有被推荐产品的比率:,准确率表示用户对一个被推荐产品感兴趣的可能性。
召回率定义为推荐列表中用户喜欢的产品与系统中用户喜欢的所有产品的比率,召回率表示一个用户喜欢的产品被推荐的概率。