海量推荐系统:mapreduce的方法

1. Motivation

2. MapReduce

MapReduce是一种数据密集型并行计算框架。

待处理数据以“块”为单位存储在集群机器文件系统中(HDFS),并以(key, value)的键值对形式保存。

当任务启动时,系统将计算任务分配给存储数据的相应机器。

MapReduce计算任务可以划分为两个阶段:

MapReduce数据流图

?

3. scalable similarity-based neighborhood

3.1 user-based 推荐

说明:

:user对商品的评分

:得到了用户u与其他用户的相似度

最后,对于某一商品i,根据其他用户的评分以及用户相似度加权和来得到本用户的预测评分。

之所以称之为user-based方法,算法基于计算用户间的相似度。

3.2 item-based推荐

说明:

得到了物品的相似度矩阵。最后,用户u对物品i的打分就等于用户对物品的打分与物品i相似度的加权和。

因此,推荐系统的核心在于计算相似度矩阵

3.3 scalable计算方法

传统的相似度计算,基于标准的矩阵乘法。

不足之处:

1、在每一个map任务中,要初始化评分矩阵A,map时将输入的item与A的每一列做点乘。当矩阵A巨大时,内存消耗巨大。

2、传统计算方法复杂度与item数的平方成正比。并且,不能利用user评分稀疏性的性质。

改进的方法

其中,为列向量,为用户u的打分向量

具体方法:

首先对每一个用户的评分向量做乘积。

然后将这些乘积相加,就得到了相似度矩阵。这样,就可以以A的行向量为单位进行数据的划分。

mapreduce计算框架

?

?

?

参考文献:

[1]?Scalable Similarity-Based Neighborhood Methods with MapReduce?

海量推荐系统:mapreduce的方法

时间: 2024-10-11 17:44:22

海量推荐系统:mapreduce的方法的相关文章

推荐系统的评测方法及指标

首先声明,以下内容是看了项亮的<推荐系统实践>后 写的,内容基本出自该书,只是我自己再归纳总结一下而已(以免喷子又喷) 推荐系统中,主要有三种评测推荐效果的实验方法: 1)离线实验. 往往是从日志系统中取得用户的行为数据,然后将数据集分成训练数据和测试数据,比如80%的训练数据和20%的测试数据(还可以交叉验证),然后在训练数据集上训练用户的兴趣模型,在测试集上进行测试. 优点:只需要一个数据集即可,不需要实际的推荐系统(实际的也不可能直接拿来测试),离线计算,不需要人为干预,能方便快捷的测试

推荐系统的评测方法

推荐系统是由一个或者多个算法和策略组成的这样一个系统,其商业价值在于实现产品提供者.产品用户以及推荐平三者的利益共赢.无论从算法的角度还是从商业的角度,效果好不好都是我们所关心的问题,所以实践者们对推荐系统系统提出了各种各样的评测指标来衡量其优劣性和适用性. 在介绍这些评测指标之前,我们先要知道一般会用什么样的方式获得评测指标.在推荐系统中,主要有三种实验方式,用以获得不同的指标,分别是离线实验(offline experiment).用户调查(user study)和在线实验(online e

SQL join中级篇--hive中 mapreduce join方法分析

1. 概述. 本文主要介绍了mapreduce框架上如何实现两表JOIN. 2. 常见的join方法介绍 假设要进行join的数据分别来自File1和File2. 2.1 reduce side join reduce side join是一种最简单的join方式,其主要思想如下: 在map阶段,map函数同时读取两个文件File1和File2,为了区分两种来源的key/value数据对,对每条数据打一个标签 (tag),比如:tag=0表示来自文件File1,tag=2表示来自文件File2.

【推荐系统论文笔记】个性化推荐系统评价方法综述(了解概念——入门篇)

Overview of  the Evaluated Algorithms for the Personal Recommendation Systems   顾名思义,这篇中文论文讲述的是推荐系统的评价方法,也就是,如何去评价一个推荐系统的好与不好. 引言 1.个性化推荐系统通过建立用户与产品之间的二元关系 ,利用用户已有的选择过程或相似性关系挖掘每个用户潜在感兴趣的对象 ,进而进行个性化推荐 ,其本质就是信息过滤. 2.一个完整的推荐系统由3部分组成: 收集用户信息的行为记录模块: 分析用户

(4)推荐系统评测方法和指标分析

选择合适的评测方法对推荐系统进行评测,对于提高推荐系统的推荐质量至关重要.评测方法主要有离线实验,用户调查和在线实验三种.离线实验使用服务器日志文件中的用户行为数据进行评测.用户调查需要有真实的用户参与推荐系统的测试,以获得关于推荐系统推荐质量的宝贵信息.可以进行在线实验做AB测试,获得不同算法在线时的性能指标.除推荐系统的评测方法外,还有若干评测指标可以对推荐系统各方面的性能进行评价,这些评测指标包括用户满意度,预测准确度,覆盖率,多样性,新颖性,惊喜度,信任度,实时性和健壮性等. 原文地址:

大数据技术之_05_Hadoop学习_04_MapReduce_Hadoop企业优化(重中之重)+HDFS小文件优化方法+MapReduce扩展案例+倒排索引案例(多job串联)+TopN案例+找博客共同粉丝案例+常见错误及解决方案

第6章 Hadoop企业优化(重中之重)6.1 MapReduce 跑的慢的原因6.2 MapReduce优化方法6.2.1 数据输入6.2.2 Map阶段6.2.3 Reduce阶段6.2.4 I/O传输6.2.5 数据倾斜问题6.2.6 常用的调优参数6.3 HDFS小文件优化方法6.3.1 HDFS小文件弊端6.3.2 HDFS小文件解决方案第7章 MapReduce扩展案例7.1 倒排索引案例(多job串联)7.2 TopN案例7.3 找博客共同粉丝案例第8章 常见错误及解决方案 第6章

MapReduce on HBase使用与集成

为什么需要MapReduce on HBase? hbase本身并没有提供很好地二级索引方式.如果直接使用hbase提供的scan直接扫描方式,在数据量很大的情况下就会非常慢. 可以使用Mapreduce的方法操作hbase数据库.Hadoop MapReduce提供相关API,可以与hbase数据库无缝连接. API链接: http://hbase.apache.org/devapidocs/index.html HBase与Hadoop的API对比 相关类 TableMapper packa

MapReduce在MES中的应用

MapReduce作为一种重要的编程思想,在互联网开发特别是分布式开发中得到了广泛的应用,MES通常是集中式开发系统,但是MapReduce的方法论也可以予以借鉴,本文以三个实际应用的例子来进行探讨. 应用一:动态工艺参数下载 在MES中,动态工艺参数下载是一个很常见的场景,即在生产的过程中,需要从系统下载得到一些动态工艺参数,比如一些工单的属性.BOM中的特殊零件物料号.在某工位测试的次数等. 最简单的应对方法是写一个专门的程序,把所有可能的逻辑都包含进去,这样带来的问题是: 1)      

【MongoDB】MongoDB数据库之MapReduce编程模型

刚开始阅读<Mongodb入门手册>时候看到mapreduce,当时感觉好难,就直接忽略了.现在重新看到这部分知识的时候,痛下决心学习这块知识. 一.概念说明 MongoDB的MapReduce相当于Mysql中"group by",在mongodb上使用mapreduce执行并行数据统计很容易:使用MapReduce要实现两个函数: map 和 reduce. map函数调用emit(key,value)遍历collection中所有的记录,将key和value传递给Re