usercf 与 itemcf的原理分析
来源:互联网 发布:淘宝网店爆款打造 pdf 编辑:程序博客网 时间:2024/06/03 17:08
再看《推荐系统实践》这本书的时候,在usercf与itemcf的推荐原理上,不是很清晰,特此做了一下总结:
用户:A,B,C,D
商品:a,b,c,d,e
案例一:我们有如下购买行为记录,分别计算矩阵usercf 与 itemcf相似度矩阵
A:a,b,d
B:a,c
C:b,e
D:c,d,e
分别计算usercf 与 itemcf的相似度矩阵:
1,计算usercf:
第一步:建立倒排表:
a:A,B
b:A,C
c:B,D
d:A,D
e:C,D
第二步:根据,总体的倒排关系(注意:这里不是在倒排表上一行一行计算矩阵相似),建立用户的相似度矩阵:
从倒排表整体统计用户之间的相似次数:
A:(B,C,D),B-1次,C-1次,D-1次
B:(A,D),A-1次,D-1次
C:(A,D),A-1次,D-1次
D:(A,B,C)A-1次,B-1次,C-1次
从而得到基于user的相似度矩阵为:
A B C D
A 0 1 1 1
B 1 0 0 1
C 1 0 0 1
D 1 1 1 0
2,计算itemcf:
第一步:根据最初矩阵计算,全量计算每个item(a,b,c,d,e)之间的相关性
A:a,b,d
B:a,c
C:b,e
D:c,d,e
得到:
a:(b,d,c),b-1次,d-1次,c-1次,
b:(a,d,e),a-1次,d-1次,e-1次
c:(a,d,e)a-1次,d-1次,e-1次
d:(a,b,c,e)a-1次,b-1次,c-1次,e-1次
e:(b,c,d)b-1次,c-1次,d-1次
itemcf的相似度矩阵为
a b c d e
a 0 1 1 1 0
b 1 0 0 1 1
c 1 0 0 1 1
d 1 1 1 0 1
e 0 1 1 1 0
案例二:我们有如下购买行为记录,分别计算矩阵usercf 与 itemcf相似度矩阵
A:a,b,d
B:b,c,e
C:c,d
D:b,c,d
E:a,d
1,计算usercf:
第一步:建立倒排表:
a:A,E
b:A,B,D
c:B,C,D
d:A,C,D,E
e:B
第二步:根据,总体的倒排关系(注意:这里不是在倒排表上一行一行计算矩阵相似),建立用户的相似度矩阵:
从倒排表整体统计用户之间的相似次数:
A:(E,B,D,C,D,E),B-1次,C-1次,D-2次,E-2次
B:(A,D,C,D),A-1次,C-1次,D-2次
C:(B,D,A,D,E),A-1次,B-1次,D-2次,E-1次
D:(A,B,B,C,A,C,E),A-2次,B-2次,C-2次,E-1次
E:(A,A,C,D),A-2次,C-1次,D-1次
从而得到基于user的相似度矩阵为:
A B C D E
A 0 1 1 2 2
B 1 0 1 2 0
C 1 1 0 2 1
D 2 2 2 0 1
E 2 0 1 1 0
2,计算itemcf:
第一步:根据最初矩阵计算,全量计算每个item(a,b,c,d,e)之间的相关性:
A:a,b,d
B:b,c,e
C:c,d
D:b,c,d
E:a,d
得到:
a:(b,d,d),b-1次,d-2次
b:(a,d,c,e,c,d),a-1次,c-2次,d-1次,e-1次
c:(b,e,d,b,d),b-2次,d-2次,e-1次
d:(a,b,c,b,c,a),a-2次,b-2次,c-2次
e:(b,c)b-1次,c-1次
itemcf的相似度矩阵为
a b c d e
a 0 1 0 2 0
b 1 0 2 1 1
c 0 2 0 2 1
d 2 2 2 0 0
e 0 1 1 0 0
与usercf矩阵相比较:
A B C D E
A 0 1 1 2 2
B 1 0 1 2 0
C 1 1 0 2 1
D 2 2 2 0 1
E 2 0 1 1 0
结论:
1,usercf 比itemcf多了一次按照商品的倒排,来建立用户之间的关系
2,itemcf与usercf 无矩阵转置等关系,维度各不相同。
- usercf 与 itemcf的原理分析
- UserCF和ItemCF的联系和区别
- UserCF和ItemCF 比较
- UserCF与ItemCF杂想之余弦相似度
- 关于UserCF和ItemCF的那点事
- 关于USERCF和ITEMCF的那点事
- UserCF和ItemCF终极对比
- 推荐系统-itemCF和userCF
- ItemCF与UserCF协同过滤算法简单入门和一般过程
- 推荐系统_LFM和基于邻域(如UserCF、ItemCF)的方法的比较
- LFM和基于邻域(如UserCF、ItemCF)的方法的比较( 推荐系统)
- mahout学习(1)userCF+itemCF
- 推荐算法之用户推荐(UserCF)和物品推荐(ItemCF)对比
- 推荐算法之用户推荐(UserCF)和物品推荐(ItemCF)对比
- 基于物品的协同过滤算法itemCF原理及python代码实现
- mahout基于用户的协同过滤-userCF
- 用图的存储结构实现ItemCF
- itemcf的hadoop实现优化(Python)
- 开源项目之android-async-http开源库
- js学习笔记(一)
- Leetcode(W2):349. Intersection of Two Arrays
- C++中函数在内存中的分布情况
- (五)数据结构之静态查找的简单实现:顺序查找和二分查找
- usercf 与 itemcf的原理分析
- Java代理模式及应用(一)代理模式介绍
- python 访问字典
- Win7 搭建MySQL集群
- Leetcode练习 #4Median of Two Sorted Arrays
- tcp 和 udp 的区别 ,及 udp 实现可靠传输
- Java Map entrySet方法
- SSH与SSM学习之hibernate12——hibernate中的事务
- String优势与StringBuffer,StringBuider优势,还有存于不同区域存在的性能差别