A 8.4. szakaszban áttekintettük a DBSCAN-t, egy egyszerű, de
hatékony algoritmust sűrűség-alapú klaszterek, azaz objektumok olyan
sűrű tartományainak megkeresésére, amelyeket kis sűrűségű tartományok
vesznek körül. Ez a szakasz további olyan sűrűség-alapú klaszterező
módszereket vizsgál, melyek a hatékonyság kérdését, a klaszterek
alterekben történő keresését vagy a sűrűség pontosabb modellezését
veszik célba. Először a rács-alapú klaszterezést tekintjük, amely az
adatteret rácscellákra bontja, majd klasztereket alakít ki azokból a
cellákból, amelyek kellőképpen sűrűek. Egy ilyen megközelítés hatékony
és eredményes lehet, legalábbis kis dimenziószámú adatokra. Ezután az
altér-klaszterezést tekintjük, ami az összes dimenzió részhalmazaiban
keres klasztereket (sűrű tartományokat). Egy
A rács egy hatékony mód adatok elrendezéséhez, legalábbis kis dimenziószám esetén. Az ötlet az, hogy minden egyes attribútum lehetséges értékeit szomszédos intervallumokra osztjuk fel, rácscellák egy halmazát létrehozva. (Ebben a tárgyalásban és a szakasz további részében feltételezzük, hogy az attribútumaink sorrendi vagy intervallum típusúak, vagy pedig folytonos értékűek.) Minden egyes objektum beleesik egy rácscellába, amelyhez tartozó attribútum intervallumok magukban foglalják az objektum értékeit. Az adatokon egyszer végigfutva hozzá tudjuk rendelni az objektumokat a rácscellákhoz, ezzel egyidejűleg minden egyes celláról gyűjthető információ, mint például a pontok száma a cellában.
Sok lehetőség van rács használatával történő klaszterezésre, de a legtöbb ilyen megközelítés legalább részben a sűrűségen alapul, ezért ebben a szakaszban a rács-alapú klaszterezés fogalma alatt rács használatával történő sűrűség-alapú klaszterezést értünk. A 9.4. algoritmus egy alap megközelítést ír le a rács alapú klaszterezéshez. Ennek a megközelítésnek a különböző aspektusait tárjuk fel a következőkben.
9.4. algoritmus. Rács-alapú klaszterező alap algoritmus |
1: Definiáljuk rácscellák egy halmazát 2: Rendeljük hozzá az objektumokat a megfelelő cellákhoz és számoljuk ki az egyes cellák sűrűségét 3: Távolítsuk el azokat a cellákat, amelyek
sűrűsége adott
4: Alkossunk klasztereket az érintkező (szomszédos) sűrű cellacsoportokból |
Rácscellák definiálása
Ez a folyamat kulcslépése és ugyanakkor a legkevésbé jól definiált lépése, mert sokféle módon lehet az egyes attribútumok lehetséges értékeit szomszédos intervallumokba sorolni. Folytonos attribútumok esetén az egyik gyakori megközelítés az értékek egyforma hosszúságú intervallumokra történő osztása. Ha ezt a megközelítést az összes attribútumra alkalmazzuk, akkor az eredményül kapott rácscellák mind azonos térfogatúak lesznek és a cellák sűrűsége kényelmesen definiálható a cellába eső pontok számaként.
Kifinomultabb megközelítéseket is lehet azonban használni. Különösen folytonos attribútumok esetén használható bármely olyan eljárás, amelyeket tipikusan az attribútumok diszkretizálására alkalmazunk. (Lásd a 2.3.6. szakaszt.) A már említett azonos hosszúságú megközelítésen kívül ez magában foglalja (1) az attribútum értékeinek olyan intervallumokra történő felosztását, amelyek egyenlő számú pontot tartalmaznak, azaz az egyenlő gyakoriságú diszkretizálást, vagy (2) klaszterezés használatát. Egy másik, a MAFIA altér klaszterező algoritmus által használt megközelítés először nagyszámú, egyenlő hosszúságú intervallumra bontja fel az attribútum értékeinek halmazát, majd összevonja a hasonló sűrűségű intervallumokat.
A rács definíciója a választott megközelítéstől függetlenül nagy hatással van a klaszterezés eredményére. Ennek jellegzetes aspektusait később tekintjük át.
A rácscellák sűrűsége
Egy rácscella (vagy egy általánosabb alakú tartomány) sűrűségét természetes a pontok számának és a tartomány térfogatának hányadosaként definiálni. Más szavakkal, a sűrűség a pontok száma osztva a tér nagyságával, függetlenül a tér dimenziószámától. Jellegzetes kis dimenziószámú példák a sűrűségre: a közlekedési táblák száma kilométerenként (egydimenziós), a sasok száma az élőhelyükön négyzetkilométerenként (kétdimenziós), és a gázmolekulák száma köbcentiméterenként (háromdimenziós). Ahogy már említettük azonban, tipikus megközelítés olyan rácscellákat használni, amelyek azonos térfogatúak, így a pontok cellánkénti száma közvetlen mérőszáma a cellák sűrűségének.
9.8. Példa.
(Rács-alapú sűrűség) A 9.10. ábra két kétdimenziós ponthalmazt
mutat, amelyeket egy
9.2. táblázat - A pontok száma a rácscellákban
0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 |
4 | 17 | 18 | 6 | 0 | 0 | 0 |
147 | 14 | 13 | 13 | 0 | 18 | 27 |
11 | 18 | 10 | 21 | 0 | 24 | 31 |
3 | 20 | 4 | 1 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 |
Klaszterek kialakítása sűrű rácscellákból
A klaszterek kialakítása szomszédos sűrű rácscellákból viszonylag egyértelmű. (A 9.10. ábrán például egyértelmű, hogy két klaszter van.) Marad azért néhány kérdés. Definiálnunk kell, hogy mit értünk szomszédos cellák alatt. Egy kétdimenziós rácscellának például 4 szomszéd cellája van-e, vagy 8? A szomszédos cellák megkeresésére is szükséges egy hatékony módszer, különösen akkor, ha csak a foglalt cellákat tároljuk.
A 9.4. algoritmus által definiált klaszterező megközelítésnek van néhány korlátja, amelyek kezelését meg lehet célozni az algoritmus kissé kifinomultabbá tételével. Valószínűleg vannak például részben üres cellák egy klaszter határán. Ezek a cellák gyakran nem sűrűek. Ha ez így van, akkor eldobjuk őket és a klaszter egyes részei elvesznek. A 9.10. ábra és a 9.2. táblázat azt mutatják, hogy a nagyobb klaszter négy része elveszne, ha a sűrűségi küszöbérték 9 lenne. A klaszterezési folyamatot lehet úgy módosítani, hogy elkerülje az ilyen cellák eldobását, bár ez további feldolgozást igényelne.
Az is lehetséges, hogy az alapvető rács-alapú klaszterezést úgy javítjuk meg, hogy mást is használunk, nemcsak sűrűség-információt. Sok esetben vannak az adatoknak térbeli és nem térbeli attribútumai is. Más szavakkal, az attribútumok némelyike az objektumok helyét írja le időben vagy térben, míg más attribútumok az objektumok más aspektusait határozzák meg. Tipikus példák a házak, amelyeknek van helyük és számos más jellemzőjük, mint például áruk vagy négyzetméterben kifejezett alapterületük. A térbeli (vagy időbeni) autokorrelációk miatt egy adott cellában levő objektumok más attribútumai gyakran hasonló értékűek. Ilyen esetekben lehetséges a cellák szűrése egy vagy több nem térbeli attribútum statisztikai tulajdonságai alapján (például átlagos házár), ezután pedig klaszterek kialakítása a megmaradó pontok sűrűsége alapján.
Erősségek és korlátok
A pozitív oldalon áll, hogy a rács-alapú klaszterezés nagyon
hatékony és eredményes tud lenni. Ha adott minden egyes attribútum egy
particionálása, egy átfutás az adatokon meg tudja határozni minden
egyes objektum celláját és a rácscellák gyakoriságát. Bár a lehetséges
rácscellák száma nagy lehet, rácscellákat csak a nem üres cellákra
kell létrehozni. Így a rács definiálása, az egyes objektumok egy
cellához történő hozzárendelése és minden egyes cella sűrűségének
kiszámítása csak
A negatív oldalon áll, hogy a rács-alapú klaszterezés, mint a
legtöbb sűrűség-alapú klaszterező séma, erősen függ a sűrűség
Sok további kérdés is felmerül a rács-alapú megközelítéssel kapcsolatban. A 9.10. ábrán például a négyzetrács cellái nem adják pontosan vissza a kör alakú határterületek sűrűségét. Megpróbálhatjuk ezt a problémát a rács finomításával enyhíteni, de az egy klaszterhez tartozó pontok valószínűleg nagyobb ingadozást fognak mutatni a rácscellák között, mert a pontok nem egyenletes eloszlásúak a klaszterben. Valóban, néhány rácscella, köztük a klaszter belsejében levők is, akár üres is lehet. Egy másik kérdés, hogy a cellák elhelyezésétől és méretétől függően egy pontcsoport megjelenhet csak egy cellában, vagy felosztódhat több különböző cella között. Ugyanaz a pontcsoport egy klaszter része lehet az első esetben, de eldobásra kerülhet a második esetben. Végül, ahogy a dimenziószám nő, a lehetséges rácscellák száma gyorsan -- exponenciálisan -- nő. Bár nem szükséges az üres rácscellákat explicit módon tekinteni, könnyen előfordulhat, hogy a legtöbb rácscella csupán egyetlen objektumot tartalmaz. Más szavakkal, a rács-alapú klaszterezés hajlamos gyengén működni sokdimenziós adatokra.
Az eddig vizsgált klaszterező módszerek úgy találtak klasztereket, hogy minden attribútumot felhasználtak. De ha csak a jellemzők egy részhalmazát -- azaz az adatok altereit -- tekintjük, a megtalált klaszterek teljesen különbözőek lehetnek, ha az egyik altérről áttérünk a másikra. Két ok lehet, amelyek miatt az altér klaszterei érdekesek lehetnek. Először is az adatok klasztereződhetnek az attribútumok egy kis halmaza szerint, de véletlenszerű eloszlásúak lehetnek a fennmaradó attribútumok szerint. Másodszor, vannak esetek, amikor különböző klaszterek léteznek a dimenziók különböző halmazaiban. Tekintsünk egy adathalmazt, amely különböző árucikkek különböző időpontokban történő eladásait tartja nyilván. (Az időpontok a dimenziók, az árucikkek pedig az objektumok.) Néhány árucikk hasonló viselkedést mutathat (együtt klasztereződik) a hónapok bizonyos halmazaiban, például nyáron, de valószínűleg más klaszterek állnának elő más hónapokra (dimenzióra).
9.9. Példa.
(Altér klaszterek) A 9.11. (a) ábra egy ponthalmazt mutat a
háromdimenziós térben. A teljes térben a pontok három klasztert
alkotnak, amelyeket négyzetekkel, rombuszokkal és háromszögekkel
ábrázoltunk. Van továbbá egy olyan ponthalmaz, melyet körökkel
ábrázoltunk, és amely nem klaszter a háromdimenziós térben. A példa
adathalmaz minden dimenzióját (attribútumát) rögzített számú (
A 9.11. (b) ábra mutatja a pontokat az
Az ábrák számos fontos tényt szemléltetnek. Először is egy ponthalmaz -- a körök -- lehet, hogy nem alkot klasztert az egész adattérben, de klasztert alkothat egy altérben. Másodszor, a teljes adattérben (vagy akár egy altérben) létező klaszterek klaszterként jelennek meg az alacsonyabb dimenziós térben. Az első tény arra mutat rá, hogy szükséges lehet a dimenziók egyes részhalmazait vizsgálni ahhoz, hogy klasztereket találjunk, míg a második tény arra világít rá, hogy sok, az alterekben megtalált klaszter lehet, hogy csak ``árnyéka'' (vetülete) magasabb dimenziós klasztereknek. A cél az, hogy megtaláljuk a klasztereket, és azokat a dimenziókat, amelyekben léteznek, de tipikusan nem érdekesek számunkra azok a klaszterek, amelyek magasabb dimenziós klaszterek vetületei.
CLIQUE
A CLIQUE (CLustering In QUEst) egy rács-alapú klaszterező algoritmus, ami módszeresen keresi meg az altérbeli klasztereket. Nem praktikus minden altérben megvizsgálni a klasztereket, mert az ilyen alterek száma exponenciális a dimenziószám függvényében. Ehelyett a CLIQUE a következő tulajdonságon alapul:
A sűrűség-alapú klaszterek monotonitási
tulajdonsága Ha pontok egy halmaza sűrűség-alapú klasztert
hoz létre
Tekintsük szomszédos
A 9.5. algoritmus egy egyszerűsített változatát adja a CLIQUE lépéseinek. Fogalmilag a CLIQUE algoritmus hasonló a gyakori elemhalmazok keresésére szolgáló Apriori algoritmushoz. (Lásd a 6. fejezetet.)
9.5. algoritmus. CLIQUE |
1: Keressük meg minden attribútumhoz az egydimenziós sűrű területeket, ez az egydimenziós sűrű cellák halmaza 2: repeat 3:
4: Állítsuk elő az összes
5:
Hagyjuk el azokat a cellákat, amelyeknek
6:
7: until addig, amíg nincsenek
8: Keressük meg a klasztereket az összes szomszédos nagysűrűségű cella unióját véve 9: Írjunk le minden klasztert néhány olyan egyenlőtlenséggel, amelyek a klaszter celláihoz tartozó attribútum-intervallumokat írják le |
A CLIQUE erősségei és korlátai
A CLIQUE leghasznosabb jellemzője, hogy hatékony módszert ad klaszterek keresésére az alterekben. Mivel ez a megközelítés az asszociációs elemzésből jól ismert Apriori elven alapul, a tulajdonságai is jól ismertek. Egy másik hasznos tulajdonság a CLIQUE azon képessége, hogy néhány egyenlőtlenséggel írja le a klasztereket alkotó cellák listáját.
A CLIQUE sok korlátja azonos más rács-alapú sűrűségi sémák
korábban már tárgyalt korlátaival. Más korlátok pedig hasonlóak az
Apriori algoritmuséhoz. Nevezetesen, ahogy a
gyakori elemhalmazoknak lehetnek közös elemei, a CLIQUE által
megtalált klasztereknek is lehetnek közös objektumai. A klaszterek
átfedésének megengedése nagyban megnövelheti a klaszterek számát és
nehezíti az értelmezésüket. Egy másik kérdés, hogy az
Apriori (és a CLIQUE) potenciálisan exponenciális
időbonyolultságú. A CLIQUE-nek különösen nehézséget okoz, ha túl sok
sűrű cella kerül előállításra kis
A DENCLUE (DENsity CLUstEring -- sűrűség klaszterezés) egy sűrűség-alapú klaszterező megközelítés, ami egy ponthalmaz teljes sűrűségét az egyes pontokhoz tartozó hatásfüggvények összegeként modellezi. A kapott teljes sűrűségfüggvénynek lokális csúcsai lesznek, azaz lokális sűrűségmaximumai, ezeket a lokális csúcsokat pedig természetes módon lehet klaszterek definiálására használni. Nevezetesen, egy hegymászó eljárás minden adatpontra megtalálja a hozzá tartozó legközelebbi csúcsot, és egy adott csúcshoz (amit lokális sűrűség-attraktornak nevezünk) tartozó összes adatpont alkot egy klasztert. Ha viszont a sűrűség egy lokális maximumban túl kicsi, akkor a hozzá tartozó klaszter pontjait zajnak tekintjük és figyelmen kívül hagyjuk. Ha egy lokális maximum összeköthető egy másik lokális maximummal egy adatpontokból álló úttal, és az út minden pontjában a minimális sűrűségi küszöbértéknél nagyobb a sűrűség, akkor az ezekhez a lokális maximumokhoz tartozó klasztereket összevonjuk. Ezért bármilyen alakú klasztereket meg tudunk találni.
9.10. Példa.
(DENCLUE sűrűség) Ezeket a fogalmakat a 9.13. ábrával
szemléltetjük, amely egy egydimenziós adathalmazra mutat egy
lehetséges sűrűségfüggvényt. Az A--E pontok ennek a sűrűségfüggvénynek
a csúcsai és lokális sűrűség-attraktorokat ábrázolnak. A pontozott
függőleges vonalak választják el a lokális sűrűség-attraktorok lokális
vonzási tartományait. Az ezekhez a tartományokhoz tartozó pontok
lesznek a középpontok által definiált klaszterek. A szaggatott
vízszintes vonal mutatja a
A DENCLUE algoritmus magas szintű részleteit a 9.6. algoritmus foglalja össze. A következőkben részletesebben mutatjuk be a DENCLUE különböző aspektusait. Először rövid áttekintést adunk a magfüggvényes sűrűségbecslésről, majd a rács-alapú megközelítést mutatjuk be, amelyet a DENCLUE használ a sűrűség közelítésére.
9.6. algoritmus. DENCLUE algoritmus |
1: Származtassunk egy sűrűségfüggvényt az adatpontok által elfoglalt térhez 2: Azonosítsuk azokat a pontokat, amelyek lokális maximumok (ezek a sűrűség-attraktorok) 3: Minden egyes pontot rendeljünk hozzá egy sűrűség-attraktorhoz a sűrűség maximális növekedésének irányába mozdulva 4: Definiáljuk az egyes sűrűség-attraktorhoz tartozó pontokból álló klasztereket 5: Hagyjuk el azokat a klasztereket, amelyek
sűrűség-attraktorának a sűrűsége kisebb, mint egy, a
felhasználó által megadott
6: Vonjuk össze azokat
a klasztereket, amelyeket
|
Magfüggvényes sűrűségbecslés
A DENCLUE a statisztika és az alakfelismerés egy olyan jól kidolgozott területén alapul, amit magfüggvényes sűrűségbecslésnek neveznek. Ezen módszergyűjtemény célja (sok más statisztikai módszeré is), hogy egy függvénnyel írja le az adatok eloszlását. A magfüggvényes sűrűségbecslésnél az egyes pontok hozzájárulását a teljes sűrűségfüggvényhez a hatásfüggvény vagy magfüggvény segítségével fejezzük ki. A teljes sűrűségfüggvény egyszerűen az egyes pontokhoz tartozó hatásfüggvények összege.
A magfüggvény (vagy hatásfüggvény) tipikusan szimmetrikus
(minden irányban azonos), és az értéke (hozzájárulása) csökken, ahogy
a távolság nő a ponttól. Egy konkrét
Implementációs kérdések
A magfüggvényes sűrűség kiszámítása meglehetősen költséges
lehet, és a DENCLUE számos közelítést használ ahhoz, hogy hatékonyan
implementálja az alapmegoldását. Először is csak az adatpontokra
számol explicit módon sűrűséget. Ez azonban továbbra is
A DENCLUE erősségei és korlátai
A DENCLUE szilárd elméleti alapokra épül, mivel magfüggvényes sűrűségfüggvényeken és a magfüggvényes sűrűségbecslés fogalmán alapul, ami a statisztika egy kiforrott területe. Ezért a DENCLUE rugalmasabb és potenciálisan pontosabb eljárást ad a sűrűség kiszámítására, mint más rács-alapú klaszterező módszerek és a DBSCAN. (A DBSCAN speciális esete a DENCLUE-nak.) Egy magfüggvényes sűrűségfüggvényeken alapuló módszer természeténél fogva számításigényes, de a DENCLUE rács-alapú módszereket alkalmaz ezen kérdések kezelésére. Mindazonáltal a DENCLUE számításigényesebb lehet, mint más sűrűség-alapú klaszterező módszerek. A rács alkalmazása ugyancsak hátrányosan befolyásolhatja a sűrűségbecslést és a DENCLUE-t érzékennyé teszi a rács-alapú megközelítések tipikus problémáira, mint például a megfelelő rácsméret megválasztása. Általánosabban, a DENCLUE sok erőssége és korlátja megegyezik más sűrűség-alapú megközelítések erősségeivel és korlátaival. A DENCLUE például jól kezeli a zajt és a kiugró értékeket és képes megtalálni különböző alakú és méretű klasztereket, de problémái vannak a sokdimenziós adatokkal és az olyan adatokkal, amelyek jelentősen eltérő sűrűségű klasztereket tartalmaznak.