本帖最后由 zmztx 于 2019-7-27 08:13 編輯
; v2 ?$ a* `' Y' ?( E+ G/ ]
# P4 H7 s$ c- j5 k1 K9 `+ ygoogle矩陣以及MapReduce算法(網上的一個簡單解釋版) 4 R* [$ ?; ?$ M
( D( @9 S4 s- p1 V# R/ b
0 \7 @7 r5 |" v4 ?3 S: u
' x1 Y* }7 X% n# Q Map-Reduce, 通過將運算矩陣按頁面分離到多個頁面進行運算,例如運算節點1上放1000個頁面,這1000個頁面的外鏈有4000個,那么這個節點的矩陣也就是一個1000列,4000行的,那么Map-Redure可以取特征向量的對應的1000個(1列,1000行)的值到該節點進行矩陣運算,然后會得到一個(1列,4000行)的向量,每個頁面實際對應到一行,傳遞到匯總節點進行匯總求和即可。 3 t+ e1 P6 [ R2 ~% f3 \+ j2 j2 a
這里有個問題就是可能各個運算節點的頁面不一樣,所以最終各個節點合并矩陣時,最終可以類似成為一個hash表一樣定位頁面,然后將各個頁面算出來的一列向量進行定位求和,最終得到計算出來的特征向量,第一次計算出來之后,才能知道這次運算的向量到底是有多少個頁面。
$ L% e* D/ {; {1 J
! }9 W# p2 M8 k* U: t
1 t* x8 {& x0 |" `% M& |7 F; r% L# l |