基于商品的协同过滤

本文介绍了协同过滤(CF)推荐系统的基本原理,包括基于用户的CF和基于商品的CF两种方法,并探讨了它们面临的挑战如数据稀疏性和扩展性问题。文中还详细解释了几种相似度计算方法,以及如何通过加权求和或回归来进行预测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、协同过滤(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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值