Gráf alapú klaszterezési eljárások

Slides:



Advertisements
Hasonló előadás
ÉRDEKES PONTOK KINYERÉSE DIGITÁLIS KÉPEKEN. BEVEZETÉS  ALAPPROBLÉMA  Jellemzőpontok detektálása mindkét képen  Kinyert pontok megfeleltetése  Megfeleltetések.
Advertisements

A Floyd-Warshall algoritmus
Készítette: Kosztyán Zsolt Tibor
MI 2003/9 - 1 Alakfelismerés alapproblémája: adott objektumok egy halmaza, továbbá osztályok (kategóriák) egy halmaza. Feladatunk: az objektumokat - valamilyen.
MI 2003/ A következőkben más megközelítés: nem közvetlenül az eloszlásokból indulunk ki, hanem a diszkriminancia függvényeket keressük. Legegyszerűbb:
Matematika II. 4. előadás Geodézia szakmérnöki szak 2010/2011. tanév Műszaki térinformatika ágazat tavaszi félév.
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.
Digitális képanalízis
Ph.D beszámoló 2004/2005 I.félév Készítette: Iváncsy Renáta Konzulens: Vajk István.
Euklidészi gyűrűk Definíció.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Címkézett hálózatok modellezése
Streaming Algorithms for k-core Decomposition. K-mag dekompozíció Maximális részgráf, amiben minden csúcshoz legalább k részgráfbeli csúcs csatlakozik.
Hatékony gyorsítótár használata legrövidebb utak kereséséhez Bodnár István, Fodor Krisztián, Gyimesi Gábor Jeppe Rishede Thomsen, Man Lung Yiu, Christian.
Programozási alapismeretek 8. előadás. ELTE 2/  További programozási tételek További programozási tételek 
Bayes hálók október 20. Farkas Richárd
Bevezetés a gépi tanulásba február 16.. Mesterséges Intelligencia „A számítógépes tudományok egy ága, amely az intelligens viselkedés automatizálásával.
Osztályozás -- KNN Példa alapú tanulás: 1 legközelebbi szomszéd, illetve K-legközelebbi szomszéd alapú osztályozó eljárások.
Rangsorolás tanulása ápr. 24..
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).
Hálózati Biológia A sejt funkcionális működésének megértése.
ELTE Matematikai Intézet
Klaszterező algoritmusok smart city alkalmazásokhoz Gonda László Témavezető: Dr. Ispány Márton.
Készítette: Pető László
Papp Róbert, Blaskovics Viktor, Hantos Norbert
A digitális számítás elmélete
Vámossy Zoltán 2006 Gonzales-Woods, SzTE (Kató Zoltán) anyagok alapján
Régióközi tudáshálózatok minőségének hatása a kutatási teljesítményre Sebestyén Tamás és Varga Attila.
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Készítette: Kosztyán Zsolt Tibor
Lázár István Témavezető: Hajdu András
Implementált képfeldolgozó algoritmusok
Dijkstra-algoritmus ismertetése
Szemantikus keresők.
Adatbányászati módszerek a térinformatikában
Többváltozós adatelemzés
Többváltozós adatelemzés
Alapsokaság (populáció)
Belami beszámoló – Doménadaptációs alkalmazások. Problémafelvetés Felügyelt tanulás elvégzéséhez gyakran kevés jelölt adat áll rendelkezésre  doménadaptáció.
A Dijkstra algoritmus.
Idősor karaktersorozatként való vizsgálata – SAX algoritmus Szabó Dániel Konzulens: dr. Dobrowiecki Tadeusz Önálló Labor előadás december 12.
Gráfok 1. Szlávi Péter ELTE IK Média- és Oktatásinformatika Tanszék
1 Szélességi Bejárás Györgyi Tamás – GYTNAAI.ELTE 2007 Március 22 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus S b a d e f h g c.
Algoritmizálás, adatmodellezés tanítása 8. előadás.
Példa Alapú Gépi Fordító Fejlesztése és Vizsgálata a World Wide Web Segítségével Magony Andor Számítógépes fordítástámogatás 2005 wEBMT: Developing and.
Adatbányászati módszerek a weblogfájlok elemzésében
Háló- (gráf-) algoritmusok
Valószínűségszámítás II.
Útkeresések.
Menetrend optimalizálása genetikus algoritmussal
Programozási alapismeretek 8. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 8.2/  További programozási.
előadások, konzultációk
Project 4: Visual motion based Human-Computer Interface Jaksa Zsombor Németh József Ungi Tamás Utasi Tamás.
MI 2003/8 - 1 Alakfelismerés alapproblémája: adott objektumok egy halmaza, továbbá osztályok (kategóriák) egy halmaza. Feladatunk: az objektumokat - valamilyen.
1.  Szerzői:  Panagiotis Bouros (University of Hong Kong),  Shen Ge (University of Hong Kong),  Nikos Mamoulis (University of Hong Kong)  Esemény:
Kutatási beszámoló 2002/2003 I. félév Iváncsy Renáta.
Struktúra predikció Struktúra lehet Felügyelt tanulási probléma
Automatikus fizikai tervezési javaslatok XML adatbázisokhoz Balogh Bernadett Kresz Marcell Cseh Tamás.
Prim algoritmus Algoritmusok és adatszerkezetek 2. Újvári Zsuzsanna.
INFOÉRA Gráfok, gráfalgoritmusok II. (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Juhász István-Zsakó László: Informatikai.
PhD beszámoló 2003/2004 I. félév Készítette: Iváncsy Renáta Konzulens: Dr. Vajk István.
Kvantitatív módszerek
HÁLÓZAT Maximális folyam, minimális vágás
1.Kanonikus felügyelt tanulási feladat definíciója (5p) 1.Input, output (1p) 2.Paraméterek (1p) 3.Hipotézisfüggvény (1p) 4.Hibafüggvény/költségfüggvény.
A Dijkstra algoritmus.
Gráfalgoritmusok G=(V,E) gráf ábrázolása
Dijkstra algoritmusa: legrövidebb utak
Dijkstra algoritmusa: legrövidebb utak
Dijkstra algoritmusa: legrövidebb utak
Gráfalgoritmusok G=(V,E) gráf ábrázolása
Előadás másolata:

Gráf alapú klaszterezési eljárások Nagyméretű adathalmazok kezelése c. tárgy előadása 2010. 04. 28. Keszler Anita

Áttekintés Miért érdekesek a gráf alapú klaszterező algoritmusok? Az algoritmusok csoportosításának szempontjai Az algoritmusok tervezése során felmerülő fontosabb kérdések alapján Tipikus megoldások/választási lehetőségek az egyes szempontok esetén Példák Képfeldolgozás Szociális hálózatok Orvosi alkalmazások

Miért érdekesek a gráf alapú klaszterező eljárások? Szemléletes ábrázolásmód Könnyen áttekinthető modellek Sok tudományterületen eredményesen alkalmazhatóak Szociális hálózatok / webes alkalmazások Képszegmentálás Biológia: fehérje interakciós gráfok Kapcsolatot teremthet a különböző alkalmazási területek között Az elsőre távolinak tűnő problémák összekapcsolhatók Gyakran hasonló megoldások alkalmazhatóak

Az algoritmusok csoportosításának szempontjai Hogyan használjuk a rendelkezésre álló adatokat? Modellezés – mit fogunk modellezni a gráfban? A gráf felépítése Szükséges-e (gyakran) frissíteni a gráfot? Hogyan fordul át a kérdés gráfelméleti feladattá? Hogyan definiáljuk a klasztert? Klaszterek száma előre ismert? – Minden elemet be kell sorolni? Lehetnek-e átfedések a klaszterek között?

Modellezés – Mit tartalmazzon a gráf? „Hagyományos” gráf : pontok = objektumok; élek = obj-obj kapcsolat élsúlyok = kapcsolat erőssége, valószínűsége Példa: [1] Szoc. hálók (közösségek keresése) [2] Hiperlinkek – irányított gráf [3] Képek összehasonlítása – súlyozott gráf

Modellezés – Mit tartalmazzon a gráf? Páros gráf : egyik pontosztály: objektumok másik pontosztály: tulajdonságok súlyozás itt is lehetséges Példa: [4] Összefoglaló biológiai alkalmazásokról pontosztályok: gének – kísérleti körülmények Szavak /dokumentumok csoportosítása pontosztályok: dokumentumok – szavak

Modellezés – Mit tartalmazzon a gráf? Szemantikus gráfok: ponthalmaz és élhalmaz is címkézett (akár szövegesen) Példa: kapcsolatrendszerük alapján a társadalomba nem „illeszkedő” emberek kiszűrése [5] viselkedés-minták tanulása

Az algoritmusok csoportosításának szempontjai Hogyan használjuk a rendelkezésre álló adatokat? Modellezés – mit fogunk modellezni a gráfban? A gráf felépítése Szükséges-e (gyakran) frissíteni a gráfot? Hogyan fordul át a kérdés gráfelméleti feladattá? Hogyan definiáljuk a klasztert? Klaszterek száma előre ismert? – Minden elemet be kell sorolni? Lehetnek-e átfedések a klaszterek között?

A gráf felépítése Teljes információ – nem feltétlenül teljes a gráf! Nem használunk minden adatot Sok alkalmazásban elég csak közelíteni az eredeti gráfot. Előny: kisebb tárhely, gyorsabb számítások. Szükséges: metrika az objektumok között. MST [6] : képek szín-szegmentálása kNNG gráf [7]: szavak klaszterezése

Az algoritmusok csoportosításának szempontjai Hogyan használjuk a rendelkezésre álló adatokat? Modellezés – mit fogunk modellezni a gráfban? A gráf felépítése Szükséges-e (gyakran) frissíteni a gráfot? Hogyan fordul át a kérdés gráfelméleti feladattá? Hogyan definiáljuk a klasztert? Klaszterek száma előre ismert? – Minden elemet be kell sorolni? Lehetnek-e átfedések a klaszterek között?

Hogyan definiáljuk a klasztert. 1 Hogyan definiáljuk a klasztert? 1. (Egy vagy több) kiválasztott objektumhoz hasonlók tartoznak egy klaszterbe Ha a kiválasztott elemek szerepelnek az adathalmazban: Felderítjük a szomszédságukat (k legközelebbi szomszéd; maximum t hosszú úton elérhető pontok, stb.) Ha a kiválasztott elemek nincsenek az adatok között: Be kell illeszteni (frissítés !) Gyakran on-line klaszterezést eredményez Példa: [8] Páros gráf – dokumentumok, kifejezések Kifejezések előfordulási gyakorisága adja az élsúlyokat

Hogyan definiáljuk a klasztert. 2 Hogyan definiáljuk a klasztert? 2. Az objektumok egymáshoz is hasonlítanak Páros gráfos példa: orvosi alkalmazások gének (sorok) – kísérleti körülmények (oszlopok) Gyakoribb : Klikkek, biklikkek - sokszor exponenciális algoritmusok Valós adathalmazok zajosak / nem tökéletes Lehet, hogy az adathalmazra nem exponenciális a futási idő Közelítő megoldások: sűrű részgráfok

Sűrű részgráfok - Hagyományos gráfok γ-klikkek - klaszter [9] befelé sűrű : kifelé ritka : szükséges, hogy minden pontnál legyen egy hurokél szociális hálózatokra alkalmazzák

Sűrű részgráfok – páros gráfok Legyen a páros gráf [10] quasi – biclique : [11] δ-tolerance : δ% -kal eltérhetünk a teljes páros részgráftól A második szimmetrikus! piros: ε = 75% kék: δ = 50%

Hogyan definiáljuk a klasztert? 3. A klaszter határát vizsgáljuk Például: max folyam – min vágás algoritmusok Alkalmazás képszegmentálási feladatokra Gráf pontjai = pixelek, élek = szomszédos pixelek között élsúlyok = pixel paraméterek Euklideszi-távolsága

Az algoritmusok csoportosításának szempontjai Hogyan használjuk a rendelkezésre álló adatokat? Modellezés – mit fogunk modellezni a gráfban? A gráf felépítése Szükséges-e (gyakran) frissíteni a gráfot? Hogyan fordul át a kérdés gráfelméleti feladattá? Hogyan definiáljuk a klasztert? Klaszterek száma előre ismert? – Minden elemet be kell sorolni? Lehetnek-e átfedések a klaszterek között?

További felmerülő kérdések Klaszterek száma előre nem ismert Például a k-Means –hez hasonló algoritmusok nem használhatóak Hány klaszterre van szükség? Elég egy klaszter Az összes adott tulajdonságú klaszterre szükség van Van-e átfedés a klaszterek között? Sok algoritmus ezt nem tudja kezelni gráf vágási algoritmusok gráfok spektrális felbontásán alapuló algoritmusok

Az algoritmusok csoportosításának szempontjai Hogyan használjuk a rendelkezésre álló adatokat? Modellezés – mit fogunk modellezni a gráfban? A gráf felépítése Szükséges-e (gyakran) frissíteni a gráfot? Hogyan fordul át a kérdés gráfelméleti feladattá? Hogyan definiáljuk a klasztert? Klaszterek száma előre ismert? – Minden elemet be kell sorolni? Lehetnek-e átfedések a klaszterek között?

Ha nem szükséges frissíteni a gráfot Ha az adathalmaz nem bővül : tipikus megoldások a transzduktív eljárások Klaszterezés = tanulási eljárás Tegyük fel, hogy néhány objektum besorolása ismert = tanító halmaz A többi objektumot a tanító halmazhoz való viszonya alapján sorolunk be Általában távolság alapú besorolás Páros gráfok esetén közös szomszédok száma, stb. Hátrány : csak olyan klasztereket ismerhetünk fel, amikből szerepel elem a tanító halmazban

Transzduktív gráf alapú tanulás [12] példa félig felügyelt transzduktív tanulásra Az ismeretlen besorolású mintákat is használhatjuk a tanításkor ; előny: kis méretű tanító halmaz is elegendő Gráfot építünk az összes objektumból Tanító minták (fekete, szürke) távolsága határozza meg az ismeretlenek besorolását (Belief propagation method) Gyors, de nem kezel átfedést új pontnál újra kell kezdeni!

Ha szükséges a gráfok frissítése Gráfok tanulása : szerkezeti felépítést kell megtanulni új pontok beszúrása új élek beszúrása Szabályokat tanulunk a gráfok eddigi struktúrájából tanulható, hogy milyen távolság esetén kell még élet behúzni

Az algoritmusok csoportosításának szempontjai

On finding large conjunctive clusters [10] A cél: közös attribútumokkal rendelkező elemek keresése Hasonló a gyakori elemhalmazok problémájához Legyen az elemek halmaza U, a tulajdonságoké W. Tfh. keressük (U*,W*) maximális teljes páros gráfot. Az algoritmus helyette ajánl egy ε-biclique-t, aminek legalább annyi éle van, mint (U*,W*)-nak Véletlen mintavételezésen alapul, és csak bizonyos valószínűséggel ad jó eredményt.

Ha ismernénk U*-t, akkor W*=N(U*) és készen lennénk Tfh, nincs meg U*, csak egy kis véletlen minta belőle: S Ekkor Probléma: , S szomszédainak közös szomszédai üres halmazt adhatnak De ha helyette -t keressük, akkor elég nagy S esetén nagy valószínűséggel megfelelő ε-biklikk lesz. Jelölések:

Max. biklikk közelítő algoritmus Véletlen m pontú minta U-ból : X Véletlen t pontú minta U-ból : T X minden m’ elemű S részhalmazára Azt az S-t nézzük, amire Legyen Z az, amire maximális. Kimenet: Belátható, hogy valamelyik S tényleg jó minta lesz U*-ból nagy valószínűséggel Legalább 2/3 valószínűséggel lesz egy olyan W”(Z) , amire:

Problémák, kiegészítések Kell: nagy adatbázis, nagy klaszter Viszont gyors az algoritmus: U méretétől független, a ponthalmazok méretében lineáris, de ε-tól exponenciálisan függ Csak az egyik oldal szempontjából vizsgálja az ε-sűrűséget van bővítése, ami szimmetrikus – valamivel lassabb Li, Sim, Liu, Wong (2007): Belátták, hogy nem minden ε-biclique-nek van nagy méretű teljes páros részgráfja

Társadalom- és web-gráfok Sok a közös jellemző: súlyozatlan, lehet irányított és irányítatlan a gráf csak a kapcsolatok száma a lényeges, a kapcsolat erőssége nem általában lokálisan sűrű, globálisan ritka gráfok kitüntetett szerepű pontok vannak a hálózatban „különleges emberek” (Barabási, 6 lépés távolság) autoritások és hubok (Kleinberg, a web szekezete) Hasonló algoritmusokat dolgoztak ki a két témakörre

PÉLDA: Kleinberg ’99: Authoritative Sources in a Hyperlinked Environment [2] Inicializálás: Web-es keresés (a találatként megjelenő oldalak, illetve ezen oldalak által mutatott oldalak, vagy egy részük) Iteratív algoritmus S a mag: , ahol X az autoritás, Y pedig a hub súlyt jelöli. Az egyes súlytípusok négyzetösszege 1. Ha az adott pont sok nagy x súlyú pontra mutat, akkor neki nagy y súlya lesz. Ha pedig sok nagy y súlyú mutat rá, akkor nagy x súlyt rendelünk hozzá. G az S kiindulási halmaz által feszített részgráf.

PÉLDA: Kleinberg ’99: Authoritative Sources in a Hyperlinked Environment Belátható, hogy az sorozat az mátrix legnagyobb sajátértékéhez tartozó sajátvektorhoz, míg az sorozat az mátrix legnagyobb sajátértékéhez tartozó sajátvektorhoz konvergál.

Köszönöm a figyelmet!

Referenciák Nan Du, Bin Wu, Xin Pei, Bai Wang, L. Xu, Community Detection in Large-Scale Social Networks. IC on Knowledge Discovery and Data Mining, Proceedings of the 9th WebKDD and 1st SNA-KDD, 2007. J. M. Kleinberg, Authoritative sources in a Hyperlinked Environment. Journal of the ACM, 46, pp 604-632, 1999. S. Aksoy, R. M. Haralick, Graph-theoretic clustering for image grouping and retrieval. IEEE Computer Society Conference on Computer Vision and Pattern Recognition, vol. 1, 1999. S. C. Madeira, A. L. Oliveira, Biclustering Algorithms for Biological Data Analysis: A survey. IEEE Transactions on Computational Biology and Bioinformatics, vol 1, no 1, 2004. S.-d. Lin, H. Chalupsky, Discovering and Explaining Abnormal Nodes in Semantic Graphs. IEEE Trans. on Knowledge and Data Engineering, vol 20, issue 8, 2008. O. Grygorash, Y. Zhou, Z. Jorgensen, Minimum Weight Spanning Tree Based Clustering Algorithms. IEEE IC on Tools with Artificial Intelligence, 18th, 2006. R. Paredes, E. Chávez, Using the k-Nearest Neighbor Graph for Proximity Searching in Metric Spaces. LNCS, No. 3772, pp 127-138, 2005. M. Ceglowski, A. Coburn, J. Cuadrado, Semantic Search of Unstructured Data Using Contextual Network Graphs. National Institute for Technology and Liberal Education, May 16, 2003 N. Mishra, R. Schreiber, I. Stanton, R. E. Tarjan, Clustering Social Networks. 5th Workshop on Algorithms and Models for the Web Graph (WAW), 2007. N. Mishra, D. Ron, R. Swaminathan, On Finding Large Conjunctive Clusters. LN in Artificial Intelligence, vol 2777, pp 448-462, 2003. J. Li, K. Sim, G. Liu, L. Wong, Maximal Quasi-Bicliques with Balanced Noise Tolerance: Concepts and Co-clustering Applications. Proceedings of the 2008 SIAM IC on Data Mining, 2008. M. Culp, G. Michailidis, Graph-based semisupervised learning. IEEE Trans. on Pattern Analysis and Machine Intelligence, vol 30, no 1, 2008.