做过推荐系统的人估计都会懂得下面公式中基本元素的含义,这里就不多做解释了,这个算法是我在一个项目中开发的,原本该算法是一个并行处理的算法,为了阐述算法的本质,我把它凝练成下面的代码段,重点在于阐述原理。

用户相似度矩阵的计算原理

基于用户的协同过滤算法-适宜于分布式处理的用户相似度计算

N(u): 用户u操作过的物品集合

N(i) : 对物品i有过操作的用户集合

Wuv : 用户u,v的相似度

 

基于用户的协同过滤算法-适宜于分布式处理的用户相似度计算

存储模型

Ø使用mongoDB作为数据存储模型,这是因为mongoDB作为非关系数据库在存储嵌套文档时具有更高的效率。

ØmongoDB将数据缓存在内存中,只当必要时才会将数据写入外存,但是对开发者来说其屏蔽了内外存交互的细节。

实验时我用了8台pc机,在其中四台上搭建了一个mongoDB集群,另外四台用于做并发系统,测试数据集是MovieLens,其中用户数量为70000,项目数量为10681,用户行为为1000万。

pc机的配置为

基于用户的协同过滤算法-适宜于分布式处理的用户相似度计算

程序运行完毕用时2.1h。

相关文章:

  • 2022-02-14
  • 2021-09-27
  • 2022-01-17
  • 2022-12-23
  • 2021-11-28
  • 2021-09-09
  • 2022-12-23
猜你喜欢
  • 2021-10-21
  • 2021-06-14
  • 2021-04-02
  • 2022-01-22
  • 2022-12-23
  • 2021-11-15
相关资源
相似解决方案