Adatbányászat: Klaszterezés Haladó fogalmak és algoritmusok

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

Adatelemzés és adatbányászat MSc

Adatbányászat: Klaszterezés Alapfogalmak és algoritmusok

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

Adatbányászat: Klaszterezés Alapfogalmak és algoritmusok

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

Klaszterezés, 2. rész

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

Miskolci Egyetem Gazdaságtudományi Kar Üzleti Információgazdálkodási és Módszertani Intézet

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

Adatbányászat. Klaszterezés Szociális hálózatok. Szegei Tudományegyetem. Lehetetlenségi tétel Hierarchikus eljárások Particionáló módszerek

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

Algoritmusok bonyolultsága

Szalai Péter. April 17, Szalai Péter April 17, / 36

Adatszerkezetek 2. Dr. Iványi Péter

Képrekonstrukció 9. előadás

Bevezetés Standard 1 vállalatos feladatok Standard több vállalatos feladatok 2017/ Szegedi Tudományegyetem Informatikai Intézet

Hasonlósági keresés molekulagráfokon: legnagyobb közös részgráf keresése

R ++ -tree: an efficient spatial access method for highly redundant point data - Martin Šumák, Peter Gurský

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

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

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Elengedhetetlen a játékokban, mozi produkciós eszközökben Nélküle kvantum hatás lép fel. Az objektumok áthaladnak a többi objektumon

IBM SPSS Modeler 18.2 Újdonságok

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

Izgalmas újdonságok a klaszteranalízisben

Programozási módszertan. Mohó algoritmusok

Szociális hálózatok Gráf alapú módszerek. Adatbányászat. Klaszterezés Szociális hálózatok. Szegedi Tudományegyetem. Adatbányászat

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

Számítógép és programozás 2

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

Közösségek keresése nagy gráfokban

Navigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel

KLASZTEREZÉS I. -- Előadás. A klaszterezés feladata és algoritmusai [Concepts 7]

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

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA

Diszkrét matematika 2. estis képzés

Beltéri pozicionálási módszerek hatékonyságának javítása adatbányászati módszerek támogatásával

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 4. kurzus. 3. Előadás: A mohó algoritmus

Általános algoritmustervezési módszerek

Példa Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.

Összefoglalás és gyakorlás

KLASZTERANALÍZIS OSZTÁLYOZÁS

Infobionika ROBOTIKA. X. Előadás. Robot manipulátorok II. Direkt és inverz kinematika. Készült a HEFOP P /1.0 projekt keretében

Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány

Az előadás tartalma. Debrecen 110 év hosszúságú csapadékadatainak vizsgálata Ilyés Csaba Turai Endre Szűcs Péter Ciklusok felkutatása

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

Pontműveletek. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar február 20.

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

Adaptív dinamikus szegmentálás idősorok indexeléséhez

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

Nagyméretű Adathalmazok Kezelése

Adatelemzési eljárások az idegrendszer kutatásban Somogyvári Zoltán

Panorámakép készítése

bármely másikra el lehessen jutni. A vállalat tudja, hogy tetszőlegesen adott

Ambiens szabályozás problémája Kontroll és tanulás-1

Diszkrét matematika 2.

GRÁFELMÉLET. 7. előadás. Javító utak, javító utak keresése, Edmonds-algoritmus

Leggyakrabban használt adatbányászási technikák. Vezetői információs rendszerek

1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok. HálózatokII, 2007

A számítástudomány alapjai

Diszkrét matematika 2. estis képzés

HÁLÓZAT Maximális folyam, minimális vágás

1. tétel. 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója 7 cm. Mekkora a háromszög átfogója? (4 pont)

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

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

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

A maximum likelihood becslésről

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

Az objektum leírására szolgálnak. Mire jók? Sokszor maga a jellemző az érdekes: Tömörítés. Objektumok csoportosítására

Diszkrét matematika 2.C szakirány

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

Gráf-algoritmusok ERŐS / GYENGE KÖTÉSEK

Szociális hálók klaszterezése

Algoritmusok bonyolultsága

Teljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20

Diszkrét matematika 2. estis képzés

Az optimális megoldást adó algoritmusok

Algoritmusok és adatszerkezetek 2.

Wavelet transzformáció

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

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

Kontrollcsoport-generálási lehetőségek retrospektív egészségügyi vizsgálatokhoz

További klaszterező módszerek november 8.

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

Tipikus időbeli internetezői profilok nagyméretű webes naplóállományok alapján

Felvételi tematika INFORMATIKA

Számítógép hálózatok, osztott rendszerek 2009

Gráfalgoritmusok ismétlés ősz

5/1. tétel: Optimalis feszítőfák, Prim és Kruskal algorithmusa. Legrövidebb utak graphokban, negatív súlyú élek, Dijkstra és Bellman Ford algorithmus.

Diszkrét matematika 2. estis képzés

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/

Társadalmi és gazdasági hálózatok modellezése

Algoritmuselmélet. Mélységi keresés és alkalmazásai. Katona Gyula Y.

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/

Diszkrét matematika 2.C szakirány

Átírás:

Adatbányászat: Klaszterezés Haladó fogalmak és algoritmusok 9. fejezet Tan, Steinbach, Kumar Bevezetés az adatbányászatba előadás-fóliák fordította Ispány Márton

Logók és támogatás A tananyag a TÁMOP-4.1.2-08/1/A-2009-0046 számú Kelet-magyarországi Informatika Tananyag Tárház projekt keretében készült. A tananyagfejlesztés az Európai Unió támogatásával és az Európai Szociális Alap társfinanszírozásával valósult meg.

Újratárgyalt hierarchikus klaszterezés Beágyazott klaszterek létrehozása Az összevonó klaszterező algoritmusok annak függvényében változnak, hogy hogyan számoljuk két klaszter hasonlóságát. MIN (egyszerű kapcsolás): zajra és kiugró pontokra érzékeny MAX/ÁTLAG: nem működik jól nem gömb alakú klaszterekre CURE algoritmus megpróbálja mindkét problémát kezelni Gyakran a közelségi mátrix kiszámításával indul A gráf alapú algoritmusok egy típusa

CURE: Egy másik hierarchikus megközelítés Több pontot használ egy klaszter reprezentálására. Úgy kapjuk meg a reprezentatív pontokat, hogy egy klaszterből konstans számú pontot választunk ki, majd a klaszter középpontja felé zsugorítjuk őket. A klaszter hasonlóság a különböző klaszterek legközelebbi reprezentatív pontjai közötti hasonlóság.

CURE Zsugorítsuk össze a reprezentatív pontokat a középpont felé haladva, hogy elkerüljük a zajból és a kiugró értékekből származó problémákat. A CURE jobban tudja kezelni a tetszőleges alakú és méretű klasztereket.

Kisérleti eredmények: CURE A kép a CURE, Guha, Rastogi, Shim, c. munkából származik.

Kisérleti eredmények: CURE (centroid) (single link) A kép a CURE, Guha, Rastogi, Shim, c. munkából származik.

A CURE nem képes kezelni a különböző sűrűségeket Eredeti pontok CURE

Gráf alapú klaszterezés A gráf alapú klaszterezés a közelségi gráfot használja. Induljunk ki a közelségi mátrixból. Tekintsünk minden pontot egy gráf egy csúcsának. Minden két csúcs közötti élnek van egy súlya, amely a két pont közötti közelség (távolság). Kezdetben a közelségi gráf teljesen összefüggő. MIN (egyszerű kapcsolás) és MAX (teljes kapcsolás) az ebből a gráfból való kiindulásnak is tekinthető. A legegyszerűbb esetben a klaszterek a gráf összefüggő komponensei lesznek.

Gráf alapú klaszterezés: ritkítás A feldolgozandó adattömeget drámaian csökkenthetjük. A ritkítás a közelségi mátrix több mint 99%-t eliminálja. Az adatok klaszterezéséhez szükséges idő drámaian csökken. Növekszik a kezelhető méretű problémák száma.

Gráf alapú klaszterezés: ritkítás A klaszterezés jobban működhet utána A ritkítási módszerek megőrzik egy pont legközelebbi társaihoz való kapcsolatot míg a kevésbé hasonló pontokhoz való kapcsolatot megszüntetik. Egy pont legközelebbi társa hajlamos ugyanahhoz az osztályhoz tartozni, mint ahova maga a pont tartozik. Ez csökkenti a zaj és kiugró értékek hatását és erősíti a klaszterek közötti megkülönböztetést. A ritkítás megkönnyíti a gráf particionáló algoritmusok vagy azokon alapuló más algoritmusok használatát. Chameleon és Hipergráf alapú klaszterezés

Ritkítás a klaszterezési eljárásban

Az összevonó eljárások korlátai A hierarchikus klaszterező algoritmusok ismert összevonó eljárásai természetükből fakadóan statikusak. MIN vagy CURE: két klaszter összevonása a közelségükön (vagy minimális távolságukon) alapszik CSOPORT-ÁTLAG: két klaszter összevonása az összekapcsolhatóságukon alapszik

Az összevonó eljárások korlátai (a) (b) (c) (d) A közelségi eljárás (a)-t és (b)-t vonja össze Az átlagos kapcsolás eljárás (c)-t és (d)-t vonja össze

Chameleon: Klaszterezés dinamikus modellezéssel Alkalmazkodjunk az adatok természetéhez, hogy természetes klasztereket találjunk. Használjunk egy dinamikus modellt a klaszterek közötti hasonlóság mérésére. Fő tulajdonság a klaszterek relatív közelsége és összefüggősége. Két klasztert akkor vonunk össze, ha az eredményül kapott klaszter rendelkezik az egyesítendő klaszterek bizonyos tulajdonságaival. Az összevonó eljárás megőrzi az önhasonlóságot. Egyik alkalmazási terület a térbeli adatok vizsgálata.

Térbeli adatállományok jellemzői A klasztereket a tér sűrűn lakott tartományaiként definiáljuk. A klaszterek tetszőleges alakúak, irányultságúak és nem egyenletes méretűek lehetnek. Különbség a klaszterek közötti sűrűségben és ingadozás a klasztereken belüli sűrűségben. Speciális jelenségek (csíkok) és zaj megléte. Egy klaszterező algoritmusnak kezelnie kell a fenti jellemzőket és minimális beavatkozást kell, hogy igényeljen.

Chameleon: Lépések Előfeldolgozó lépés: Szemléltessük az adatokat egy gráffal. Egy adott ponthalmazra állítsuk elő a k legközelebbi társ (k-nn) gráfot, hogy megragadjuk egy pont és k legközelebbi társának a kapcsolatát. A szomszédság fogalmát kezeljük dinamikusan (akkor is a ha a tartomány ritka). 1. fázis: Használjunk egy több-szintű gráf particionáló algoritmust, hogy megtaláljuk az összefüggő élek legtöbb elemszámú klasztereit. Minden klaszter egy,,igazi klaszter legtöbb pontját fogja tartalmazni, azaz annak egy részklasztere lesz.

Chameleon: Lépések 2. fázis: Használjunk hierarchikus összevonó klaszterezést a részklaszterek egyesítésére. Két klasztert akkor egyesítünk, ha az eredményül kapott klaszter rendelkezik az egyesítendő klaszterek bizonyos tulajdonságaival. A klaszter hasonlóság modellezésére két alaptulajdonságot használunk: Relatív összekapcsolhatóság: Két klaszter abszolút összekapcsolhatósága lenormálva a klaszterek belső összefüggőségével Relatív közelség: Két klaszter abszolút közelsége lenormálva a klaszterek belső közelségével

Kísérleti eredmények: CHAMELEON

Kísérleti eredmények: CHAMELEON

Kísérleti eredmények: CURE (10 klaszter)

Kísérleti eredmények : CURE (15 klaszter)

Kísérleti eredmények : CHAMELEON

Kísérleti eredmények : CURE (9 klaszter)

Kísérleti eredmények : CURE (15 klaszter)

Megosztott legközelebbi társ módszer SNN gráf: egy él súlya az élek között megosztott szomszédok száma azon feltétel mellett, hogy az élek összefüggőek. i j i j 4

Az SNN gráf létrehozása Ritka gráf Megosztott legközelebbi társ gráf Az összekötő súlyok a szomszédos pontok közötti hasonlóságok Az összekötő súlyok a megosztott legközelebbi társak száma

ROCK (Kapcsolatokat használó robusztus klaszterezés) Klaszterező algoritmus kategorikus és bináris attributumú adatok számára. Egy pontpárt egymás szomszédjainak nevezünk, ha a hasonlóságuk meghalad egy küszöb értéket. Alkalmazzunk egy hierarchikus klaszterező eljárást az adatok klaszterezésére. 1. Vegyünk egy mintát az adatállományból. 2. Számoljuk ki a kapcsolódási értéket minden egyes ponthalmazra, azaz transzformáljuk az eredeti hasonlóságokat (melyeket a Jaccard együttható alapján számolunk) olyan hasonlóságokká, melyek figyelembe veszik a közös szomszédokat is. 3. Végezzünk összevonó hierarchikus klaszterezést az adatokon a,,közös szomszédok számát használva mint hasonlósági mértéket, és maximalizáljuk a,,közös szomszédok számát mint célfüggvényt. 4. Rendeljük hozzá a fennmaradó pontokat a talált klaszterekhez.

Jarvis-Patrick klaszterezés Először határozzuk meg az összes pont k legközelebbi társát. Gráfelméleti terminológiában ez azt jelenti, hogy a k legerősebb él kivételével töröljük az összes többit a közelségi gráfból. Egy pontpár ugyanabba a klaszterbe kerül, ha több mint T számú szomszédon osztoznak; a két pont egymás k legközelebbi társ szomszédja közé tartozik. Például a legközelebbi társ számot 20-nak választhatjuk és a pontokat ugyanabba a klaszterbe rakjuk ha több mint 10 közös szomszédjuk van. A Jarvis-Patrick klaszterezés túl törékeny.

Amikor a Jarvis-Patrick jól működik Eredeti pontok Jarvis Patrick klaszterezés 6 közös szomszéd a 20-ból

Amikor a Jarvis-Patrick nem jól működik Az a legkisebb T küszöb, amely még nem vonja össze a klasztereket. T 1 küszöb

SNN klaszterező algoritmus 1. Számítsuk ki a hasonlósági mátrixot Ez az adatpontokhoz tartozó csúcsoknak felel meg, ahol az élek súlyai a pontok közötti hasonlóságok. 2. Ritkítsuk a hasonlósági mátrixot a k leghasonlóbb szomszéd megtartásával Ez annak felel meg, hogy csak a k legerősebb kapcsolatot tartjuk meg a hasonlósági gráfban csúcsonként. 3. Állítsuk elő a közös szomszédok gráfját a ritkított hasonlósági mátrixból Ebben a pontban alkalmazhatjuk a hasonlósági küszöböt az összefüggő komponensek megtalálására a klaszterekhez (Jarvis- Patrick algoritmus). 4. Határozzuk meg mindegyik pont SNN sűrűségét Egy Eps a felhasználó által meghatározott paraméterrel keressük meg azokat a pontokat, amelyek SNN hasonlósága nagyobb mint Eps minden pont esetén. Ez a pont SNN sűrűsége.

SNN klaszterező algoritmus 5. Találjuk meg a középpontokat Egy felhasználó által meghatározott MinPts paraméter segítségével keressük meg a középpontokat, azaz azokat, amelyek SNN sűrűsége nagyobb mint MinPts. 6. Képezzünk klasztereket a középpontokból Ha két középpont egy Eps sugáron belül van egymáshoz képest, akkor azok ugyanabba a klaszterbe kerülnek. 7. Hagyjuk figyelmen kívül a zajos pontokat Az összes nem középpontot, amely nincs egy középpont Eps sugarán belül figyelmen kívül hagyjuk. 8. Rendeljük hozzá az összes nem-zajos és nem középpont pontot a klaszterekhez Ez megtehető az ilyen pontok legközelebbi középponthoz, így annak klaszteréhez rendeléssel. (Note that steps 4-8 are DBSCAN)

SNN sűrűség a) Minden pont b) Nagy SNN sűrűség c) Közepes SNN sűrűség d) Kis SNN sűrűség

Az SNN klaszterezés képes kezelni az eltérő sűrűségeket Eredeti pontok SNN klaszterezés

Az SNN klaszterezés képes kezelni a nehéz helyzeteket

latitude latitude Idősorok klasztereinek keresése tér-időbeli adatokban 90 60 26 SLP Clusters via Shared Nearest Neighbor Clustering (100 NN, 1982-1994) 24 22 25 90 60 SNN Density of SLP Time Series Data 26 13 14 30 21 30 0 16 20 17 18 15 0-30 23-60 3 4 6 2 5 11 7 12 8-90 10-180 -150-120 -90-60 -30 0 30 60 90 120 150 180 longitude 19 1 9 SNN klaszterek a tenger szinti légnyomásban (SLP). -30-60 -90-180 -150-120 -90-60 -30 0 30 60 90 120 150 180 longitude SNN sűrűségek a Föld pontjain

Az SNN klaszterezés jellemzői és korlátai Nem klaszterezi az összes pontot Az SNN klaszterezés komplexitása nagy O( n * Eps belüli szomszédok megkeresési ideje) A legrosszabb esetben O(n 2 ) Alacsony dimenzióban vannak hatékonyabb módszerek a legközelebbi társak megtalálására R* fa k-d fa