Pagerank 的mapreduce
来源:互联网 发布:http传输数据大小 编辑:程序博客网 时间:2024/06/08 09:49
什么是pagerank,不说了,机器学习10大算法之一,网上搜一堆。谷歌发明的网页搜索方法。简单说就是原来N个网页,有一个初始概率向量,然后有一个转移矩阵,跟原始概率向量相乘(一般还要考虑陷阱问题,所以一般每一步是个乘加)(其实就是一个马尔可夫过程),得到一个新的概率向量。然后反复乘加。由于网页实在太多,所以可能计算量相当大。可以说谷歌发明分布式mapreduce(hadoop)最初就是用来解决pagerank大计算量的。所以研究pagerank的mapreduce可以说是机器学习方法的分布式化的一个非常好的例子。
由于矩阵相乘的计算量实在是太大,而网页之间的跳转一般只在少数之间相关联,所以转移矩阵一般来说是稀疏矩阵,零元素较多,因此可以采用只存储非零元素的方法来进行压缩存储。
一般存储格式如下:
然后一个Driver类发起的对data的初始划分,输入目录是:output/data,输出目录是:output/clusters-0。这里我们假设样本被划分为了3份小样本文件,分散在cluster中,如上图右侧。
1、Map阶段
Map操作的每一行,对所有出链发射当前网页概率值的1/k,k是当前网页的出链数,比如
第1个map处理划分出的第一个文件,在第一行输出,1/3*1/4>,,1/3*1/4>,,1/3*1/4>;
第2个map处理划分出的第二个文件,第1行输出,
第3个map处理划分出的第三个文件,第,1行输出,
然后在reduce阶段。统计特定网页的权值累加。pj=a*(p1+p2+…Pm)+(1-a)*1/n,其中m是指向网页j的网页j数,n所有网页数。
然后Driver代码中还要完成多次迭代,直至收敛。
0 0
- Pagerank 的mapreduce
- PageRank的MapReduce实现
- MapReduce实现的PageRank原理
- PageRank算法的MapReduce实现
- pagerank算法的MapReduce实现
- 算法系列:PageRank算法的MapReduce实现
- 基于MapReduce的PageRank算法实现
- 基于MapReduce框架的PageRank算法实现
- PageRank及其MapReduce实现
- PageRank Hadoop MapReduce
- MapReduce实例之PageRank
- PageRank算法实现------MapReduce
- mapreduce下pagerank算法 自动收敛的算法
- MapReduce框架中PageRank算法的代码实现
- Hadoop-MapReduce下的PageRank 矩阵分块算法
- 实践Demo:基于MapReduce的PageRank网页排序
- 使用MapReduce实现Pagerank算法
- 使用MapReduce实现PageRank算法
- python 集合操作 set
- CUDA 共享内存的bank co…
- 贪心算法经典例子
- Linux(ubuntu) 下安装Boost 库
- Kmeans 的MapReduce实现原理
- Pagerank 的mapreduce
- 二维数组的指针
- 手写数字识别的机器学习方法讨论
- java spring框架学习总结
- C++ 结构体 内存分配
- 从STL容器的使用对比,研究hashmap…
- 安卓 在任意地方启动另一个AP…
- C++ 排列组合
- Monkeyrunner