Fire 2017.12.05
参考文献 A Survey of Collaborative Filtering Techniques,Xiaoyuan Su,2009
基本假设:用户x和y评价n个物品的分数相似,或者有类似的行为,因此在其他物品上极有可能有相似的评价或者行为。
两种CF方法:基于记忆的,基于模型的。
- 基于记忆的使用用户评价数据计算用户和物品间的相似性。已经成功商用,比如亚马逊(减少了用户的搜索工作,提高用户忠诚度,提高销量,更多广告收益,目标商品的促销)。特点是容易实现且高效。缺点有稀疏性等。
- 基于模型的CF克服了1的一些缺点,它使用纯净的打分数据来评估或者学一个用于预测的模型。模型可以是一个数据挖掘或者机器学习算法,例如贝叶斯信念网络/聚类/潜在语义/马尔可夫决策过程。
同时除了CF,还有一个重要的类别:基于内容过滤。通过分析内容信息找到规律。他们都有所局限。 混合推荐系统就是为了解决这些局限而提出的,组合不同类型的方法实现。
-
数据稀疏性。它出现在几种情景下:
- 冷启动(新的用户/物品没有足够信息很难找到相似的)
- 覆盖率(推荐系统可推荐的物品比例)
- 减少覆盖(物品很多,用户评分很少)
- 邻居传递性(用户间评分物品没有交集)
虽然有很多方法提出了(TAN-ELR/svd/pca/lsi),混合cf算法更好。额外的内容信息用于对新用户/物品产生推荐。
-
可扩展性(看看mark的用户/电影数)。当用户/物品都达到百万级别时,即使O(n)的CF也很耗时,而且很多系统需要直接即时反应。SVD和增量SVD是一个办法。而基于记忆的CF比如基于物品的皮尔逊相关度CF算法可以在扩展性上有很好的表现。基于模型的CF都有一些办法应对扩展性问题,但是要权衡一个扩展性和预测准确性。
-
同义字研究。基于记忆的CF把相同类型的不同名称看作没有联系。可以通过SVD,LSI进行一定的处理。
-
灰羊。用户的意见和任何群体都不完全一致。黑羊,和群体相反的品味,几乎不能做推荐,但非推荐系统的人为推荐一样存在黑羊,所以这是一个可以接受的问题。Claypool提出了一个混合基于内容的CF系统,预测用户在两者之间的权重,使系统对每个用户有最佳的混合效果,有助于解决灰羊问题。
-
欺诈攻击。在每个用户可以提供推荐的系统,人们可能给自己的物品给一大堆好评,给竞争者很多差评。研究发现基于物品的CF比基于用户的CF更少受影响。混合CF和模型CF都有一定的处理这个的能力。
-
其他:用户隐私/增加的噪音数据/可解释性。
- 相似度计算。根据两个用户都评价过的物品计算,有很多计算方法:
- 基于相关性的相似度:皮尔逊相关度/约束皮尔逊相关度/spearman rank相关度/Kendall‘s相关度
- 基于向量余弦的相似度
- 预测和推荐计算。计算方法:
- 其他评分加权和
- 简单的加权平均
- top-N推荐
- 扩展:默认投票/反向用户频率/样例放大/imputation-boosted cf/权值主要预测
- 贝叶斯信念网络。扩展性比基于皮尔逊相关度的CF好,计算时间少一些,但准确率低一点。
- 聚类CF算法。衡量相似性也用皮尔逊相关度或者Minkowski距离等。可扩展性好,复杂的计算都是离线的,但是推荐质量比较低,
- 基于回归的CF算法。通过一些方法改进后的模型可以解决一些稀疏性的问题。
- 基于MDP的CF。看作一个序列优化问题而使用马尔可夫决策过程。线上结果显示使用了MDP的比没有使用的效果要好。
- 潜在语义CF算法。依赖于统计模型技术,引入了潜在类别变量来发现用户社群和用户评分概括。有更高的准确率和更大的扩展性。
- 其他。应用中排序比分类更好,Cohen引入了一个双层排序学习CF模型。/基于联系规则的CF算法在top-N推荐中用的更多,/最大熵方法。/依赖网络。/决策树CF。/Horting。/MMFs。/概率PCA。/基于矩阵因子的CF。
- CF+基于内容的特征。使用朴素贝叶斯作为内容分类,然后用预测值填补评价矩阵的缺失值,然后使用加权皮尔逊相关度计算预测结果。
- CF+其他推荐系统。加权混合使用多个推荐算法,然后加权得到最终结果。权值可以调整。/交换混合设置一些优先级,这样当一个推荐系统无法做出有把握的推荐时,另一个就可以用来推荐。
- 混合CF算法。混合基于记忆的和基于模型的。作为一个集成分类器准确率更高。代表有PMCF/PD.
- MAE 平均绝对误差
- EMSE 均方根误差
- ROC曲线