A legjobb MapReduce példa (a szószámlálás után): kmeans

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
További MapReduce szemelvények: gráfproblémák
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
Előadás másolata:

A legjobb MapReduce példa (a szószámlálás után): kmeans Salánki Ágnes, Kocsis Imre salanki@, ikocsis@ 2015.10.06.

Adatelemzés Gépi tanulás (Machine Learning) Adatbányászat Előrejelző modellt épít Adatbányászat ML eredményeket felhasználva nyer ki új információt nyer ki Ábra forrása: https://onthe.io/learn

Adatelemzés Analytics Analysis Data Science nagyrészt automatizálás az adat teljes életciklusa Analysis egy konkrét adatsor vizsgálata szakértői is (nem kell ML) Data Science strukturált/nemsukturált Ábra forrása: https://onthe.io/learn

ML módszerek egy csoportosítása Felügyelt tanulás néhány pontra adott az elvárt kimenet Fő feladat: általánosítás Nemfelügyelt tanulás nincs súgásunk Fő feladat: mintakeresés Átolvasom az anyagot <-> Wiki

Felügyelt vagy nemfelügyelt? Feladat1 Melyik a kakukktojás? „hosszú”, „könnyű”, „hattyú”, „jobbra”, „pöttyös” Feladat2 Ha 8809 -> 6 7111 -> 0 6666 -> 4 9313 -> 1, akkor 2581 -> ???

Felügyelt vagy nemfelügyelt? Feladat1 Megmutatjuk 100 nő fényképét és 100 férfi fényképét. Aztán 10 fényképről el kell döntenünk , hogy nő vagy férfi van rajta. Feladat2 Egy hatalmas mozifilm-néző értékelési mátrix alapján megpróbáljuk kideríteni, mik voltak a hasonló filmek Feladat3 Két barátunk lefényképezte a kutyáját 100-szor különböző szögekből, majd a 200 képet összekeverték. Szét kell válogatnunk két kupacra. Feladat4 A tavalyi mozijegy-bevételi statisztikánk alapján meg kell állapítanunk, hogy az új Éhezők viadala film mekkora bevételre számíthat.

k-means Adatpontok: vektortér Klaszter reprezentációja: súlyponttal / ”középponttal” (vektor-átlag) 𝑟(𝐶 𝑖 ): i-edik klaszter reprezentánsa Minimalizálandó pontok négyzetes távolságösszege, mint hiba: 𝐸 𝐶 = 𝑖=1 𝑘 𝑢∈ 𝐶 𝑖 𝑑 𝑢,𝑟 𝐶 𝑖 2 K klaszterre, minden u tagra

Itt rögtön újra is számoljuk Egy megoldás {𝑟 𝐶 1 ,𝑟 𝐶 2 ,…,𝑟( 𝐶 𝑘 )}← repr. kezdeti halmaza while 𝑟( 𝐶 𝑖 ) változik do for ∀𝑢∈𝐷 adott sorrendben do ℎ←𝑢 klaszter-indexe 𝑗←𝑎𝑟𝑔𝑚𝑖 𝑛 𝑖 𝑑(𝑢,𝑟( 𝐶 𝑖 )) if ℎ≠𝑗 then { 𝐶 𝑗 ← 𝐶 𝑗 ∪ 𝑢 𝐶 ℎ ← 𝐶 ℎ ∖ 𝑢 𝑟( 𝐶 𝑗 )← 1 | 𝐶 𝑗 | 𝑣∈ 𝐶 𝑗 𝑣 𝑟( 𝐶 ℎ )← 1 | 𝐶 ℎ | 𝑣∈ 𝐶 ℎ 𝑣 } return 𝐶 Régi klaszter Új klaszter Itt rögtön újra is számoljuk

k-means: map rmr2/blob/master/pkg/tests/kmeans.R Kulcs: P ponthoz legközelebbi C klaszter-centrum C „normál” R objektum scoping miatt elérhető a map-ben P: HDFS-ből Érték: P Ha még nincsenek klaszter-centrumok: mintavétel visszahelyezéssel Vektorizált keyval ismét

k-means: map A Map kap néhány pontot 1 2 3 4 5 6 7 8 9 10 11 12 13 14 kmeans.map = function(., P) { nearest = { if(is.null(C)) sample(1:num.clusters,nrow(P), replace = T) else { D = dist.fun(C, P) nearest = max.col(-D)}} if(!(combine || in.memory.combine)) keyval(nearest, P) else keyval(nearest, cbind(1, P))} Első kör: inicializálás Legközelebbi klaszter Max.col: find the maximum position for each row in a matrix

k-means dist.fun = function(C, P){ apply(C, 1, function(x) colSums((t(P) - x)^2))} 𝑃 pont 𝐶 𝑖 klasztertől vett távolsága 15 16 17 18 19 A klaszter középpontok mátrixának minden sorára Az applyban a C, 1 miatt a klaszterközéppontokból vektor lesz, ami meg oszlopvektor lesz.

k-means: reduce Azonos kulcshoz (középpont) tartozó vektorok átlaga Azaz: Map: a legközelebbi klaszterbe sorol (középpont) Reduce: kialakult új középpontok Szemlétesen: a középpontokat „tologatjuk” Beragadhat lokális minimumba! (aut. megállásnál) Algoritmust lásd (aut. megállással): [8], p 1422

k-means: reduce 1 2 3 4 5 6 7 8 9 kmeans.reduce = { if (!(combine||in.memory.combine)) function(., P) t(as.matrix(apply(P, 2, mean))) else function(k, P) keyval( k, t(as.matrix(apply(P,2,sum))))} 𝑘 klaszterközépponthoz lekérjük az összes 𝑃 pontot Előbb csak összeget számolunk..

kmeans.mr: törzs (1) Iterációk C felüldefiniálásával Minden menetben mapreduce-szal új középpontok

kmeans.mr: törzs (1) 1 C = NULL 2 for(i in 1:num.iter ) { 3 C = 4 5 6 7 8 9 10 11 C = NULL for(i in 1:num.iter ) { C = values( from.dfs( mapreduce( P, map = kmeans.map, reduce = kmeans.reduce))) if(combine || in.memory.combine) C = C[, -1]/C[, 1]