1 / 37

Csoportosítás

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 .

elinor
Télécharger la présentation

Csoportosítás

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Csoportosítás

  2. Mai témák • Motiváció: ajánlások • Dokumentumok csoportosítása • Csoportosító/klaszterező algoritmusok

  3. 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)

  4. 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

  5. Példa: Éttermek ajánlása • Adott a Palo Alto-i éttermek teljes listája • Néhánynál ésjelzi az értékelést (thumb up & down) • Az értékeléseket a Stanford hallgatói végezték • Melyik éttermet ajánljuk valakinek?

  6. Bemenet

  7. 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

  8. A mátrix másképp

  9. Numerikusan Az összes többi helyen nulla.

  10. 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.

  11. 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)

  12. 1.Kverzió • Vegyük a kleghasonlóbb felhasználót • Ajánljuk az általuk legnépszerűbbnek tartott helyet

  13. 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?

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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?

  19. 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

  20. 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

  21. 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

  22. 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 • …

  23. 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

  24. Reprezentáció csoportosításnál • Hasonlósági mérték • Dokumentum reprezentáció

  25. 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

  26. 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ő

  27. 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

  28. 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

  29. 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.

  30. 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

  31. 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

  32. 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

  33. 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.

  34. “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

  35. 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

  36. 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

  37. 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

More Related