370 likes | 495 Views
Csoportosítás. Mai témák. Motiváció : ajánlások Dokumentumok csoportosítása C soportosító/klaszterező algoritmusok. Dokumentumhalmaz csoportokra bontása. Az induló dokumentumhalmazt egyes feldolgozási feladatoknál célszeru ̋ csoportokra bontani .
E N D
Mai témák • Motiváció: ajánlások • Dokumentumok csoportosítása • Csoportosító/klaszterező algoritmusok
Dokumentumhalmazcsoportokrabontása • Azindulódokumentumhalmaztegyesfeldolgozásifeladatoknálcélszerű csoportokrabontani. • Dokumentumcsoportrabontásánakfelhasználása: • dokumentumjellemzése a csoporttal • eredményhalmazbanvalónavigáció • dokumentumhalmazáttekinthetőbbététele • dokumentumésdokumentumhalmazjellemzése • dokumentumokredukáltreprezentációja • hatékonyabbdokumentumhalmazfeldolgozás • keresésekfelgyorsítása (klaszterekbenkereselőször)
Dokumentumklaszterezés • Definíció: • A klaszterezéscélja a dokumentumok, szavakcsoportosításaolymódon, hogyegycsoportbaazegymáshozhasonlódokumentumokvagyszavakkerüljenek. • Jellemzők • nincselőredefiniáltcsoport • felügyeletnélkülitanulás • felbontástállítelő • Eljárások • manuális: pontos, költséges, emberközeli, statikus • gépi: olcsóbb, dinamikus, pontatlan, zajos
Példa: Éttermek ajánlása • Adott a Palo Alto-i éttermek teljes listája • Néhánynál ésjelzi az értékelést (thumb up & down) • Az értékeléseket a Stanford hallgatói végezték • Melyik éttermet ajánljuk valakinek?
Algoritmus: 0. verzió • A legnépszerűbb éttermeket ajánlja • A pozitív és negatív szavazatok számának különbsége • Figyelmen kívül hagyja a felhasználó ízlését • ÉSa hasonló ízlésű felhasználók értékeléseit • Hogyan tudjuk felhasználni a „hasonló gondolkodású” emberek értékelését • Kiinduló feltételezéseink • Az értékelések/preferenciák nem véletlenszerűek • Például, ha odavagyok az olasz konyháért, és szeretem az Il Fornaio-t, akkor valószínű, hogy a Cenzo-t is kedvelni fogom
Numerikusan Az összes többi helyen nulla.
Két ember közti hasonlóság • A preferenciavektoraik hasonlósága • Egy lehetőség a hasonlósági függvényre: belső szorzat • Dave és Estie hasonlósága 3 • De Dave és Cindy hasonlósága -2 • Ez alapján Dave-nek a Straits Cafe lehet ajánlani • Bobnak az Il Fornaio-t, stb.
1.1 verzió • Cél: számomra ismeretlen étterem ajánlása • Bemenet: az általam értékelt éttermek • Alapötlet: a leghasonlóbb ízlésű felhasználó kikeresése, és az ő értékelése alapján egy új étterem ajánlása • Megjegyzések: • Nem veszi figyelembe a kulináris ízlést, stb. • Mi van akkor, ha nincs olyan étterem, amit a leghasonlóbb felhasználó tapasztalatai alapján ajánlani lehetne • Jó-e, ha csak egyetlen felhasználó véleményére támaszkodunk? • www.everyonesacritic.net (filmek, A+…D-, F értékelés) • www.netflix.com (filmek, 1-5 csillag)
1.Kverzió • Vegyük a kleghasonlóbb felhasználót • Ajánljuk az általuk legnépszerűbbnek tartott helyet
Egy kicsit jobb megközelítés • Csoportosítsuk a hasonló felhasználókat: eredmény = csoportok, szegmensek, klaszterek • Ajánláskor: • Keressük a „legközelebbi csoportot” • Ajánljuk a csoport legnépszerűbb éttermét • Jellemzői: • hatékony • adathiány (= nincs mit ajánlani) nem jelentkezik (többnyire) • még minding nem veszi figyelembe, miért ajánluk éppen azt, amit (személyes ízlés, preferencia, …) • Hogyan végezzük el a csoportosítást?
Hogyan csoportosítsunk? • A jó klaszterezés két alapvető követelménye: • a hasonló ízlésű embereket egy csoportba, • a különböző ízlésűeket külön csoportba tegyük. • Tényezők: • Szükség van egy hasonlóság/különbözőség definícióra. • Vektortérmodell? Normalizáció? • Hány csoportot alkossunk? • Előre rögzített számút? • Teljesen adatvezérelt legyen? • Ne legyen triviális a csoportosítás – kerüljük a túl kicsi és túl nagy csoportokat
Tetszőleges más entitások (dokumentumok, web oldalak) Egyéb javaslattevő rendszerek Általános felügyelet nélküli gépi tanulás Pillantsunk egy kicsit távolabbra! Felhasználók csoportosítása éttermi ajánlások céljából Amazon.com
Miért csoportosítunkdokumentumokat? • Javítsuk a felidézést keresőalkalmazásokban • Jobb keresési eredmények • Javítsuk a vektortér alapú információ-visszakeresést (information retrieval – IR) • Gyorsabb keresés • Dokumentumgyűjtemények analízálása/nagiváció • Jobb felhasználói felület
Autómatikusklaszterezésimódszerekkelszembenielvárások • nagyméretű vektorterekkezelése • klaszterenbelülnagylegyen a hasonlóság • klaszterekközöttkicsilegyen a hasonlóság • a tanítottmintákpontososztályozása • ismeretlenmintákjóosztályozása • szemléletes, elfogadhatólegyen a döntés • lényegesvonásokonalapjántörténjen a felbontás • illeszkedjena tapasztalatokra, azelőzetesosztályainkhoz • megszorításokfigyelembevételénektámogatása
Felidézés javítása keresésnél • Klaszter hipotézis – Hasonló szövegű dokumentumok kapcsolódnak egymáshoz • Ergo, a keresés javítására: • Csoportosítsuk a korpusz dokumentumait előre • Amikor a keresőkifejezésre illeszkedik a Ddoksi, akkor adjuk vissza a csoportjába eső többi doksit is • Azt reméljük, hogy ezzel: • A carkeresőkifejezésre kapunk automobile-t tartalmazó találatokat is • A klaszterezés egy csoportba teszi az autókról és személygépkocsikról szóló dokumentumokat Ez miért lehet így?
Vektortér keresés gyorsítása • Vektortér alapú keresésnél a keresővektorhoz legközelebbi dokumentumvektorokat keressük • Ez azt jelenti, hogy a keresővektort minden dokumentummal össze kell hasonlítani – lassú (alkalmazásfüggő, persze) • Ha előre csoportosítjuk a korpusz dokumentumait • A kereséshez legközelebbi klaszterek közeli dokumentumait adja vissza • Pontatlan, de nem alkalmazza az időigényes kimerítő keresést
Vektortér keresés gyorsítása (2) • Csoportosítsuk a dokumentumokatkcsoportba • Vegyük a keresőkifejezéshez legközelebbi cicsoportot • Rangsoroljuk a ci-be tartozó dokumentumokat
Csoportosítás UI-hez (1)Korpuszanalízis és navigáció • Tegyük az adott korpusz dokumentumait csoportokba • Rekurzíve, ez egy tematikus fát indukál (taxonómia) • Segíti a felhasználót a korpusz böngészésénél, hogy a megfelelő információt megtalálja • Kulcsfontosságú: értelmes címkék hozzárendelése a fa csomópontjaihoz • Yahoo: manuális hierarchia • Gyakran nem áll rendelkezésre új dokumentumgyűjteménynél
Csoportosítás UI-hez (2) Navigációkeresési eredmények közt • Legyen adva a keresési eredmény (pl. Jaguar, v.NLP), csoportosítsuk a hasonló dokumentumokat • Tekinthető szavak egyértelműsítéseként is (word sense disambiguation) • Jaguar jelenthet: • Autómárkát • Állatot • Amerikaifutball-csapat (Jacksonsville Jaguars) • Videojáték • …
Példa eredménycsoportokra • Cluster 1: • Jaguar Motor Cars’ home page • Mike’s XJS resource page • Vermont Jaguar owners’ club • Cluster 2: • Big cats • My summer safari trip • Pictures of jaguars, leopards and lions • Cluster 3: • Jacksonville Jaguars’ Home Page • AFC East Football Teams
Reprezentáció csoportosításnál • Hasonlósági mérték • Dokumentum reprezentáció
Mitől lesznek a dokumentumok „hasonlóak”? • Ideális: értelmi (szemantikus) hasonlóság • Gyakorlatban: statisztikai hasonlóság • Koszinusz hasonlóságot alkalmazunk • Dokumentumok vektorként reprezentálva • Számos algoritmusnál könnyebb, ha dokumentumok távolságát használjuk (mintsem hasonlóságát) • De az algoritmusokban a koszinusz mértéket fogjuk használni • Hipotézis: „Közeli” dokumentumokhasonlótémárólszólnak
Hány csoport legyen? • Ha a csoportok száma,k,adott • Az n dokumentum felosztása (partícionálása) az előre megadott számú csoportba • A csoportok számának meghatározása a probléma szerves része • Adott a korpusz, partícionáljuk őket „megfelelő” számú csoportba • Pl. keresési eredmények esetén – a kideális értéke nem ismert előre – noha a felh.felület nyilván jelenhet korlátokat • Algoritmusfüggő
Csoportosító algoritmusok • Hierarchikus algoritmusok • Lentről felfelé (bottom-up), egyesítő (agglomerative) • Fentről lefelé (top-down), felosztó (divisive) • Csoporthasonlóság fogalmára szükség van • Particionáló, iteratív működésű algoritmusok • Kiindulásként egy véletlenszerű partícionálással kezdenek • Iteratívan finomítják a felosztást • Más megkülönböztetés • Szigorú és lágy csoportosítás, a csoportba tartozás jellegétől függően
Kulcsfogalom: reprezentáns elem • Szükség van a csoport reprezentáns elemének (pontjának) a fogalmára • Ez a pont a csoport tipikus eleme, vagy központi eleme, pl. • Az a pont, amely köré a legkisebb sugarú kört kell írni, hogy az összes csoportbeli dokumentumot tartalmazza • Legkisebb négyzetek távolsága, stb. • Az átlagos dokumentuma a csoportnak • Centroid vagy súlypont
Centroid Centroid • Klaszter centroidja = komponensenként vett átlagos vektor – ez is egy vektor • Nem feltétlenül egy dokumentum. • (1,2,3); (4,5,6); (7,2,6) vektorok centroidja (4,3,5). • Centroid a legtöbb esetben megfelelő reprezentáns.
Centroid Izolált pontok (outliers) • Az izolált pontokat figyelmen kívül tudja hagyni • Hogyan határozható meg az izolált pont? • Sok statisztikai definíció létezik, pl. • A pont centroidhoz képesti momentuma > M vmilyen csoport momentum. Mondjuk 10. Outlier
Medoid mint reprezentáns elem • A centroid nem biztos, hogy a korpusz egy eleme. • Medoid: egy reprezentáns dokumentum • Példa: a centroidhoz legközelebbi dokumentum • Miért hasznos ez • Nagy csoportok reprezentáns eleme (>1000 docs) • A centroid egy sűrű vektor lesz • A medoid egy ritka vektor lesz • Analógia: átlag/centroid vs. medián/medoid
d3,d4,d5 d4,d5 d3 Dendrogram: Példa – hierarchikus algoritmusok • Csoportok egyesítésénél, a dokumentumok gyakran tematikus taxonómiába rendeződnek d3 d5 d1 d4 d2 d1,d2
Egyesítő klaszterezés • Adott: csoportok száma, k. • Kezdetben minden dokumentumot egy csoportnak tekintünk • Kiindulás: ncsoport; • Iteráció: • whilecsoportok száma> k, keresd a „legközelebbi” csoportpárt, és egyesítsd őket.
“Legközelebbi”csoportpár • Sok lehetőség van a definícióra • Centroid kapcsolódás (center of gravity, súlypont) • Egyesítsük azokat, amelyeknek a centroidja (avagy súlypontja) a leginkább hasonló a cos mérték szerint • Átlagos kapcsolódás (average-link v. group average) - csoportok közti átlagos távolság • Átlagos cos mérték az elempárok között • Egyszerű kapcsolódás (single-link) - csoportok közti minimális távolság • A leginkább hasonló elemek alapján • Teljes kapcsolódás (complete-link) - csoportok közti maximális távolság • A legtávolabbi elemek hasonlósága alapján
Particionálómódszerek, K-means • Azalgoritmusjellemzői: • Azelemeketközvetlenül a klaszterhezrendelihozzá • A hozzárendelésiteratívközelítésenalapszik. • Előreadottazigényeltklaszterekdarabszáma (K) • Algoritmus: • induláskorfelveszünk K darabközéppontot, mint klaszterközéppontot(tetszőlegesen!) • mindenelemethozzárendeljük a legközelebbiközépponthoz • a kapottcsoportokrakiszámítjukazelemeiátlagát • a klaszterközéppontotazújátlagbavisszükát • A középpontokvándorolnakazoptimálishelyfelé, konvergencia • ha egyikklaszterközéppontsemmozogmár, leállazalgoritmus • Egyesváltozatokban a középhelyett a k-mediánmódszertalkalmazzák K meghatározása klaszterezés ellenőrzés
Principal Direction Divisive Partitioning (PDDP) • A módszeralapgondolata: • A térbenolyanegyenesmentén a legkönnyebbfelosztani, ahollegnagyobbazértékekszórása. • a szeparálóegyenesezenirányramerőlegeslesz
PDDP algoritmus • A főiránymeghatározása a máttanult PCA módszerrellehetséges • azobjektumoklevetítéseseerreazegydimenzióra • a kapottegydimenzióstérbenklaszterezéselvégzése • pl. K-means módszerrel • klaszterhatárokmeghatározása • a határpontokramerőlegesegyenesekmegadása • ezenegyeneseklesznek a klaszterhatárok