Klaszterező algoritmusok smart city alkalmazásokhoz Gonda László Témavezető: Dr. Ispány Márton.

Slides:



Advertisements
Hasonló előadás
A Floyd-Warshall algoritmus
Advertisements

Készítette: Kosztyán Zsolt Tibor
Összefoglalás Hardver,szoftver,perifériák Memóriák fajtái
ADATBÁZISOK.
4. Előadás: A mohó algoritmus
Készítette: Bátori Béla 12.k
Minden, matematikusi ismeretekkel fertőzött leendő mérnök számára alapvető kihívás, hogy a túlságosan egyszerű dolgokból többet hozzon ki. Így például.
EE/R adatmodell (Extended E/R) 1 Az objektum orientált szemlélet elterjedésével egyre nőtt az igény az olyan SDM (Semantic Data Model) modellek iránt,
E-learning és a multimédia
Programozási alapismeretek 6. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 6.2/  Rekordok/struktúrák.
Kalman-féle rendszer definíció
Microsoft Access V. Készítette: Rummel Szabolcs Elérhetőség:
Számítógépes algebrai problémák a geodéziában
Geometriai transzformációk
Illeszkedési mátrix Villamosságtani szempontból legfontosabb mátrixreprezentáció. Legyen G egy irányított gráf, n ponton e éllel. Az n x e –es B(G) mátrixot.
Sűrűségfüggvény Parzen becslés Mintapontszám, szigma.
INFOÉRA 2006 Kombinatorika
SAS Enterprise Miner 2. gyakorlat
Programozás alapjai A programozás azt a folyamatot jelenti, melynek során a feladatot a számítógép számára érthető formában írjuk le. C++, Delphi, Java,
MI 2003/ Alakfelismerés - még egy megközelítés: még kevesebbet tudunk. Csak a mintánk adott, de címkék nélkül. Csoportosítás (klaszterezés, clustering).
Objektum osztályozás Képfeldolgozás 2. Blaskovics Viktor, Hantos Norbert, Papp Róbert Sándor.
Papp Róbert, Blaskovics Viktor, Hantos Norbert
OPERÁCIÓKUTATÁS Kalmár János, 2012 Tartalom A nulla-egy LP megoldása Hátizsák feladat.
A NEPTUN LEHETŐSÉGEI ÉS … Előadó: Kollárné Csipszer Edit NYME EIK Intézméyni Neptun koordinátor Tel:
Web-grafika II (SVG) 2. gyakorlat Kereszty Gábor.
Adatbányászat: Klaszterezés Haladó fogalmak és algoritmusok
Matematika III. előadások Építőmérnök BSc szak PMMINB313
Nemdeterminisztikus és determinisztikus automaták didaktikai összehasonlítása Maróti György.
Hierarchikus klaszteranalízis
Szoftvertechnológia Rendszertervezés.
Készítette: Kosztyán Zsolt Tibor
P ROGRAMOZÁS I/O műveletek. S YSTEM.C ONSOLE A programjainknak fontos része a felhasználóval való kommunikáció. Adatokat kell kérni tőle, vagy közölnünk.
Lineáris algebra.
Az elektronikus tanulmányi nyilvántartás mint minőségbiztosítási eszköz dr. Princzinger Péter ELTE Oktatási Igazgatóság január 25.
Egyszerű gráfok ábrázolása Pascalban:
TÖMBÖK Asszociatív adatszerkezetek Tömbök
Csoportosítás (klaszterezés) A csoportosítás feladata a vizsgált objektumok jól elkülönülő csoportba történő besorolása. A klaszterezés sok szempontból.
Lineáris programozás.
Nézzük, mit tudunk…. Mire gondoltam? Megjeleníti az adott adatbázishoz kapcsolódó összes objektumot : adatbázis ablak.
Adatbányászati módszerek a térinformatikában
11. tétel Adatbázis táblái közti kapcsolatok optimalizálása
Komplex dinamikus rendszerek vizualizációja a XaoS fraktálkészítő programmal Kovács Zoltán Szegedi Tudományegyetem Bolyai Intézet, Analízis Tanszék.
A Dijkstra algoritmus.
Adatbázis kezelés. Az adatbázis tágabb értelemben egy olyan adathalmaz, amelynek elemei – egy meghatározott tulajdonságuk alapján – összetartozónak tekinthetők.
Az információrendszerek kialakulása
Térinformatika adatok tudásbázisán alapuló kereső- motor IKTA / 2000.
Dokumentumkészítés Emelt szint: 60 perc 30 pont.
Lineáris algebra.
Adatbázis alapfogalmak
Adatbányászati módszerek a weblogfájlok elemzésében
Feladatok (értékadás)
Programozás, programtervezés
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
Menetrend optimalizálása genetikus algoritmussal
Diszjunkt halmazok adatszerkezete A diszjunkt halmaz adatszerkezet diszjunkt dinamikus halmazok S={S 1,…,S n } halmaza. Egy halmazt egy képviselője azonosít.
Kutatási beszámoló 2002/2003 I. félév Iváncsy Renáta.
PÁRHUZAMOS ARCHITEKTÚRÁK – 13 INFORMÁCIÓFELDOLGOZÓ HÁLÓZATOK TUDÁS ALAPÚ MODELLEZÉSE Németh Gábor.
Készítette : Giligor Dávid Neptun : HSYGGS
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
Adatbázisszintű adatmodellek
A jövő HR megoldása Fejér Tamás. perbit.insight Munkavállaló kezelő Munkakör kezelő Toborzás kezelő Továbbképzés kezelő.
Szoftvermenedzsment A szoftver fogalma programmodulok rendszerdokumentáció konfigurációs adatok, és ezeket tároló fájlok felhasználói dokumentáció a szoftver.
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Alapvető programozási tételek megvalósítása Czigléczky Gábor 2009.
Mediánok és rendezett minták
Relációs adatmodell, normálformák
Adatbázis-kezelés 2. Relációs adatbázisok.
Bevezetés Tematika Számonkérés Irodalom
Informatikai gyakorlatok 11. évfolyam
Velünk élő középkor Forrás:
Algoritmusok és Adatszerkezetek I.
Előadás másolata:

Klaszterező algoritmusok smart city alkalmazásokhoz Gonda László Témavezető: Dr. Ispány Márton

Smart city / smart campus „egymáshoz kapcsolódó, heterogén forrásokból érkező adatok integrálására van szükség” (Boran et al., 2011) Smart city / smart campus felhasználói többféle adatot szolgáltatnak – Kapcsolatok - gráf típusú adatok – Rekord típusú adatok – Útvonalak – Stb.

Klaszterezés Klasszikus adatbányászati feladat Egyedek meghatározott számú klaszterbe sorolása tulajdonságaik hasonlósága alapján Ez smart city / smart campus alkalmazásoknál kiemelt fontosságú lehet, mert személyre szabott tartalmakat jeleníthetünk meg az adott felhasználó klaszterbesorolása alapján

Heterogén típusú adatok klaszterezése Gráf és rekord típusú adatok (egymással kapcsolatban álló, adatokat tároló csomópontok) klaszterezésére kevés a példa – Adatok típusai közötti kapcsolatok kezelésével, de alapvetően a rekordok alapján történő klaszterezés (Banerjee et al., 2007) – Rekordadatok és kapcsolataik együttes kezelése weblapokon, iteratív, klaszterezéseket összefésülő algoritmussal (Wang et al., 2003)

Spektrál klaszterezés „Könnyen implementálható, hatékonyan megoldható standard lineáris algebrai szoftverekkel, és gyakran jobban teljesít, mint a hagyományos klaszterező eljárások, pl. a k- közép” (von Luxburg, 2007) Könnyen klaszterezhetőek vele gráf típusú adatok Gráf típusú adatokra és rekord típusú adatokra egyaránt alkalmazható

A spektrál klaszterezés algoritmusa (Forrás: Ng et al., 2002) Bemenet: S ∈ R n×n hasonlósági mátrix, k, a létrehozandó klaszterek száma Hozzuk létre a hasonlósági gráfot, legyen ennek a súlyozott szomszédsági mátrixa W Számítsuk ki az L sym normalizált Laplace-mátrixot Számítsuk ki L sym első k sajátvektorát, u 1,..., u k -t Ezeket az u 1, …, u k vektorokat helyezzük el oszlopokként az U ∈ R n×k mátrixban Hozzuk létre a T ∈ R n×k mátrixot U 1-re normálásával i = 1,...,n-re legyen y i ∈ R k a T i-edik sorához tartozó vektor Klaszterezzük az (y i ) i=1,...,n vektorokat a C 1,..., C k klaszterekbe a k-közép algoritmussal Kimenet: A 1,...,A k klaszterek, melyekre A i = {j |y j ∈ C i }

A spektrál klaszterezés működési elve (Forrás: von Luxburg, 2007) Ha adott egy gráf W szomszédsági mátrixa, adott k számú részhalmaz előállításához olyan A 1, …, A k partíciót kell találnunk, mely minimalizálja a következőt: Javítja a klaszterezés minőségét, ha a következőt minimalizáljuk:

A spektrál klaszterezés működési elve (Forrás: von Luxburg, 2007) Az NCut probléma viszont NP-nehéz (Wagner és Wagner, 1993), de átírhatjuk a következőképpen: A k feltárandó klaszterhez definiáljuk a h j indikátorvektorokat a következőképpen:

A spektrál klaszterezés működési elve (Forrás: von Luxburg, 2007) Az ezeket oszlopokként tartalmazó H mátrixra – H’H = I – Így az Ncut probléma értelmezhető úgy is, hogy Ha ebbe behelyettesítjük a T = D 1/2 H mátrixot, a probléma átírható a következő formába:

A spektrál klaszterezés működési elve (Forrás: von Luxburg, 2007) Ennek a nyom minimalizációs problémának az a T mátrix lesz a megoldása, mely pontosan az L sym első k sajátvektorát tartalmazza (Lütkepohl, 1997) Ennek a mátrixnak a sorait feleltetjük meg az eredeti gráf pontjainak, és ezeket klaszterezzük pl. k-közép módszerrel

Gráf és rekord típusú adatok együttes felhasználása

Gráf és rekord típusú adatok együttes felhasználása – II. verzió

Gráf és rekord típusú adatok együttes felhasználása – III. verzió

Implementáció - R similarity_matrix <- function(d,k,epsilon) { S <- matrix(data = NA, nrow(d), nrow(d)) #kezdetben üres ia <- 1 for(i in 1:nrow(d)) { for(j in ia:nrow(d)) { if(i == j) { S[i,j] <- 0 } else { S[i,j] <- gsim(d[i,], d[j,], k) if(S[i,j] > epsilon) { S[j,i] <- S[i,j] } else { S[i,j] <- 0 S[j,i] <- 0 } # epszilon-hasonlósági verzió, ritkább mátrixot eredményez } ia <- ia + 1 } return(S) }

Implementáció - R laplace_matrix <- function(m) { D <- matrix(data = NA, nrow(m), nrow(m)) # degree matrix, kezdetben üres for(i in 1:nrow(m)) for (j in 1:nrow(m)) D[i,j] <- 0 for(i in 1:nrow(m)) { deg <- 0 for(j in 1:nrow(m)) if(m[i,j] > 0) deg <- deg + 1 D[i,i] <- deg } return(diag(nrow(m)) - (sqrt(D) %*% m %*% sqrt(D))) } eigenvectors <- function(m,k) { ev <- data.frame() for(i in 1:k) { for (j in 1:nrow(m)) { ev[j,i] <- eigen(m)$vectors[j,(ncol(m) - i + 1)] } return(ev) }

Implementáció - R # spektrálklaszterező - paramétere egy hasonlósági vagy egy szomszédsági mátrix (vagy azok keveréke), és egy elvárt klaszterszám spectral_clustering <- function(m,k) { L <- laplace_matrix(m) EV <- eigenvectors(L,k) EVN <- eigenvectors_normalize(EV) return(kmeans(EVN,k)) } Ezzel az implementációval a fentebbi három végrehajtási folyamat új függvények definiálása vagy a meglévőek módosítása nélkül megvalósítható A spectral_clustering függvényt az I. és II. esetben egyszer, a III. esetben kétszer hívjuk meg, változtatások nélkül, az eredeti adatmátrixok megfelelő összeillesztéseire

Teszteredmények Szintetikus adatállomány, n = 50 Az egyes egyedekhez tartozik egy gráf csúcs, illetve egy két valós szám elemből álló rekord

Teszteredmények Az egyes klaszterezések minőségének mérőszáma lehet a modularitás (Newman, 2004), mely a következőképpen áll elő:

Teszteredmények Az egyes adattípusokra különállóan nézve a modularitás értéke – A gráf adatokra modularitás(C 1, C 2, C 3 ) = 435 – A rekordadatokra modularitás(C 1, C 2, C 3, C 4, C 5 ) = 955,6279

Teszteredmények A hasonlósági mátrixot az egyes esetekben – a gráf szomszédsági mátrixának  súllyal és – a rekord adatok hasonlósági mátrixának  súllyal történő egyesítése adja

Teszteredmények  = 1,  = 1, k = 5 – modularitás(C 1, C 2, C 3, C 4, C 5 ) = 910,0812

Teszteredmények  = 0.9,  = 1, k = 5 – modularitás(C 1, C 2, C 3, C 4, C 5 ) = 890,8021

Teszteredmények  = 0.8,  = 1, k = 5 – modularitás(C 1, C 2, C 3, C 4, C 5 ) = 613,6434

Teszteredmények  = 1,  = 0.9, k = 5 – modularitás(C 1, C 2, C 3, C 4, C 5 ) = 555,4273

Teszteredmények  = 1,  = 0.8, k = 5 – modularitás(C 1, C 2, C 3, C 4, C 5 ) = 247,5608

További lehetőségek – adatok Több gráf és/vagy rekord súlyozott egyesítése – Akár tetszőleges számban Különböző adattípusok használata (egyedenként eltérő rekordformátum)

Kliens-szerver kapcsolat Probléma: bármilyen kliensadat változásakor a klasztercímkék frissítéséhez újra kell számolni a Laplace mátrix sajátvektorait

További lehetőségek - hatékonyság A sajátvektorok hatékony frissítése perturbáció-elméleti alapokon (Dhanjal et al., 2013) A hullámterjedés elvén működő módszer, mely helyettesíti a sajátvektor-számítást (Sahai et al., 2012) – Kérdés, hogy ezek a módszerek mennyire pontosak, illetve alkalmasak-e heterogén típusú adatok klaszterezésére

Irodalomjegyzék Boran, Aidan, et al.: A Smart Campus Prototype for Demonstrating the Semantic Integration of Heterogeneous Data (2011) Banerjee, Arindam, et al.: Multi-way Clustering on Relation Graphs (2007) Wang, Jidong, et al.: ReCoM: Reinforcement Clustering of Multi-Type Interrelated Data Objects (2003) von Luxburg, Ulrike: A tutorial on spectral clustering (2007) Ng A., et al.: On spectral clustering: analysis and an algorithm (2002) Lütkepohl, H.: Handbook of Matrices (1997) Newman, M.E.J.: Fast algorithm for detecting community structure in networks (2004) Schaeffer, Satu Elisa: Graph clustering – survey (2007) Sahai, T. et al.: Hearing the clusters of a graph: A distributed algorithm (2012) Dhanjal, C. et al.: Efficient Eigen-updating for Spectral Graph Clustering (2013)

Köszönöm a figyelmet!