推荐算法之基于物品的协同过滤算法

基于物品的协同过滤算法是推荐系统中的常见方法,它通过计算物品之间的相似度为用户生成推荐。主要包括计算物品相似度和生成推荐列表两步。物品相似度计算通常涉及用户行为,考虑用户对物品的兴趣一致性,并可以通过惩罚流行物品、用户活跃度以及归一化等方法优化。最终,根据物品相似度为用户推荐与其历史购买行为相关的物品。
摘要由CSDN通过智能技术生成

基于物品的协同过滤算法(ItemCF)是业界应用最多的算法,主要思想是利用用户之前有过的行为,给用户推荐和之前物品类似的物品。

基于物品的协同过滤算法主要分为两步:

1)计算物品之间的相似度。

2)根据物品的相似度和用户的历史行为给用户生成推荐列表。

第一步的关键点在于计算物品之间的相似度,这里并不采用基于内容的相似性,而是去计算在喜欢物品i的用户中有多少是喜欢物品j的,这样计算的前提是用户的兴趣爱好一般是比较确定的,不容易变,那么当一个用户对两个物品都喜欢的时候,我们往往可以认为这两个物品可能属于同一分类。令N(i)表示购买物品i的用户数,则物品i和物品j的相似度可以用wij = |N(i)&N(j)|/N(i)来计算。


第一步时间复杂度的改进方法:和UserCF类似,我们可以建立一张用户-物品的倒查表,这样每次去计算一个用户有过行为的那些物品间的相似度,能够保证计算的相似度都是有用的,而不用花大的计算量在那些0上面(肯定是个稀疏矩阵)

第一步相似度的改进方法1:若根据上面的公式来计算相似度,你会发现,物品i跟流行物品j的相似度很高,因为流行读高,所以基本人人都会买,这样的话流行度高的物品就比较没有区分度,所以我们需要惩罚流行物品j的权重wij = |N(i)&N(j)|/sqrt(N(i)*N(j))

第一步相似度的改进方法2:需要惩罚用户的活跃度。若用户活跃度比较低,只买了有限的几本书,那么这几本书很有可能在一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值