概要: 推荐系统经过信息获取技术解决在线的我的的消息、产品或者服务的推荐问题。这些系统,特别是基于k临近协同过滤算法,在网络上取得了普遍的成功。可用信息和访问人数的巨大增长成了推荐系统一个难题。基于商品的协同过滤推荐算法应运而生,经过分析用户特征矩阵计算推荐信息。本文主要分析不一样的基于商品的推荐算法,还会同k临近过滤算法比较,同时提供比现存最好的基于用户算法更好的算法。 1、协同过滤算法分类 协同过滤算法主要分为:1.基于存储 2.基于模型 基于存储:它利用整个用户商品数据来产生预测,使用静态的方法找到类似用户,他们评价了不一样的商品可是评价类似或者他们想买类似的商品,一旦造成类似组群,系统就会整合组群来产生预测。这种方法也被叫作临近算法或者基于用户的协同过滤算法,获得普遍的应用。 面临的问题: 1.稀疏问题:商品不少,即便是很是爱买东西的用户买的物品可能都不会超过总商品的1%。 2.性能:计算量随着用户和商品的增长而增长。所以数据量一大性能就下降。 基于模型:它经过产生一个用户评分模型来推荐,这个算法采用了几率论的方法,经过用户给出的指望价值来给其余商品打分,这个模型经过机器学习算法好比贝叶斯网络, clustering, 和 rule-based等等实现的。贝叶斯网络模型为协同过滤算法提供了一个几率模型,Clustering模型把协同过滤算法当成一个分类问题,经过将类似者分组而后估计该客户在这个类别的可能性,经过这些来计算商品评分的可能性。rule-based经过共同购买的商品的相关度来产生基于商品相关度的推荐。 2、协同过滤算法用到的度量技术 商品类似度: 1.cosine类似度:只考虑item向量的点积 2.correlation-based类似度(Pearson类似度):考虑了item的平均评分 3.adjusted cosine类似度:考虑了用户对item的平均评分 预测计算: 1.使用类似度加权平均 2.使用回归模型。使用加权平均时,采用的与预测物品i类似的物品 j的类似度Sim j* j的评分Rj。而使用回归模型时,它会计算出一个线性回归 f(j) =α*avg(Rj) + β + ξ,从而计算出一个不一样于Rj的分值,而后再使用加权平均。 评价系统好坏的方式: 1.statistical accuracy metrics:MOE、RMSE 2.decision support accuracy metrics:reversal rate, weighted errors, ROC 3、结论 1.基于物品的算法预测结果要比基于用户的算法预测结果好 2.基本的基于物品的算法,模型大小越大,推荐质量越好,可是基于回归的物品算法,先是随着模型大小增长而增长,以后质量降低。 3.adjusted cosine similarity效果比较好算法