960 likes | 1.09k Views
Klaszterezés. 2014. ápr. 3. Cluster Analysis: Basic Concepts and Algorithms. Lecture Notes for Chapter 8 Introduction to Data Mining by Tan, Steinbach, Kumar. Klaszterek közötti távolságok maximalizáltak. Klaszteren belüli távolságok minimalizáltak. Klaszterelemzés.
E N D
Klaszterezés 2014. ápr. 3.
Cluster Analysis: Basic Concepts and Algorithms Lecture Notes for Chapter 8 Introduction to Data Mining by Tan, Steinbach, Kumar
Klaszterek közötti távolságok maximalizáltak Klaszteren belüli távolságok minimalizáltak Klaszterelemzés Az objektumok olyan csoportjainak megtalálása felügyelet nélküli tanulási keretben, hogy az egy csoportban levő objektumok hasonlóbbak lesznek egymáshoz, mint a más csoportban levőkhöz.
Klaszterezés alkalmazásai Megértés • Csoportosítsuk a letöltött dokumentumokat, a hasonló tulajdonságú fehérjéket, a hasonló változásokat mutató tőzsdei papírokat
Klaszterezés alkalmazásai Tömörítés • Nagy adathalmazok méretének csökkentése • egyes egyedek helyett klaszterreprezentánsok vagy • meta-jellemzők
Hány klaszter? Hat klaszter Két klaszter Négy klaszter A klaszterezés nem egyértelmű
A klaszterezés típusai • A klaszterezésklaszterek halmazát adja • Partícionáló klaszterezés Az adatok besorolása nem-átfedő részhalmazokba (klaszterekbe), minden elem pontosan egy részhalmazban • Hierarchikus klaszterezés Egymásba ágyazott klaszterek, hierarchikus rendszerbe szervezve
Particionáló klaszterezés Particionáló klaszterezés Kiindulási pontok
Hierarchikus klaszterezés Hierarchikus Klaszterek Dendrogram
Klaszterezés fajtái • Kizárólagos – nem kizárólagos • Nem kizárólagosnál egy tárgy több osztályba is tartozhat • Fuzzy, nem-fuzzy • A fuzzy klaszterezésnél minden pont valamilyen 0 és 1 közötti súllyal tartozik minden klaszterhez • A súlyok összege 1 • Részleges, teljes • Néha nem minden pontot akarunk klaszterezni • Heterogén, homogén • A klaszterek különböző méretűek, alakúak, sűrűségűek lehetnek
Mitől jó egy klaszterezés? • Jól elválasztott klaszterek • Középpont alapú klaszterek • Folytonos klaszterek • Sűrűség alapú klaszterek • Általános eset: célfüggvény
Jól elválasztott klaszterek • Egy klaszter olyan pontokból áll, amelyek közelebb vannak (hasonlóbbak) a saját klaszteren belüli összes ponthoz, mint a többi klaszterben levőkhöz 3 jól elválasztott klaszter
Középpont alapú klaszterek • Egy klaszterben levő pontok közelebb vannak saját klaszterük középpontjához, mint bármely más klaszter középpontjához • A klaszterek középpontja gyakran a centroid, vagyis a klaszterbeli pontok átlaga, vagy a medoid, a klaszter egy reprezentatív pontja 4 középpont alapú klaszter
Folytonosság • legközelebbi szomszéd, tranzitív • Egy klaszterbeli pont közelebb van a saját klaszterének valamely pontjához, mint a nem klaszterbeli más pontokhoz 8 folytonos klaszter
Sűrűség alapú • A klaszterek pontok nagy sűrűségű halmazai, amelyek kis sűrűségű pontokkal vannak elválasztva • Szabálytalan alakú, egymásba fonódó esetekben használhatjuk, zaj és kiugró értékek mellett 6 sűrűség alapú klaszter
Általános eset:Célfüggvény alapú klaszterezés • Valamilyen célfüggvény minimalizálnak vagy maximalizálnak • pl: modularitás • Általában az összes lehetőséget számba kellene venniük és mindegyik jóságát meg kellene határozni a célfüggvény segítségével (NP nehéz) • Lokális és globális optimum lehet • A hierarchikus módszereknél általában lokális optimum • Particionálóknál általában globális • Nagyon sok esetben parametrizált modellt próbálunk az adatokhoz illeszteni • A paramétereket az adatokból határozzuk meg
Az input adatok jellemzői fontosak • A hasonlóság vagy sűrűség függvény • Leszármaztatott, de alapvető fontosságú • Ritkaság • A hasonlósági mértéket meghatározhatja • Segítheti a hatékonyságot • Attribútum típus • Meghatározhatja a hasonlóságot • Dimenzionalitás • Zaj és kiugró értékek • Eloszlás típusa
K-közép klaszterezés • Particionáló eljárás • centroid: klaszter közepe • Egy pontot ahhoz a klaszterhez csatolunk, amely centroidja a legközelebb van hozzá • A klaszterek száma, K, előre definiálandó
K-közép algoritmus - részletek • A kezdőpontokat gyakran véletlenszerűen választjuk • Újabb futtatásnál más eredményt kaphatunk • A centroid általában a klaszterekhez tartozó pontok átlaga • A közelséget mérhetjük euklideszi távolsággal, koszinusz távolsággal, korrelációval, … • A K-közép eljárás a fenti mértékeknél konvergálni fog egy megoldáshoz • A legtöbb esetben az első néhány lépésben megtörténik a konvergencia • A megállási kritériumot gyakran: amikor már csak kevés pont helyzete változik-ra cserélik
Optimális klaszterezés Sub-optimális klaszterezés Két különböző K-közép klaszterezés
A kezdőpontok választásának problémái • Ha a „valódi” klaszterek száma K nagy, úgy nagyon kicsi az esélye annak, hogy mindegyikből egy kezdőpontot választunk • tfh a klaszterekben azonos számú elem van (n): • Pl. K = 10 mellett a valószínűség = 10!/1010 = 0.00036 • Néha a kezdő középpontok korrigálni tudják magukat, néha nem
Az „5 pár klaszter” példa Minden pár egyik elemében választott kezdőpontok
Az „5 pár klaszter” példa Néhány párban 3 kezdőérték, néhánynál csak egy
Megoldások az előző problémára • Többszörös futtatás • Hogyan átlagoljuk őket? • Segíthet néha • Használjunk hierarchikus klaszterezést a kezdőpontok meghatározására • Több, mint k kezdőpont választása, majd azokból további választás • Pl. a legközelebbi kezdőpontpárok összevonása
Klaszterezések összevetése • Négyzetes távolság(Sum of Squared Error, SSE) • minden pontra a legközelebbi középponttól való távolság • SSE definíciója: • x aCiklaszterben van, mia Ciklasztert reprezentáló pont • Ha adott két klaszterezésünk, a kisebb hibájút választjuk • Az SSE általában csökken K növelésével…
Üres klaszterek kezelése • A K-közép algoritmus pont nélküli centroidokat („üres klaszter”) adhat…
Üres klaszterek kezelése • Lehetséges stratégiák: • Az SSE-hez a legjobban hozzájáruló pontba tesszük a pontnélküli centroidot • Abból a klaszterből válasszunk pontot centroidnak, amelyiknek a legnagyobb az SSE-je • Ha több üres klaszter van, ismételjük meg az előzőeket többször
A középpontok lépésenkénti aktualizálása • A K-közép algoritmusnál a középpontokat akkor aktualizáljuk, ha az összes pont hozzárendelése megtörtént • Alternatív módszer, ha minden egyes lépés (hozzárendelés) után aktualizáljuk a középpontokat • Minden hozzárendelés nulla vagy két középpontot érint • Költségesebb • Sorrendtől függőséget vezet be • Sosem ad üres klasztert
A K-közép korlátai • K-középnek akkor vannak problémái, ha a klaszterek nagyon különböznek • Méretben • Sűrűségben • Nem gömbszerű alakúak vagy ha sok kiugró érték van
A K-közép korlátai : különböző méretek K-közép (3 klaszter) Eredeti pontok
A K-közép korlátai : különböző sűrűség K-közép (3 klaszter) Eredeti pontok
A K-közép korlátai : Nem gömbszerű Eredeti pontok K-közép (2 klaszter)
Elő- és utófeldolgozás • Előfeldolgozás • Normalizálás • Kiugró értékek kiszűrése • Utófeldolgozás • Kis klaszterek kiszűrése (kiugró értékek?) • A laza klaszterek felosztása (nagy SSE értékek mellettiek) • Fésüljük össze a közeli, kis SSE-vel rendelkező klasztereket
A K-közép korlátainak feloldása Eredeti pontok K-közép klaszterek Egy megoldás: sok klaszter keresése, majd a végén össze kell vonni őket.
A K-közép korlátainak feloldása Eredeti pontok K-közép klaszterek
A K-közép korlátainak feloldása Eredeti pontok K-közép klaszterek
Hierarchikus klaszterezés • Egymásba ágyazott klasztereket állít elő, ezek fába rendezhetők • Vizualizációs módszer: dendrogram • Egy olyan fa, amely az egyesítések sorrendjét adja meg
Hierarchikus klaszterezés erősségei • Nem kell előzetesen feltételezni egy klaszterszámot • Tetszőleges számú klaszter kapható a dendogram megfelelő helyen történő vágásával
Hierarchikus klaszterezés erősségei • Értelmes jelentést adhatunk neki • Pl. biológiában a filogenetikus fa:
Hierarchikus klaszterezés • Két alaptípus • Agglomeratív (összevonó): • Kezdetben minden elem egy klaszter • Minden lépésben a két legközelebbi klasztert vonjuk össze • Divizív (felosztó): • Minden elem egy klaszterben van • Minden lépésnél valamelyik klasztert felbontjuk • A hagyományos hierarchikus módszerek hasonlósági vagy távolsági mátrixot használnak
Összevonó klaszterezési eljárás • Az alapalgoritmus: • Compute the proximity matrix • Let each data point be a cluster • Repeat • Merge the two closest clusters • Update the proximity matrix • Until only a single cluster remains • A kulcsművelet két klaszter hasonlóságának számítása • Ezt különbözőképpen tehetjük meg, és ettől függően többféle változat van
p1 p2 p3 p4 p5 . . . p1 p2 p3 p4 p5 . . . Kiindulási helyzet • Minden pont egy-egy külön klaszter, és adott a hasonlósági mátrix Proximity Matrix
C1 C2 C3 C4 C5 C1 C2 C3 C4 C5 Közbülső helyzet • Néhány lépés után vannak klasztereink C3 C4 Proximity Matrix C1 C5 C2
C1 C2 C3 C4 C5 C1 C2 C3 C4 C5 Közbülső állapot • A két legközelebbi (C2 és C5) klasztert szeretnénk összefésülni, és a mátrixot megfelelően módosítani C3 C4 Proximity Matrix C1 C5 C2
Összefésülés után C2 U C5 C1 C3 C4 C1 ? ? ? ? ? C2 U C5 C3 C3 ? C4 ? C4 Proximity Matrix C1 C2 U C5
p1 p2 p3 p4 p5 . . . p1 p2 p3 p4 p5 . . . Klaszterek közötti hasonlóság? Similarity? • MIN • MAX • Csoport átlag • Közepek közötti távolság • Célfüggvény által vezérelt módszerek • Ward módszere négyzetes hibával Proximity Matrix