本帖最后由 zmztx 于 2019-7-27 08:13 編輯 , G$ n( j, d6 H' o9 w
2 `2 M7 L, u6 p, g, O5 l9 D3 u* O- Vgoogle矩陣以及MapReduce算法(網(wǎng)上的一個簡單解釋版) ! q% ?6 A8 u c2 P+ S* }3 k6 L
U: M6 `) ?( j3 A
, _. i% a* O& D# J3 Q, h" Y$ E& O4 E
% a. b1 D9 Z! c
Map-Reduce, 通過將運算矩陣按頁面分離到多個頁面進行運算,例如運算節(jié)點1上放1000個頁面,這1000個頁面的外鏈有4000個,那么這個節(jié)點的矩陣也就是一個1000列,4000行的,那么Map-Redure可以取特征向量的對應的1000個(1列,1000行)的值到該節(jié)點進行矩陣運算,然后會得到一個(1列,4000行)的向量,每個頁面實際對應到一行,傳遞到匯總節(jié)點進行匯總求和即可。
: h6 B5 Q* l Z( I9 D 這里有個問題就是可能各個運算節(jié)點的頁面不一樣,所以最終各個節(jié)點合并矩陣時,最終可以類似成為一個hash表一樣定位頁面,然后將各個頁面算出來的一列向量進行定位求和,最終得到計算出來的特征向量,第一次計算出來之后,才能知道這次運算的向量到底是有多少個頁面。 : @- P" [( t; U, b1 a
8 p/ k. d! Q7 h- w; g& L3 p- A
3 l( E1 w7 O# [* a. R/ G6 h; b, T
|