Collaborative Filtering
协同过滤的出发点是根据用户之间的类似行为或者items之间的相似性来进行推荐:一方面,兴趣爱好相似的用户可能对同样的东西有兴趣;另一方面,用户可能对与自己评过分的items、购买过的items相类似的items感兴趣。协同过滤推荐在向用户进行推荐的时候,不需要考虑items的内容,所以能对机器不能分析的对象进行推荐,比如:视频、音乐、图像等。
相似的Users
余弦相似性:通过计算向量之间的余弦夹角来度量用户间相似性。
皮尔森相似性:表示两个变量关系的强度,位于[-1,1]之间,不过很少能看到-1,1,0,皮尔森相似性越接近0,数据点里拟合直线越远。
高相关:0.5 to 1.0 或者 -0.5 to 1.0
中等相关: 0.3 to 0.5 或者 -0.3 to 0.5
低相关: 0.1 to 0.3 或者 -0.1 to -0.3
皮尔森相似性和(修正)余弦相似性的区别在于:(修正)余弦相似性分母为整个评分item上的长度,皮尔森相似性共同评分item的长度。
相似的度量
修正余弦相似性解决余弦相似性仅考虑向量方向上的相似而没考虑到各个维度的量纲的差异性,因此对每个维度减去均值进行修正。如对用户A来说评分3以上就是自己喜欢的,而对于用户B而言4分以上才是自己喜欢的。
Rating Predictions
通过user-item评分矩阵,计算目标item与其他item之间的相似性,然后根据相似性计算结果,选出和目标item相似程度最大的k个items组成目标项目的最近邻居集合。
Item-Item Collaborative Filtering
Item-Item CF(N=2)
CF:Common Practice
Item-Item VS. User-User
Collaborative Filtering 优缺点
冷启动问题分为新Item问题和新User问题。一个新的item被添加到推荐系统中时,由于用户对该项目的评价很少或为零,系统就无法通过相似性计算来进行推荐;同样,当一个新用户没对任何item评过分时,系统无法通过评分信息来找到这个用户的最近邻居,并产生推荐。
协同过滤算法通过用户对item的评分来计算用户或者item之间的相似性,再通过选定最近邻居集合计算预测评分,从而产生推荐。要准确地计算对象之间相似性,就要获得大量的评分数据。然而,在实际应用中,虽然用户和items的数量都很大,但系统获得的评分数量却很有限。这种情况导致评分数据的极端稀疏性,使得传统相似性计算方法不能准确地计算出用户或者items的相似程度,从而降低了推荐系统的推荐质量。
评估标准
参考资料
CS246: Mining Massive Datasets Jure Leskovec, Stanford University