További MapReduce szemelvények: gráfproblémák

Slides:



Advertisements
Hasonló előadás
Szimmetriák szerepe a szilárdtestfizikában
Advertisements

Kauzális modellek Randall Munroe.
A TUDOMÁNYOS KUTATÁS MÓDSZERTANA
2.1Jelátalakítás - kódolás
Az úttervezési előírások változásai
Fizika II..
Számítógépes Hálózatok
Profitmaximalizálás  = TR – TC
A járműfenntartás valószínűségi alapjai
Szenzorok Bevezetés és alapfogalmak
Végeselemes modellezés matematikai alapjai
A magas baleseti kockázatú útszakaszok rangsorolása
Szerkezetek Dinamikája
MÉZHAMISÍTÁS.
Hőtan BMegeenatmh 5. Többfázisú rendszerek
BMEGEENATMH Hőátadás.
AUTOMATIKAI ÉPÍTŐELEMEK Széchenyi István Egyetem
Skandináv dizájn Hisnyay – Heinzelmann Luca FG58PY.
VÁLLALATI Pénzügyek 2 – MM
Hőtan BMEGEENATMH 4. Gázkörfolyamatok.
Szerkezetek Dinamikája
Összeállította: Polák József
A TUDOMÁNYOS KUTATÁS MÓDSZERTANA
Csáfordi, Zsolt – Kiss, Károly Miklós – Lengyel, Balázs
Tisztelt Hallgatók! Az alábbi példamegoldások segítségével felkészülhetnek a 15 pontos zárthelyi dolgozatra, ahol azt kell majd bizonyítaniuk, hogy a vállalati.
J. Caesar hatalomra jutása atl. 16d
Anyagforgalom a vizekben
Kováts András MTA TK KI Menedék Egyesület
Az eljárás megindítása; eljárási döntések az eljárás megindítása után
Melanóma Hakkel Tamás PPKE-ITK
Az új közbeszerzési szabályozás – jó és rossz gyakorlatok
Képzőművészet Zene Tánc
Penicillin származékok szabadgyökös reakciói
Boros Sándor, Batta Gyula
Bevezetés az alvás-és álomkutatásba
Kalandozások az álomkutatás területén
TANKERÜLETI (JÁRÁSI) SZAKÉRTŐI BIZOTTSÁG
Nemzetközi tapasztalatok kihűléssel kapcsolatban
Gajdácsi József Főigazgató-helyettes
Követelmények Szorgalmi időszakban:
Brachmann Krisztina Országos Epidemiológiai Központ
A nyelvtechnológia eszközei és nyersanyagai 2016/ félév
Járványügyi teendők meningococcus betegség esetén
Kezdetek októberében a könyvtár TÁMOP (3.2.4/08/01) pályázatának keretében vette kezdetét a Mentori szolgálat.
Poszt transzlációs módosulások
Vitaminok.
A sebész fő ellensége: a vérzés
Pharmanex ® Bone Formula
Data Mining Machine Learning a gyakorlatban - eszközök és technikák
VÁLLALATI PÉNZÜGYEK I. Dr. Tóth Tamás.
Pontos, precíz és hatékony elméleti módszerek az anion-pi kölcsönhatási energiák számítására modell szerkezetekben előadó: Mezei Pál Dániel Ph. D. hallgató.
Bevezetés a pszichológiába
MOSZKVA ZENE: KALINKA –HELMUT LOTTI AUTOMATA.
Bőrimpedancia A bőr fajlagos ellenállásának és kapacitásának meghatározása Impedancia (Z): Ohmos ellenállást, frekvenciafüggő elemeket (kondenzátort, tekercset)
Poimenika SRTA –
Végeselemes modellezés matematikai alapjai
Összefoglalás.
Az energiarendszerek jellemzői, hatékonysága
Varga Júlia MTA KRTK KTI Szirák,
Konzerváló fogászat Dr. Szabó Balázs
Outlier detektálás nagyméretű adathalmazokon
Ráhagyások, Mérés, adatgyűjtés
Járműcsarnokok technológiai méretezése
Grafikai művészet Victor Vasarely Maurits Cornelis Escher.
VÁLLALATI PÉNZÜGYEK I. Dr. Tóth Tamás.
RÉSZEKRE BONTOTT SOKASÁG VIZSGÁLATA
Az anyagok fejlesztésével a méretek csökkennek [Feynman, 1959].
Bevezetés a színek elméletébe és a fényképezéssel kapcsolatos fogalmak
Minőségmenedzsment alapjai
Konferencia A BIZTONSÁGOS ISKOLÁÉRT Jó kezdeményezések
Előadás másolata:

További MapReduce szemelvények: gráfproblémák „Big Data” elemzési módszerek Kocsis Imre ikocsis@mit.bme.hu 2015. 10. 28.

MapReduce: a teljes kép Mapper: általában a chunkok egymás után következő darabkák: a random accesst elkerülendő hagyjuk, hogy szekvenciálisan olvassuk fel az adatokat Reducer: sehol nem garantált, hogy ő adott kulcsokat kap majd meg, emiatt semmilyen dorrendezést nem feltételezhetünk A köztes kulcs-érték párok sehol nincsenek perzisztensen eltárolva, az output viszont igen Forrás: [1], p 30

Partíciók és Kombinálás Legegszerűbb part.: hash(kulcs) mod #reducer f: kulcs  reducer Kombinálás: lokális aggregálás „mini-reducer” Hálózati kommunikáció redukálása Általánosságban nem „csereszabatos” a reducer-rel Word countnál? Vigyázz, ha egyenlően osztjuk szét a reduce-ok között a munkát, az csak annyit jelent, hogy a kulcsok vannak egyenlően szétosztva, az érték listáról nem tudunk semmit

PageRank

PageRank Keresés a weben: találatok sorrendezése? „spam farm”, „term spam”, „spider traps”, … „random surfer” modell látogatás valószínűsége d csillapító paraméter Egy oldal PageRank-je magas, ha sok oldal linkeli vagy magas PageRank-ű oldalak linkelik

PageRank 𝐴 oldalt linkeljék 𝑇 1 , 𝑇 2 ,…, 𝑇 𝑛 oldalak. 0<𝑑<1. Eredeti, publikált default: 0.85 𝐶(𝐴): kimenő fokszám Definíció: 𝑃𝑅 𝐴 = 1−𝑑 +𝑑 𝑃𝑅 𝑇 1 𝐶 𝑇 1 +…+ 𝑃𝑅 𝑇 𝑛 𝐶 𝑇 𝑛 ~ random látogató helyének val. eloszlása

Tranzíciós mátrix

PageRank számítása 𝒗 𝟎 kezdeti eloszlás Egy lépés után: 𝑀 𝒗 𝟎 Két lépés után: 𝑀 𝑀 𝒗 𝟎 = 𝑀 2 𝒗 𝟎 De ez egy Markov folyamat! Van 𝒗 stacionárius eloszlása, Ha a gráf erősen összefüggő és nyelőmentes

PageRank számítása Gyakorlatban: iterálás de max. a normál lebegőpontos aritmetika határáig (50-75 iteráció a webre) Ez is négyzetes minden lépésben… … de 𝑀 ritka volta kihasználható

„teleportálás”: „spider traps” és „dead ends”

MapReduce? 𝑡 db mátrix-vektor szorzás N.B. a külső ciklus lehet probléma Job indítási overhead! Mátrix újra felolvasása minden iterációban … 𝑀 legyen 𝑛×𝑛-es mátrix 𝑥 𝑖 = 𝑗=1 𝑛 𝑚 𝑖𝑗 𝑣 𝑗 𝑛=100 nem Big Data… Mapper, ha a vektor befér a memóriába: (𝑖, 𝑚 𝑖𝑗 𝑣 𝑗 )

MapReduce mátrix-vektor szorzás Ha a vektor nem fér el a memóriában: „csíkozás” (striping)

PageRank k2 mapperrel

Általánosítás: a GIM-V primitív „Generalized Iterative Matrix-Vector multiplication” A szokásos feladat: 𝑀×𝑣=𝑣′, ahol 𝑣 𝑖 ′ = 𝑗=1 𝑛 𝑚 𝑖𝑗 𝑣 𝑗 Valójában három operátor: combine2: a szorzás combineAll: a szumma assign: vektorelemek frissítése

Általánosítás: a GIM-V primitív „Generalized Iterative Matrix-Vector multiplication” A szokásos feladat: 𝑀×𝑣=𝑣′, ahol 𝑣 𝑖 ′ = 𝑗=1 𝑛 𝑚 𝑖𝑗 𝑣 𝑗 Valójában három operátor: combine2: a szorzás combineAll: n szorzás-eredmény szummája i-re assign: vektorelemek frissítése

GIM-V 𝑣 ′ =𝑀 × 𝐺 𝑣 𝑣 𝑖 ′ =𝑎𝑠𝑠𝑖𝑔𝑛( 𝑣 𝑖 , 𝑐𝑜𝑚𝑏𝑖𝑛𝑒𝐴𝑙 𝑙 𝑖 ({ 𝑥 𝑗 |𝑗=1…𝑛, 𝑥 𝑗 =𝑐𝑜𝑚𝑏𝑖𝑛𝑒2( 𝑚 𝑖𝑗 , 𝑣 𝑗 )})) Iteratív: × 𝐺 -t konvergenciakritériumig alkalmazzuk BTW feltételezve egy E(sid, did, val) és V(id,val) táblát × 𝐺 SQL-ben:

GIM-V: PageRank M: oszlopnormalizált szomszédossági mátrix combine2: 𝑐× 𝑚 𝑖𝑗 × 𝑣 𝑗 combineAll: 1−𝑐 𝑛 + 𝑗=1 𝑛 𝑥 𝑗 assign: 𝑣 𝑛𝑒𝑤

GIM-V: Random Walk with Restart Csomópontok közelségének mérése A k-adik csomópontból induló vektor egyenlete (M ua): 𝑟 𝑘 =𝑐𝑀 𝑟 𝑘 + 1−𝑐 𝑒 𝑘 Ahol 𝑒 𝑘 nullvektor a k-adik, 1 értékű pozíciótól eltekintve combine2: 𝑐× 𝑚 𝑖𝑗 × 𝑣 𝑗 combineAll: 1−𝑐 𝐼 𝑖≠𝑘 + 𝑗=1 𝑛 𝑥 𝑗 assign: 𝑣 𝑛𝑒𝑤

GIM-V: összefüggő komponensek Minden 𝑣 𝑖 -hez „komponens ID” 𝑐 𝑖 ℎ : Minimum csomópont-ID ℎ hopon belül M: szomszédossági mátrix Minden iterációban: Minden csomópont „elküldi” szomszédjainak 𝑐 𝑖 ℎ -ját Iteráció: minden csomópontban minimumképzés combine2: 𝑚 𝑖𝑗 × 𝑣 𝑗 combineAll:𝑀𝐼𝑁{ 𝑥 𝑗 |𝑗=1…𝑛} assign: 𝑀𝐼𝑁( 𝑣 𝑖 , 𝑣 𝑛𝑒𝑤 )

GIM-V: összefüggő komponensek Megállás: nem változik a vektor Tétel: legfeljebb gráfátmérő számú lépés kell Diameter: pontpárok közötti legrövidebb utak hosszának maximuma

GIM-V: BASE algoritmus

GIM-V: BASE algoritmus

GIM-V: algoritmusok Naive multiplication, block multiplication, clustered edges, diagonal block iteration, … Blokk szorzás: vektorokat és mátrixot is blokkosítva tárolunk (és csak ha nem nulla)

Hivatkozások [1] Lin, J., & Dyer, C. (2010). Data-Intensive Text Processing with MapReduce. Synthesis Lectures on Human Language Technologies, 3(1), 1–177. doi:10.2200/S00274ED1V01Y201006HLT007 [2] http://www.slideshare.net/jeffreybreen/big-data-stepbystep-using-r-hadoop-with-rhadoops-rmr-package [3] http://www.cloudera.com/content/support/en/downloads.html [4] http://hortonworks.com/products/hortonworks-sandbox/ [5] http://hadoop.apache.org/docs/r1.2.1/mapred_tutorial.html [6] http://home.mit.bme.hu/~ikocsis/notes/2013/10/23/(r)hadoop-sandbox-howto/ [7] http://home.mit.bme.hu/~ikocsis/notes/2013/10/28/rhadoop-sandbox-with-the-cloudera-quickstart-vm/ [8] Iványi, A. "Informatikai algoritmusok." ELTE Eötvös Kiadó, Budapest (2004). [9] Chu, C. T., Kim, S. K., Lin, Y. A., Yu, Y., Bradski, G. R., Ng, A. Y., & Olukotun, K. (2006). Map-reduce for machine learning on multicore. In B. Schölkopf, J. Platt, & T. Hofmann (Eds.), Advances in Neural Information Processing Systems 19: Proceedings of the 2006 Conference (pp. 281–288). MIT Press.