Collaborative Filtering

来源:互联网 发布:mac safari 扩展插件 编辑:程序博客网 时间:2024/05/17 08:30

Paper链接:http://www.cs.umd.edu/~samir/498/Amazon-Recommendations.pdf
博客链接:http://www.xysay.com/amazon-item-to-item-collaborative-filtering-207.html

分布式处理

重编号

  • 功能是,为了避免数据倾斜,以及本来是string类型的id
  • 就是分桶,每个桶预设了默认的起始,比如1000000、2000000,依次自增

做归一化

  • 观察cos距离公式,其实就可以是向量各自除以它的模,再相乘,为了后面分布式的处理

分块分发

  • 为了在MR里实现,分块处理。比如分成四块,那算相似度,可以看成是下面的两个的相乘
    这里写图片描述
  • 其实上面的分块,对应的就是一个4*4的行列式,如下图,所以,在map阶段,分为“left”“right”两种类型,每份数据map多次,map到不同的多个reducer里面
    这里写图片描述
  • 然后,根据left right的标示,就知道该计算计算哪个了。
  • 最后,再做一次取top就行了。
0 0
原创粉丝点击