• Nem Talált Eredményt

Particion´al´o elj´ar´asok

In document Magyar nyelv˝ u irodalom (Pldal 181-184)

7. Klaszterez´ es 164

7.6. Particion´al´o elj´ar´asok

A particion´al´o algoritmusokn´al a csoportok sz´ama el˝ore adott (k). Az´ert nevezz¨uk ezeket az elj´ar´asokat particion´al´o elj´ar´asoknak, mert a legels˝o l´ep´esben particion´aljuk az elemeket,

´es a tov´abbiakban csak ´athelyezget¨unk bizonyos elemeket az egyik r´eszb˝ol a m´asikba. Ak-kor ker¨ul egy elem egy m´asik r´eszbe, ha ez´altal javul a klaszterez´es min˝os´ege. A klaszterez´es min˝os´eg´ere az egyes part´ıci´os algoritmusok elt´er˝o c´elf¨uggv´enyt haszn´alnak. Egy l´ep´es sor´an a c´elf¨uggv´eny jav´ıt´as´ara ´altal´aban t¨obb lehet˝os´eg is k´ın´alkozik. ´Altal´aban az algoritmusok a legjobbat v´alasztj´ak ezek k¨oz¨ul, teh´at a

”legmeredekebb lejt˝o” ir´any´aba l´epnek a c´elf¨uggv´eny v¨olgyekkel teli g¨orb´ej´en.

7.6.1. Forgy k-k¨ oz´ ep algoritmusa

A k-k¨oz´ep algoritmus (k-means algorithm) [42] az egyik legr´egebbi (1965-b˝ol sz´armazik) ´es legegyszer˝ubb klaszterez˝o algoritmus vektort´erben megadott elemek csoportos´ıt´as´ara. A klasz-terez´es min˝os´eg´enek jellemz´es´ere a n´egyzetes hibaf¨uggv´enyt haszn´alja.

Az algoritmus menete a k¨ovetkez˝o : kezdetben v´alasztunk k darab v´eletlen elemet. Ezek reprezent´alj´ak eleinte a k klasztert. Ezut´an besorolunk minden pontot ahhoz a klaszterhez, amely reprezent´ans elem´ehez az a legink´abb hasonl´o. A besorol´as ut´an ´uj reprezent´ans pon-tot v´alasztunk, ´espedig a klaszter k¨oz´eppontj´at. A besorol´as, ´uj k¨oz´eppont v´alaszt´as iter´aci´os l´ep´eseket addig ism´etelj¨uk, am´ıg t¨ort´enik v´altoz´as.

Jancey 1966-ban Forgy-t´ol teljesen f¨uggetlen¨ul ugyanezt az algoritmust javasolta egy apr´o m´odos´ıt´assal [66]. Az ´uj reprezent´ans pont ne az ´uj k¨oz´eppont legyen, hanem a r´egi ´es az

´

uj k¨oz´epontot ¨osszek¨ot˝o szakaszon, p´eld´aul a k¨oz´epponton. Ez egy visszafogottabb, kisebb l´ep´esekben halad´o algoritmus. A kisebb l´ep´esek el˝onye, hogy esetleg nem lesznek t´ull¨ov´esek, t´ul nagy oszcill´aci´ok. Elm´eletileg azonban egyikr˝ol sem lehet elmondani, hogy jobb lenne a m´asikn´al, bizonyos helyzetekben az egyik, m´askor a m´asik ad jobb eredm´enyt.

Az algoritmus sz´ep eredm´enyeket hoz, amennyiben a klaszterek egym´ast´ol j´ol elszigetel˝od˝o kompakt

”felh˝ok”. El˝onye, hogy egyszer˝u ´es j´ol sk´al´azhat´o, fut´asi ideje O(nkt), ahol t az iter´aci´ok sz´am´at jel¨oli. A k-k¨oz´ep algoritmusnak azonban sz´amos h´atr´anya van.

I. Lehet, hogy az algoritmus lok´alis optimumban ´all meg, teh´at az iter´aci´ok sor´an nem v´altozik semmi, m´egis l´etezik olyan csoportos´ıt´as, ahol a n´egyzetes hiba kisebb.

II. Csak olyan elemek csoportos´ıt´as´ara haszn´alhat´o, amelyek vektort´erben vannak megadva, hiszen ´ertelmezni kell az elemek k¨oz´eppontj´at. Ezek szerint a k-k¨oz´ep nem haszn´alhat´o olyan alkalmaz´asokban, ahol az elemek attrib´utumai k¨oz¨ott p´eld´aul kateg´oria t´ıpus´u is szerepel.

III. Rendelkezik a n´egyzetes hib´at minimaliz´al´o algoritmusok minden hib´aj´aval (l´asd a 7.4.1-es r´eszt).

A lok´alis optimumba ker¨ul´es es´ely´enek cs¨okkent´ese ´erdek´eben ´erdemes az algoritmust t¨obbsz¨or futtatni k¨ul¨onb¨oz˝o kezdeti pontokkal. Azt a csoportos´ıt´ast fogadjuk el, amelynek legkisebb a n´egyzetes hib´aja. Vegy¨uk ´eszre, hogy ez a megold´as er˝os heurisztika ! Min´el nagyobb n, elvben ann´al t¨obb lok´alis optimum lehet, ann´al nagyobb az es´elye, hogy lok´alis optimumban k¨ot¨unk ki.

Ismereteink szerint nincs olyan k´eplet, ami megmondja, hogy adott elemsz´am eset´en h´anyszor kell futtatni az algoritmust, hogy biztosan (vagy adott val´osz´ın˝us´eggel) megtal´aljuk a glob´alis optimumot.

Weka 3.5.7 A k-k¨oz´ep algoritmust a weka.clusterers.-SimpleKMeansoszt´aly implement´alja.

7.6.2. A k-medoid algoritmusok

Ezek az algoritmusok a k-k¨oz´ep k´et hib´aj´at pr´ob´alj´ak kik¨usz¨ob¨olni. Egyr´eszt az eredm´eny kev´esb´e ´erz´ekeny a k´ıv¨ul´all´o pontokra, m´asr´eszt csak a hasonl´os´agi ´ert´ekeket haszn´alja. Teh´at

nem felt´etel, hogy az elemek vektort´erben legyenek megadva.

A k-medoid algoritmusokban egy klasztert nem a k¨oz´eppont reprezent´al, hanem a leg-ink´abb k¨oz´epen elhelyezked˝o elem, a medoid. Tov´abbra is egy n´egyzetes hiba jelleg˝u f¨uggv´enyt pr´ob´alunk minimaliz´alni, de a n´egyzetes hiba itt a medoidokt´ol val´o t´avols´agok ¨osszeg´et jelenti (k-medi´an probl´ema, l´asd 7.4.1 r´esz).

A PAM algoritmus

A PAM (Partitioning Around Medoids) algoritmus [71] menete teljesen megegyezik a k-k¨oz´ep menet´evel. Kezdetben v´alasztunk k v´eletlen elemet, ezek lesznek el˝osz¨or a medoidok.

Ezut´an elkezd˝odik az elemhozz´arendel´es medoidokhoz, ´uj medoid v´alaszt´asa iterat´ıv folyamat.

Egy elemet a legk¨ozelebbi medoidhoz rendel¨unk.

Abban az esetben v´alasztunk ´uj medoidot egy klaszterben, ha ezzel cs¨okken a n´egyzetes hiba. Hat´arozzuk meg az ¨osszes nem medoid, medoid p´arra (x, xm), hogy mennyivel v´altozna a n´egyzetes hiba, ha xm-nek ´atvenn´e a szerep´et x. Nyilv´anval´o, hogy nincsenek hat´assal a n´egyzetes hiba v´altoz´as´ara azok az elemek, amelyekhez van x ´es xm-n´el k¨ozelebbi medoid. A n´egyzetes hiba v´altoz´as´an´al nem csak xm klaszter´ebe tartoz´o elemeket kell megvizsg´alnunk, hiszen lehet, hogy a medoidv´alt´as hat´as´ara egyes elemek ´uj klaszterbe ker¨ulnek. Ha vannak olyan p´arok, amelyekn´el a n´egyzetes hiba v´altoz´asa negat´ıv, akkor cser´eljen szerepet annak a p´arosnak a k´et eleme, amelyhez tartoz´o n´egyzetes hiba v´altoz´as abszol´ut ´ert´ekben a legnagyobb.

Sajnos az algoritmus lass´u, hiszen egy iterat´ıv l´ep´es id˝oig´enyeO(k(n−k)2). ¨Osszehasonl´ıtva ak-k¨oz´ep algoritmussal elmondhatjuk, hogy lassabb, viszont kev´esb´e ´erz´ekeny a t´avol es˝o pon-tokra.

A CLARA ´es CLARANS algoritmusok

A PAM algoritmus nem alkalmas nagy adathalmazok klaszterez´es´ere, mert lass´u. A CLARA

´es CLARANS algoritmusok a PAM algoritmus kiterjeszt´esei. Nem vizsg´alnak meg minden me-doid, nem medoid p´art, hanem csak n´eh´anyat. ´Igy az iter´aci´os l´ep´esben elv´egzend˝o ellen˝orz´esek sz´ama kisebb, ami ´altal az algoritmusok nagyobb adathalmazokon is haszn´alhat´ok.

A CLARA algoritmus [71] az eredeti adatb´azis helyett egy v´eletlenszer˝uen v´alasztott mint´an dolgozik. A medoidok csak ebb˝ol a v´eletlen mint´ab´ol ker¨ulhetnek ki, de a n´egyzetes hib´at a teljes adatb´azisra n´ezve sz´am´ıtja. Az iter´aci´os l´ep´es id˝oig´enye ´ıgyO(k(n0−k)(n−k)), aholn0 a minta nagys´aga.

Ha a legkisebb n´egyzetes hib´at eredm´enyez˝o kelem nincs a mint´aban, akkor a CLARA nem fogja megtal´alni az optim´alis megold´ast. C´elszer˝u ez´ert az algoritmust t¨obb v´eletlenszer˝uen kiv´alasztott mint´an lefuttatni, ´es a legkisebb n´egyzetes hib´at szolg´altat´ot elfogadni.

A CLARANS algoritmus [97] az eredeti adathalmazon dolgozik. Nem az ¨osszes lehets´eges csere ´altal eredm´enyezett n´egyzetes hiba v´altoz´as´at sz´am´ıtja ki, hanem csak egy, v´eletlenszer˝uen v´alasztott p´ar´et. Ha a v´altoz´as negat´ıv (sikeres v´alaszt´as), akkor a p´ar elemei szerepet cser´elnek, ellenkez˝o esetben ´uj p´art sorsolunk. A felhaszn´al´o egy param´eterrel szab´alyozhatja a sikertelen v´alaszt´asok maxim´alis sz´am´at, amely el´er´es´evel az algoritmus v´eget ´er.

A CLARANS sem biztos, hogy megtal´alja a legkisebb n´egyzetes hib´at ad´o k medoidot miel˝ott a sikertelen pr´ob´alkoz´asok sz´ama el´ern´e a k¨usz¨ob¨ot. Ez´ert t¨obbsz¨or futtassuk az algo-ritmust mindig m´as kezdeti medoidokkal.

Vegy¨unk ´eszre egy fontos tulajdons´agot : eredm´enyezhetik ugyanazt a klaszterez´est k¨ul¨onb¨oz˝o medoidok. Val´osz´ın˝u, hogy az optim´alishoz k¨ozeli megold´as ugyanazt a csoportos´ıt´ast adja, mint a legkisebb n´egyzetes hib´at szolg´altat´o medoidok. Ez´ert javasolt a fenti heurisztik´ak alkalmaz´asa nagy adathalmazok eset´en.

A CLARANS nagy adathalmazokon val´o alkalmazhat´os´ag´aval foglalkoznak a [37] cikkben.

R*-f´ak haszn´alat´aval feloldj´ak azt a k´enyszert, miszerint a pontok f´erjenek el a mem´ori´aban. A PAM ´es rokonainak hib´aja, hogy ak-medi´an probl´em´at pr´ob´alja megoldani, ´ıgy csak egyszer˝u, eliptikus klasztereket k´epes felfedezni.

In document Magyar nyelv˝ u irodalom (Pldal 181-184)