Adatbányászati szemelvények MapReduce környezetben

Hasonló dokumentumok
Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Az adatelemzés alapfeladatai

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

Gépi tanulási (MachineLearning) módszerek alkalmazása

Gépi tanulás. Féligellenőrzött tanulás. Pataki Béla (Bolgár Bence)

Modellek paraméterezése: regresszió, benchmarkok

Biomatematika 12. Szent István Egyetem Állatorvos-tudományi Kar. Fodor János

RHadoop. Kocsis Imre Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Irányításelmélet és technika II.

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Gépi tanulás a gyakorlatban. Bevezetés

Gépi tanulás a gyakorlatban. Lineáris regresszió

Közösség detektálás gráfokban

Gépi tanulás Gregorics Tibor Mesterséges intelligencia

Gépi tanulás a gyakorlatban. Kiértékelés és Klaszterezés

Számítógépes döntéstámogatás. Genetikus algoritmusok

Algoritmusok bonyolultsága

Mérési adatok illesztése, korreláció, regresszió

2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont)

Nagy méretű adathalmazok vizualizációja

ELTE TáTK Közgazdaságtudományi Tanszék GAZDASÁGSTATISZTIKA. Készítette: Bíró Anikó. Szakmai felelős: Bíró Anikó június

Osztályozás, regresszió. Nagyméretű adathalmazok kezelése Tatai Márton

angolul: greedy algorithms, románul: algoritmi greedy

Gyakorló feladatok adatbányászati technikák tantárgyhoz

Statisztika I. 12. előadás. Előadó: Dr. Ertsey Imre

Biometria az orvosi gyakorlatban. Korrelációszámítás, regresszió

Numerikus matematika vizsga

Numerikus matematika. Irodalom: Stoyan Gisbert, Numerikus matematika mérnököknek és programozóknak, Typotex, Lebegőpontos számok

Korreláció és lineáris regresszió

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

Lineáris regressziós modellek 1

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

Kísérlettervezés alapfogalmak

Programozási segédlet

Bevezetés a Korreláció &

Intelligens Rendszerek Elmélete. Versengéses és önszervező tanulás neurális hálózatokban

Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs rendszerek Tanszék. Neurális hálók. Pataki Béla

Lineáris leképezések. Wettl Ferenc március 9. Wettl Ferenc Lineáris leképezések március 9. 1 / 31

Regresszió számítás. Tartalomjegyzék: GeoEasy V2.05+ Geodéziai Kommunikációs Program

Az UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

1. Görbe illesztés a legkisebb négyzetek módszerével

Számítógépes döntéstámogatás. Statisztikai elemzés

Regresszió számítás az SPSSben

Intelligens Rendszerek Gyakorlata. Neurális hálózatok I.

PONTFELHŐ REGISZTRÁCIÓ

Gépi tanulás. Hány tanítómintára van szükség? VKH. Pataki Béla (Bolgár Bence)

Matlab alapok. Baran Ágnes. Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15

Algoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.

A félév során előkerülő témakörök

Permutáció n = 3 esetében: Eredmény: permutációk száma: P n = n! romámul: permutări, angolul: permutation

Konjugált gradiens módszer

Gyakorló feladatok. Agbeko Kwami Nutefe és Nagy Noémi

4/24/12. Regresszióanalízis. Legkisebb négyzetek elve. Regresszióanalízis

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

Adatok statisztikai értékelésének főbb lehetőségei

Line aris f uggv enyilleszt es m arcius 19.

Programozás alapjai II. (7. ea) C++

3D - geometriai modellezés, alakzatrekonstrukció, nyomtatás

Egyenletek, egyenletrendszerek, matematikai modell. 1. Oldja meg az Ax=b egyenletrendszert Gauss módszerrel és adja meg az A mátrix LUfelbontását,

14. Mediánok és rendezett minták

A LEGKÖZELEBBI SZOMSZÉD ANALÍZISHEZ SZÜKSÉGES TERÜLETI ADATBÁZISOK KIALAKÍTÁSÁNAK MÓDSZERTANI KÉRDÉSEI

Intelligens Rendszerek Elmélete

Anyagvizsgálati módszerek Mérési adatok feldolgozása. Anyagvizsgálati módszerek

Tanulás az idegrendszerben. Structure Dynamics Implementation Algorithm Computation - Function

Idősorok elemzése. Salánki Ágnes

Algoritmusok vektorokkal keresések 1

Matematika gyógyszerészhallgatók számára. A kollokvium főtételei tanév

Felvételi tematika INFORMATIKA

Regressziós vizsgálatok

Numerikus módszerek 1.

Programozási módszertan. Mohó algoritmusok

7. Régió alapú szegmentálás

Kísérlettervezés alapfogalmak

Demográfiai modellek (folytatás)

Babeş Bolyai Tudományegyetem, Kolozsvár Matematika és Informatika Kar Magyar Matematika és Informatika Intézet

1. Görbe illesztés a legkissebb négyzetek módszerével

Fordítás Kódoptimalizálás

MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR

Irányításelmélet és technika II.

Többváltozós lineáris regressziós modell feltételeinek

Mesterséges Intelligencia I.

A szimplex tábla. p. 1

3D számítógépes geometria és alakzatrekonstrukció

Klaszterezés. Kovács Máté március 22. BME. Kovács Máté (BME) Klaszterezés március / 37

Mit látnak a robotok? Bányai Mihály Matemorfózis, 2017.

2. Rugalmas állandók mérése jegyzőkönyv javított. Zsigmond Anna Fizika Bsc II. Mérés dátuma: Leadás dátuma:

FELÜGYELT ÉS MEGERŐSÍTÉSES TANULÓ RENDSZEREK FEJLESZTÉSE

c adatpontok és az ismeretlen pont közötti kovariancia vektora

Neurális hálózatok.... a gyakorlatban

Bonyolultságelmélet. Monday 26 th September, 2016, 18:50

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Egyszerű programozási tételek

Smalltalk 2. Készítette: Szabó Éva

Számítógépes geometria (mester kurzus)

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Statisztika I. 13. előadás Idősorok elemzése. Előadó: Dr. Ertsey Imre

Átírás:

Adatbányászati szemelvények MapReduce környezetben Salánki Ágnes salanki@mit.bme.hu 2014.11.10. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Felügyelt és nem felügyelt tanulás Felügyelt tanulás o Adott néhány pontra az elvárt kimenet is o a tanuló példákból való általánosítás o Output: függvény a meglévő mintapontokra jól képez le megfelelően általánosítható Nem felügyelt tanulás o Nincs meg az elvárt kimenet o Visszajelzés nélkül építi a modellt o szabályok, összefüggések keresése (ismeretfeltárás)

Felügyelt és nem felügyelt tanulás Felügyelt tanulás o Adott néhány pontra az elvárt kimenet is o a tanuló példákból való általánosítás o Output: függvény a meglévő mintapontokra Tanulóhalmaz jól képez amin le építjük a modellt megfelelően általánosítható Teszthalmaz amin ellenőrizzük Nem felügyelt tanulás o Nincs meg az elvárt kimenet o Visszajelzés nélkül építi a modellt o szabályok, összefüggések keresése (ismeretfeltárás)

Osztályozás és csoportosítás alapfeladat Kép forrása: Ramaswamy S, Golub T R JCO 2002;20:1932-1941

Osztályozás alapfeladat Képosztályozás: a képen látható objektum madár vagy repülő?

Osztályozás alapfeladat Levelek osztályozása: SPAM vagy nem SPAM?

Osztályozás alapfeladat Szabályok alapján Severity osztályozása Kép forrása: http://192.9.172.90/bigadmin/features/articles/3pmi_mgmt.full.jsp

Csoportosítási alapfeladat Csoportosítás (clustering) megtalálni az egymáshoz hasonló elemeket o Output: klaszterek

Csoportosítási alapfeladat Csoportosítás (clustering) megtalálni az egymáshoz hasonló elemeket o Output: klaszterek Egymáshoz hasonló?

k-means Adatpontok: vektortér Klaszter reprezentációja: súlyponttal / középponttal (vektor-átlag) r(c i ): i-edik klaszter reprezentánsa Minimalizálandó a négyzetes távolságösszeg, mint hiba: E C = k i=1 u C i d u, r C i 2

Egy megoldás {r C 1, r C 2,, r(c k )} repr. kezdeti halmaza while r(c i ) változik do for u D adott sorrendben do h u klaszter-indexe j argmin i d(u, r(c i )) if h j then { C j C j u C i C i u r(c j ) 1 C j v C j v r(c h ) 1 C h v C h v} return C

Egy megoldás {r C 1, r C 2,, r(c k )} repr. kezdeti halmaza while r(c i ) változik do for u D adott sorrendben do return C h u klaszter-indexe j argmin i d(u, r(c i )) if h j then { C j C j u C i C i u r(c j ) 1 C j r(c h ) 1 C h v C j v v C h v} Régi klaszter

Egy megoldás {r C 1, r C 2,, r(c k )} repr. kezdeti halmaza while r(c i ) változik do for u D adott sorrendben do return C h u klaszter-indexe j argmin i d(u, r(c i )) if h j then { C j C j u C i C i u r(c j ) 1 C j r(c h ) 1 C h v C j v v C h v} Régi klaszter Új klaszter

Egy megoldás {r C 1, r C 2,, r(c k )} repr. kezdeti halmaza while r(c i ) változik do for u D adott sorrendben do return C h u klaszter-indexe j argmin i d(u, r(c i )) if h j then { C j C j u C i C i u r(c j ) 1 C j r(c h ) 1 C h v C j v v C h v} Régi klaszter Új klaszter Itt rögtön újra is számoljuk

k-means rmr2/blob/master/pkg/tests/kmeans.r dist.fun = function(c, P){ apply(c, 1, function(x) colsums((t(p) - x)^2))}

k-means rmr2/blob/master/pkg/tests/kmeans.r P pont C i klasztertől vett távolsága dist.fun = function(c, P){ apply(c, 1, function(x) colsums((t(p) - x)^2))}

k-means rmr2/blob/master/pkg/tests/kmeans.r P pont C i klasztertől vett távolsága dist.fun = function(c, P){ apply(c, 1, function(x) A klaszter középpontok mátrixának minden sorára colsums((t(p) - x)^2))}

k-means: map 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))}

k-means: map A Map kap néhány kmeans.map = pontot 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))}

k-means: map A Map kap néhány kmeans.map = pontot function(., P) { nearest = { Első kör: inicializálás 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))}

kmeans.map = function(., P) { nearest = { if(is.null(c)) k-means: map A Map kap néhány pontot Első kör: inicializálás sample(1:num.clusters,nrow(p), replace = T) Legközelebbi klaszter else { D = dist.fun(c, P) nearest = max.col(-d)}} if(!(combine in.memory.combine)) keyval(nearest, P) else keyval(nearest, cbind(1, P))}

k-means: map Kulcs: P ponthoz legközelebbi klaszter-centrum o C normál R objektum o scoping miatt elérhető a map-ben o P: HDFS-ből Érték: P Ha még nincsenek klaszter-centrumok: mintavétel visszahelyezéssel Vektorizált keyval ismét in.memory.combine, combine: nem a mapreduce függvényé!

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

k-means: reduce Azonos kulcshoz (középpont) tartozó vektorok átlaga Azaz: o Map: a legközelebbi klaszterbe sorol (középpont) o 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

kmeans.mr: törzs (1)

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

f függvény, bemenet: az attribútumok értéke, kimenet: megfigyelések legjobb közelítése ökölszabály Példa: testtömeg/magasság együttes eloszlás valójában egyenesre illeszthető, Regresszió

Regressziós módszerek Alapelv: Véletlen változó Közelítés t Y f t Hiba Jósolt esemény Átlagos hiba (mean error) Becsült érték Y f ( X1, X 2,..., X n ) ME n t1 Y t n F t Megfigyelhető változók Mért érték

Lineáris regresszió Egyszerű lin. függvény illesztése az adatokra o nem vár alapvető változást a rendszer viselkedésében Y a bx Legkisebb négyzetek módszere o keressük azokat az a,b paramétereket, amelyekre n n 2 t t t t1 t1 minimális (Sum of Squared Errors) 2 SSE Y F cél: n n 2 2 Y F Y a bx minimalizálása t t t t t1 t1

Levezetés (parc. deriválás) n 2 d Y t a bx t n t1 2 Yt a bx t 0 da n 2 t1 t1 d Y t a bx t n t1 X t Yt a bx t 0 db t1 n na Y bx a Y bx t t t t t t t t t t t t t1 n t1 t1 n t1 t1 n t1 t1 t n n 1 1 1 2 X Y Y bx bx X Y X Y b X X bxt 0 t1 n n n n n n b n n n n X Y X Y t t t t t1 t1 t1 n n 2 2 nx t X t t1 t1 Xi, Yi a mért értékpárok (pl. idő, terhelés)

Anscombe négyese Legjobban illeszkedő egyenes mindenre van

Anscombe négyese Legjobban illeszkedő egyenes mindenre van Minőségileg különböző adatpontokra is

y = Θ T x Lineáris regresszió: általános alak Solve: Θ = min Θ i=1 m (Θ T x i y i ) X R m n : design matrix - tanító-minták a sorok y = y 1,, y m m : target labels Θ = X T X 1 X T y

Summation form Θ = X T X 1 X T y Θ = A 1 b A = m i=1 x i y T i és b = m i=1 x i y i és ezek a szummák már párhuzamosíthatóak m- ben.