<五>、简单分析基于物品的 CF(Item CF)推荐算法

参考:https://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy2/

           http://blog.fens.me/mahout-recommendation-api/

一、基本原理

基于物品的 CF 的原理和基于用户的 CF 类似,只是在计算邻居时采用物品本身,而不是从用户的角度,即基于用户对物品的偏好找到相似的物品,然后根据用户的历史偏好,推荐相似的物品给他。从计算的角度看,就是将所有用户对某个物品的偏好作为一个向量来计算物品之间的相似度,得到物品的相似物品后,根据用户历史的偏好预测当前用户还没有表示偏好的物品,计算得到一个排序的物品列表作为推荐。图 3 给出了一个例子,对于物品 A,根据所有用户的历史偏好,喜欢物品 A 的用户都喜欢物品 C,得出物品 A 和物品 C 比较相似,而用户 C 喜欢物品 A,那么可以推断出用户 C 可能也喜欢物品 C。

图 3.基于物品的 CF 的基本原理
图 3 基于物品的 CF 的基本原理

基于用户对物品的偏好找到相似的物品,然后根据用户的历史偏好,推荐相似的物品给他。

从计算的角度看,就是将所有用户对某个物品的偏好作为一个向量来计算物品之间的相似度,得到物品的相似物品后,根据用户历史的偏好预测当前用户还没有表示偏好的物品,计算得到一个排序的物品列表作为推荐。
上图给出了一个例子,对于物品A,根据所有用户的历史偏好,喜欢物品A 的用户都喜欢物品C,得出物品A 和物品C 比较相似,而用户C 喜欢物品A,那么可以推断出用户C 可能也喜欢物品C。

二、算法实现

    首先计算物品之间的相似度,然后根据物品的相似度和用户的历史行为给用户生成推荐列表

步骤

1. 建立物品的同现矩阵
2. 建立用户对物品的评分矩阵
3. 矩阵计算推荐结果

拿Mahout In Action中的案例说明

测试数据:

1,101,5.0
1,102,3.0
1,103,2.5
2,101,2.0
2,102,2.5
2,103,5.0
2,104,2.0
3,101,2.5
3,104,4.0
3,105,4.5
3,107,5.0
4,101,5.0
4,103,3.0
4,104,4.5
4,106,4.0
5,101,4.0
5,102,3.0
5,103,2.0
5,104,4.0
5,105,3.5
5,106,4.0

数据说明:用户ID,物品ID,评分

转化为矩阵:



步骤1:建立物品的同现矩阵
按用户分组,找到每个用户所选的物品,单独出现计数及两两一组计数。即统计任一两个物品同时被评分的人的个数,首行首列和对角线值相同代表物品单独出现的次数,例如对于101商品1、2、3、4、5用户都有评分即其本身出现了5次所有(101,101)为5,(101,102)代表同时对101和102评分的用户个数即1、2、5号用户共三个人所以(101,102)为3.



步骤2:建立用户对物品的评分矩阵



对于3号这个用户就是标黄了的


步骤3:矩阵计算推荐结果 其中对3号用户的计算为同现矩阵与3号用户对物品的评分矩阵相乘



对于3用户推荐其没有评分的的102、103、106中的103,103的26.5值最高,和计算结果一致

1 [104:1.280239,106:1.1462644,105:1.0653841,107:0.33333334]
2 [106:1.560478,105:1.4795978,107:0.69935876]
3 [103:1.2475469,106:1.1944525,102:1.1462644]
4 [102:1.6462644,105:1.5277859,107:0.69935876]
5 [107:1.1993587]


  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
基于itemcf算法的图书推荐系统是一种利用用户对图书的行为数据(如购买、阅读、评分等)来实现个性化推荐的系统。 首先,系统会收集用户对图书的行为数据,并将其转化为用户-图书的倒排表。然后,根据用户的历史行为数据,找到与用户行为相似的其他用户集合,并推荐这些用户喜欢的图书。 itemcf算法的核心思想是基于图书之间的相似度来进行推荐。系统会计算图书之间的相似度,一般采用余弦相似度或Pearson相似度等计算方法。相似度高的图书会被认为是相似的,因此,当用户对某个图书表现出兴趣时,系统会根据该图书的相似图书来推荐给用户。 具体而言,基于itemcf算法的推荐系统会根据用户历史行为信息,计算用户对每本图书的兴趣度。首先,系统会根据用户历史行为数据计算图书之间的相似度,然后根据用户的历史行为,对相似图书的兴趣度进行加权计算,得到用户对每本图书的兴趣度评分。最后,系统会根据用户的兴趣度评分,给用户推荐兴趣度最高的图书。 基于itemcf算法的图书推荐系统具有以下优点:首先,可以根据用户的个性化需求进行精准的推荐。其次,该算法只需计算图书之间的相似度,而不需要考虑用户的个人特征,因此计算复杂度较低。另外,该算法能够发现用户潜在的兴趣点,帮助用户发现新的内容。 然而,基于itemcf算法的图书推荐系统也存在一些缺点,例如对于新用户或冷启动问题,由于缺乏用户的历史行为数据,推荐结果可能不准确。此外,由于该算法主要基于图书之间的相似度,可能忽略了用户的个人偏好和特征。 总的来说,基于itemcf算法的图书推荐系统能够根据用户行为数据实现个性化推荐,并可通过不断优化相似度计算和兴趣度评分算法来为用户提供更准确的推荐结果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值