一、协同过滤(collaborative filtering,CF)
1.由于v(信息量)> v(处理过程),所以有限时间里浏览有用商品。也就是使用集体的智慧来推荐相关产品。
2.传统的是基于用户的,根据用户的行为习惯进行相似的预测。
3.两个主要的挑战:scalability和quality,一般情况下是the more ,the worse
4.那基于商品的有什么优点:items之间可是static的,这样可以减少线上计算
二、关于基于协同过滤推荐系统的相关研究
1.Tapestry : 最早的基于CF的RS
2.Grouplens: research system : Usenetnews and movies
3.Ringo and Video Recommender : email
4.聚类算法: 平均簇内其他用户的个人爱好
5.horting: 基于图技术的
6. 协同过滤的两个遍体:memory-based 和 model-based
2.1 基于RS的CF
2.0.1 overview of the CF process
1.active user : CF 的任务主要就是prediction 和recommendation
Predition : 对active user 的未买商品进行评分估计
Recommendation:Top-n recommendation
2.协同过滤算法主要是两类: memory-based(user-based)和model-base(item-based)
memory-based CF:近邻,prediction
model-based CF : 首先是建立model of user ratings , rule-based 方法
2.0.2基于用户的CF算法的难题:
sparsity:大量商品但只购买了一小部分。accuracy 可能会很差
scalability:both the number of users and the number of items
目前针对以上问题的解决:
1>第一个尝试通过吸收semi-intelligent filtering agents到系统来解决数据稀疏性问题[23,11]。
2>使用LSI ,在降维空间中来捕获user和item之间的相似度[24,25]。
下图就是一个系统过滤的处理过程
三、基于item的CF算法
3.1 item 的相似度计算
首先就是基于user-item矩阵进行item相似度计算,这里主要是取co-rated的items,也就是说,取出对商品i和商品j同时打分的用户,然后,计算两个商品之间的相似度,如下图所示。
计算相似度的三种主要方法:
3.1.1 基于cosine的相似度计算
3.1.2 基于correlation的相似度计算
这个主要就是找出co-rated 的cases,然后计算Pearson-r相关系数,计算公式中,R(u,i)表示用户u在item i上的打分,Ri拔是项目i的平均分。
3.1.3 校正cosine的相似度计算
使用传统的cosine是有缺陷的:不同用户之间的打分程度没有考虑进去,比如说,一个人对三个项目的打分时(1,2,3),但是,另一个人的打分趋势可能和他相同,但是打分的大小程度却不一样。因此,也就引入了校正的cosine相似度计算。
user-based CF 和 item-based CF之间的相似度计算的最大区别:user-based的CF相似度是通过矩阵的行,而item-based CF的相似度计算式通过列。
3.2 prediction computation
主要通过两个技术来通过CF对target user进行预测
3.2.1 weighted sum
该方法主要是捕获到active user对之前item的打分,然后找到相似的item,评估相似item的打分。
3.2.2 Regression
和之前的相似,只是基于回归模型对rating做了一个近似。
下面是一个基于item的CF算法,主要是通过5个近邻作出的prediction
3.3性能估计
1.user-user的相似度计算在技术上已经遇到了瓶颈,一种可以大大提高scalability的方法是使用model-based方法。
2.item之间的关系一般都是static的,而用户之间的行为习惯总是发生改变,因此提出基于item的cf。该方法虽然节省了时间,但是需要O(n^2)的空间
3.对于每个item,我们只需要计算前k个相似的item即可,无需计算所有的item,这样可以大大减少计算量。the most simliar items ,the most to the prediction scores
四、实验评估
4.1.训练集和测试集。
一个想法比较好,提出一个数据集sparsity level的概念—1-nonzero entries/total entries,用来评估数据的稀疏性。
4.2 评估度量
1.精确性
MAE(mean absolute error):越低,RS预测越准确
2.决策支持精确度
reversal rate, weighted errors and ROC sensitivity [23]
4.3 实验过程
1.这个思想很好:确定不同算法中每个参数的sensitivity,然后从这些sensitivity中固定这些参数的最优值,然后将他们用于后面的实验。
2.通过交叉验证(10-fold cross validation),实验随机的选择不同的训练集和测试集,然后取平均MAE
[23] Agents for Better Recommendations. InProceedings of the AAAI'99 conference, pp. 439-446.
[11]Go o d, N ., Schafer, B ., Konstan, J., Borchers, A.,Sarwar, B., Herlo cker, J., and Riedl, J . (1999).Combining Collab orative Filtering With Personal Agents for Better Recommendations. InProceedings of the AAAI'99 conference, pp. 439-446.
[24,25]Sarwar, B . M., Karypis, G., Konstan, J. A., and Riedl,
J. (2000). A pplication of Dimensionality R eduction in
Recommender System{A Case Study.InACM
WebKDD 2000 Workshop
[25] Sarwar, B . M., Karypis, G., Konstan, J. A., and Riedl,
J. (2000). Analysis of Recommendation Algorithms for
E-Commerce. InProceedings of the ACM EC'00
Conference. Minneap olis, MN. pp. 158-167