本帖最后由 zmztx 于 2019-7-27 08:13 編輯
3 x9 c* J0 e. w$ _$ L/ u) ~9 C5 a9 ^& n1 l1 t2 O. k8 [
google矩陣以及MapReduce算法(網(wǎng)上的一個(gè)簡單解釋版) 4 [0 [4 \# T8 ^4 x4 t% `
! w% e0 E' }% S, f: `. h
l' S0 i6 ~ s) e; S g! G. ]7 H8 @' X* g" Y
Map-Reduce, 通過將運(yùn)算矩陣按頁面分離到多個(gè)頁面進(jìn)行運(yùn)算,例如運(yùn)算節(jié)點(diǎn)1上放1000個(gè)頁面,這1000個(gè)頁面的外鏈有4000個(gè),那么這個(gè)節(jié)點(diǎn)的矩陣也就是一個(gè)1000列,4000行的,那么Map-Redure可以取特征向量的對應(yīng)的1000個(gè)(1列,1000行)的值到該節(jié)點(diǎn)進(jìn)行矩陣運(yùn)算,然后會(huì)得到一個(gè)(1列,4000行)的向量,每個(gè)頁面實(shí)際對應(yīng)到一行,傳遞到匯總節(jié)點(diǎn)進(jìn)行匯總求和即可。 1 z& B, |. t3 g/ [4 c
這里有個(gè)問題就是可能各個(gè)運(yùn)算節(jié)點(diǎn)的頁面不一樣,所以最終各個(gè)節(jié)點(diǎn)合并矩陣時(shí),最終可以類似成為一個(gè)hash表一樣定位頁面,然后將各個(gè)頁面算出來的一列向量進(jìn)行定位求和,最終得到計(jì)算出來的特征向量,第一次計(jì)算出來之后,才能知道這次運(yùn)算的向量到底是有多少個(gè)頁面。
$ M; \7 Q( q# }/ C& Z7 Z8 I% R% f. y$ A4 U0 L) V
3 K; I0 ?8 @. M2 R |