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

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

Hasonló előadás


Az előadások a következő témára: "Kazi Sándor Machine Learning, Hálózatelemzés BIG DATA 2014."— Előadás másolata:

1 Kazi Sándor Machine Learning, Hálózatelemzés BIG DATA 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 Bevezető … … ………… … … Magyarázó változók X Célváltozó(k) Y Partícionálás Modelltanítás f(X)  Y Tanításra nem használt minta (validáció, fs, …) … … ………… … Ismert a célváltozó ??? … Modell alkalmazása Ismeretlen a célváltozó Felhasználás Méré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 k legközelebbi szomszéd (k-NN) … 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.”http://mahout.apache.orghttp://mahout.apache.org Skálázható Gépi tanulási könyvtár április előtt Eleinte főleg MapReduce implementációk –Probléma: jellemzően iteratív algoritmusok á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.”http://spark.apache.orghttp://spark.apache.org 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 CsoportAlgoritmusMahoutMLLib StatisztikaÖsszegzés, Korreláció, Rétegzett mintavételezés -Igen Osztályozás, Regresszió Lineáris modellek (SVM, linreg, logreg) Local (logreg.)Igen Döntési fa-Igen Naïve BayesMRIgen Random ForestMR- Neurális háló (MLP)Local- KlaszterezésK-meansLocal+MRIgen Spektrális klaszterezésLocal+MR- Ajánló rendszerekKollaboratív szűrésLocal ill. Local+MRIgen Dimenzó- csökkentés PCALocal+MRIgen SVDLocal+MRIgen Lánczos-módszerLocal+MR-

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 Az üzenetek csak a következő Superstepben válnak elérhetővé! Superstep Messages Worker Master Worker Synchronization Superstep Messages Worker Master Worker Synchronization Superstep Messages Worker Master Worker Synchronization + HeartBeat üzenetek („élek” + státusz)

19 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 Aktív Inaktív Megállásra szavazás Üzenet érkezett Nem érkezett üzenet Számítás, üzenetküldés

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 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 Superstep: 1. Kiinduló állapot:Végállapot: Fogadott üzenetek:Küldött üzenetek: ABCDEF ∞∞∞∞∞∞ ABCDEF 0∞∞∞∞∞ A: {0}A: {B: 6, C: 2, E: 2}

22 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} Superstep: 2. Kiinduló állapot:Végállapot: Fogadott üzenetek:Küldött üzenetek: ABCDEF 0∞∞∞∞∞ ABCDEF 062∞2∞ C: {B: 5, D: 3} B: {6}C: {2}E: {2} E: {C: 3, F: 3}

23 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} Superstep: 3. Kiinduló állapot:Végállapot: Fogadott üzenetek:Küldött üzenetek: ABCDEF 062∞2∞ ABCDEF B: {5} D: {B: 4}F: {D: 3} C: {3}D: {3}F: {3}

24 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} Superstep: 4. Kiinduló állapot:Végállapot: Fogadott üzenetek:Küldött üzenetek: ABCDEF ABCDEF B: {4}D: {3} mindenki megállásra szavazott…

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 "Kazi Sándor Machine Learning, Hálózatelemzés BIG DATA 2014."

Hasonló előadás


Google Hirdetések