Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Machine Learning, Hálózatelemzés

Hasonló előadás


Az előadások a következő témára: "Machine Learning, Hálózatelemzés"— Előadás másolata:

1 Machine Learning, Hálózatelemzés
BIG DATA Kazi Sándor Machine Learning, Hálózatelemzés 2014.

2 Data Science & ML Data Science, Gépi tanulás alapok,

3 Data Science – BIG Data Mintavételezés, mintavételezés, mintavételezés… Sokszor nem jó ötlet a teljes adatsorral dolgozni A túl kis mintával viszont rosszul is járhatunk Data Science ismeret kellhet az architektúratervezéshez is: A hatékonyan felhasználható tárolás fontos kérdés Szintén fontos, hogy mit érdemes egyáltalán tárolni Lehet, hogy aggregátumot is, lehet, hogy csak azt… Szükség lehet a tárolt adatok újrastruktúrálására is Szükséges kompromisszumokat kötni (nem lehet „mindent”) Megnő a „feltáró BI” szerepe is „A Data Understandinget jobb minél előbb megkezdeni” Ha jól tudjuk, mit fogunk az adatokkal csinálni, sokat segíthet … de legalább a skálázódás nem a mi dolgunk.

4 Machine learning – DATA SCIENCE
Forrás: Schutt, O’Neil Doing Data Science (O’Reilly Media)

5 Machine learning – Alapok
Input adatok  Modell Lehetséges célok: A modell vizsgálata: problématér feltérképezése, kirívó események A modell használata: előrejelzés, vezérlés, … Kapcsolódó területek: Statisztika Mesterséges intelligencia Optimalizáció Négy nagy részhalmaz: Felügyelt tanulás (Supervised Learning) Nem felügyelt tanulás (Unsupervised Learning) Félig felügyelt tanulás (Semi-Supervised Learning) Megerősítéses tanulás (Reinforcement Learning)

6 Machine Learning – Felügyelt Tanulás
Magyarázó változók X Célváltozó(k) Y Bevezető Tanításra nem használt minta (validáció, fs, …) Partícionálás Ismert a célváltozó Modelltanítás f(X)Y Mérés ??? Modell alkalmazása Ismeretlen a célváltozó Felhasználás

7 Machine learning – Use case-ek
Osztályozás Felügyelt tanulás, a célváltozó kategorikus Regresszió Felügyelt tanulás, a célváltozó folytonos Klaszterezés Nem felügyelt tanulás, cél: homogén csoportokba sorolás Gyakori minták, rendellenes értékek, csalásfelderítés, … Döntéstámogatás, ajánló rendszerek, asszociációs szabályok, … On-line tanulás és akcióválasztás, vezérlés, … (Dimenziócsökkentés, főkomponensanalízis, …) (Statisztikai próbák, rétegzett mintavételezés, …)

8 Machine learning – Algoritmusok
Osztályozás Neurális hálózat (MLP) k legközelebbi szomszéd (k-NN) Döntési fák, véletlen erdők Regresszió Lineáris regresszió Regressziós döntési fák Klaszterezés Nem felügyelt tanulás, cél: homogén csoportokba sorolás Hierarchikus k-means és k-medoid

9 Data Science – BIG Data előtt
Programozás Matlab Python – SciKit Learn csomag, pandas csomag R Java (Weka) Vizuális eszközök SPSS Modeler (Clementine) SAS Enterprise Miner, SAS Guide RapidMiner Studio/Server Oracle Miner Knime

10 Mahout

11 Mahout – Mi a Mahout? “The Apache Mahout project’s goal is to build a sclable machine learning library.” Skálázható Gépi tanulási könyvtár 2014. április előtt Eleinte főleg MapReduce implementációk Probléma: jellemzően iteratív algoritmusok 2014. áprilistól Új MapReduce implementációk nem jöhetnek Helyette Spark integráció a kívánatos irány Többféle platform: egygépes környezet, MapReduce, Spark, …

12 Spark MLLib Machine Learning Library

13 Spark – Emlékeztető “Spark has an advanced DAG execution engine that supports cyclic data flow and in-memory computing.” DAG végrehajtó motor  globális belső állapot kezelése Ciklikus adatfolyam  iteratív algoritmusok is In-memory  RDD, perzisztálás NEM MapReduce: csak errőforráskezelő kell neki, futhat: YARN fölött EC2-n (Amazon) Mesos fölött (Apache) Többféle programozási nyelven API: Java, Scala, Python… MLLib: gépi tanulási csomag a Spark keretrendszerében GraphX: gráf API a Spark felett

14 Mahout és MLLib – Eszköztár
Csoport Algoritmus Mahout MLLib Statisztika Összegzés, Korreláció, Rétegzett mintavételezés - Igen Osztályozás, Regresszió Lineáris modellek (SVM, linreg, logreg) Local (logreg.) Döntési fa Naïve Bayes MR Random Forest Neurális háló (MLP) Local Klaszterezés K-means Local+MR Spektrális klaszterezés Ajánló rendszerek Kollaboratív szűrés Local ill. Local+MR Dimenzó-csökkentés PCA SVD Lánczos-módszer

15 Hálózatelemzés

16 Hálózatelemzés – Általános
Hálózatelemzés, gráfelemzés… gyakorlatilag ugyanaz. Entitásokat és azok kapcsolatát leíró struktúra: Gráf (csúcsok, élek) és címkék (súlyok, stb.) Lehet statikus gráf vagy időben változó Input adatok  Modell Hálózatelemzés célja: A modell vizsgálata, ezáltal Hálózat vizsgálata Hálózat változásának vizsgálata A struktúra feletti modell használata: előrejelzés, vezérlés, … Google Pregel

17 BSP Bulk Synchronous Parallel

18 Bulk Synchronous Parallel
Node 𝒊 Node 𝒊+𝟏 Node 𝒊+𝟐 Node 𝒊+𝟑 𝒕 Superstep Worker Master Worker Worker Messages Synchronization Superstep Worker Master Worker Worker Messages + HeartBeat üzenetek („élek” + státusz) Synchronization Superstep Worker Master Worker Worker Messages Synchronization Az üzenetek csak a következő Superstepben válnak elérhetővé!

19 Számítás, üzenetküldés
BSP – csomópont Egy fizikai node-on több virtuális node is futhat egymás után Gráffeldolgozásnál tipikus A végrehajtásnak vége, ha egyszerre mindenki megállásra szavaz Ha folyton üzeneteket küldünk, akkor sosem áll le a végrehajtás… a Superstep számra érdemes lehet limitet tenni Megállásra szavazás Nem érkezett üzenet Számítás, üzenetküldés Aktív Inaktív Üzenet érkezett

20 BSP – SSSP SSSP: Single Source Shortest Path
nincs negatív összsúlyú kör (nincs is értelme) (kb. Bellman-Ford algoritmus) Vertex-Centric (a „csúcsok” számolnak, az „éleken” megy üzenet ) Példa: irányított gráf éllistája (SSSP A-ból) B nyilvánvalóan sosem küld üzenetet… A: {B: 6, C: 2, E: 2} B: - C: {B: 3, D: 1} D: {B: 1} E: {C: 1, F: 1} F: {D: 0} Algoritmus: mindenütt nyilvántartjuk az oda vezető legrövidebb út hosszát (init: végtelen) ha kisebb érték érkezik, átírjuk ha az érték változik, minden élen üzenet aki nem üzen, megállásra szavaz

21 BSP – SSSP Superstep: 1. SSSP: Single Source Shortest Path
nincs negatív összsúlyú kör (nincs is értelme) (kb. Bellman-Ford algoritmus) Vertex-Centric (a „csúcsok” számolnak, az „éleken” megy üzenet ) Példa: irányított gráf éllistája (SSSP A-ból) B nyilvánvalóan sosem küld üzenetet… A: {B: 6, C: 2, E: 2} B: - C: {B: 3, D: 1} D: {B: 1} E: {C: 1, F: 1} F: {D: 0} Superstep: 1. Kiinduló állapot: Végállapot: Fogadott üzenetek: Küldött üzenetek: Algoritmus: mindenütt nyilvántartjuk az oda vezető legrövidebb út hosszát (init: végtelen) ha kisebb érték érkezik, átírjuk ha az érték változik, minden élen üzenet aki nem üzen, megállásra szavaz A B C D E F A B C D E F A: {0} A: {B: 6, C: 2, E: 2}

22 BSP – SSSP Superstep: 2. SSSP: Single Source Shortest Path
nincs negatív összsúlyú kör (nincs is értelme) (kb. Bellman-Ford algoritmus) Vertex-Centric (a „csúcsok” számolnak, az „éleken” megy üzenet ) Példa: irányított gráf éllistája (SSSP A-ból) B nyilvánvalóan sosem küld üzenetet… A: {B: 6, C: 2, E: 2} B: - C: {B: 3, D: 1} D: {B: 1} E: {C: 1, F: 1} F: {D: 0} Superstep: 2. Kiinduló állapot: Végállapot: Fogadott üzenetek: Küldött üzenetek: A B C D E F A B C D E F 6 2 B: {6} C: {2} E: {2} C: {B: 5, D: 3} E: {C: 3, F: 3}

23 BSP – SSSP Superstep: 3. SSSP: Single Source Shortest Path
nincs negatív összsúlyú kör (nincs is értelme) (kb. Bellman-Ford algoritmus) Vertex-Centric (a „csúcsok” számolnak, az „éleken” megy üzenet ) Példa: irányított gráf éllistája (SSSP A-ból) B nyilvánvalóan sosem küld üzenetet… A: {B: 6, C: 2, E: 2} B: - C: {B: 3, D: 1} D: {B: 1} E: {C: 1, F: 1} F: {D: 0} Superstep: 3. Kiinduló állapot: Végállapot: Fogadott üzenetek: Küldött üzenetek: A B C D E F 6 2 A B C D E F 5 2 3 B: {5} C: {3} D: {3} F: {3} D: {B: 4} F: {D: 3}

24 BSP – SSSP Superstep: 4. SSSP: Single Source Shortest Path
nincs negatív összsúlyú kör (nincs is értelme) (kb. Bellman-Ford algoritmus) Vertex-Centric (a „csúcsok” számolnak, az „éleken” megy üzenet ) Példa: irányított gráf éllistája (SSSP A-ból) B nyilvánvalóan sosem küld üzenetet… A: {B: 6, C: 2, E: 2} B: - C: {B: 3, D: 1} D: {B: 1} E: {C: 1, F: 1} F: {D: 0} Superstep: 4. Kiinduló állapot: Végállapot: Fogadott üzenetek: Küldött üzenetek: A B C D E F 5 2 3 A B C D E F 4 2 3 mindenki megállásra szavazott… B: {4} D: {3}

25 SSSP – Pregel (C++)

26 PageRank – Pregel (C++)

27 GraphLab PowerGraph és GraphChi

28 GraphLab – PowerGraph C++ alapú open-source Gráfelemző szoftver
Másra is használható, de erre készült A memóriában fut TCP/IP hálózatot használ Vertex-centrikus, de nem BSP Szinkron módban hasonlít a BSP-re Aszinkron módban FIFO ütemezőt használ Hatványeloszlás… GAS-pattern

29 GraphLab – GraphChi Tulajdonképpen egy egygépes PowerGraph Aszinkron
Diszk-alapú Csúszóablakos hozzáférés Ritka eset, hogy nem sorfolytonosan olvassuk a diszket Mikor van rá szükség? Szeretnénk a PowerGraph eszköztárát használni Nincs PowerGraph-hoz klaszterünk Nem fér el a memóriában a gráf De egy-egy csúcs, és a hozzá tartozó információk elférnek


Letölteni ppt "Machine Learning, Hálózatelemzés"

Hasonló előadás


Google Hirdetések