本帖最后由 zmztx 于 2019-7-27 08:13 编辑 : ~ i, ~: w0 o( F
$ s: f4 z* g$ N7 ugoogle矩阵以及MapReduce算法(网上的一个简单解释版) ! {; D1 r6 P- ~# i9 t! ~4 N# D( P/ Q6 `
5 v$ E9 Q3 _* x# N* D4 M
: N3 d6 D( N$ y5 R+ |% S& c$ k+ E5 |& Z# x/ S2 o0 Q! `
Map-Reduce, 通过将运算矩阵按页面分离到多个页面进行运算,例如运算节点1上放1000个页面,这1000个页面的外链有4000个,那么这个节点的矩阵也就是一个1000列,4000行的,那么Map-Redure可以取特征向量的对应的1000个(1列,1000行)的值到该节点进行矩阵运算,然后会得到一个(1列,4000行)的向量,每个页面实际对应到一行,传递到汇总节点进行汇总求和即可。
, r/ j" l+ J- g8 z6 W 这里有个问题就是可能各个运算节点的页面不一样,所以最终各个节点合并矩阵时,最终可以类似成为一个hash表一样定位页面,然后将各个页面算出来的一列向量进行定位求和,最终得到计算出来的特征向量,第一次计算出来之后,才能知道这次运算的向量到底是有多少个页面。
, s7 n |+ C+ X- V3 ?
" t8 y: ]2 q8 D+ W5 k% ?+ b6 d5 r5 F
0 Y6 n. l" C' H+ Z! c! Z9 b |