Csoportosítás.

Slides:



Advertisements
Hasonló előadás
A Szállítási feladat megoldása
Advertisements

Készítette: Kosztyán Zsolt Tibor
I. előadás.
Programozási tételek, és „négyzetes” rendezések
Fejmozgás alapú gesztusok felismerése
Függvények Egyenlőre csak valós-valós függvényekkel foglalkozunk.
Keresők & Brandek A keresőoptimalizálás fontossága.
MI 2003/9 - 1 Alakfelismerés alapproblémája: adott objektumok egy halmaza, továbbá osztályok (kategóriák) egy halmaza. Feladatunk: az objektumokat - valamilyen.
MI 2003/ A következőkben más megközelítés: nem közvetlenül az eloszlásokból indulunk ki, hanem a diszkriminancia függvényeket keressük. Legegyszerűbb:
Kalman-féle rendszer definíció
Matematika II. 4. előadás Geodézia szakmérnöki szak 2010/2011. tanév Műszaki térinformatika ágazat tavaszi félév.
GNSS elmélete és felhasználása Fázismérések lineáris kombinációi. A ciklustöbbértelműség feloldása.
Matematika II. 2. előadás Geodézia szakmérnöki szak 2012/2013. tanév Műszaki térinformatika ágazat őszi félév.
Illés Tibor – Hálózati folyamok
Sűrűségfüggvény Parzen becslés Mintapontszám, szigma.
Digitális képanalízis
SAS Enterprise Miner 2. gyakorlat
Csoportosítás megadása: Δx – csoport szélesség
Dokumentum klasszifikáció október 12.. Dokumentum klasszifikáció Feladat: Dokumentumok automatikus előre definiált osztályokba sorolása. Dokumentum:
Bevezetés a gépi tanulásba február 16.. Mesterséges Intelligencia „A számítógépes tudományok egy ága, amely az intelligens viselkedés automatizálásával.
Távolság alapú eljárások Hierarchikus eljárások
Gépi tanulási módszerek
Osztályozás -- KNN Példa alapú tanulás: 1 legközelebbi szomszéd, illetve K-legközelebbi szomszéd alapú osztályozó eljárások.
Rangsorolás tanulása ápr. 24..
Szintaktikai elemzés március 1.. Gépi tanulás Osztályozási feladat: Adott egyedek egy halmaza és azok osztályba tartozási függvénye (tanító halmaz),
MI 2003/ Alakfelismerés - még egy megközelítés: még kevesebbet tudunk. Csak a mintánk adott, de címkék nélkül. Csoportosítás (klaszterezés, clustering).
Főkomponensanalízis Többváltozós elemzések esetében gyakran jelent problémát a vizsgált változók korreláltsága. A főkomponenselemzés segítségével a változók.
Klaszterező algoritmusok smart city alkalmazásokhoz Gonda László Témavezető: Dr. Ispány Márton.
Objektum osztályozás Képfeldolgozás 2. Blaskovics Viktor, Hantos Norbert, Papp Róbert Sándor.
Készítette: Pető László
Előadó: Prof. Dr. Besenyei Lajos
Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció
Megvalósíthatóság és költségelemzés Készítette: Horváth László Kádár Zsolt.
Adatbányászat: Klaszterezés Haladó fogalmak és algoritmusok
PTE PMMK Matematika Tanszék dr. Klincsik Mihály Matematika III. előadások MINB083, MILB083 Gépész és Villamosmérnök szak BSc képzés 2007/2008. őszi félév.
Aki keres, az talál? Igen, talál. Ki ezt, ki azt, de egy szót beütve a google keresőbe (pl.) mindig ugyanazt, hacsak nem kerültek fel új honlapok az adott.
Hierarchikus klaszteranalízis
K-közepű és kétlépéses klaszteranalízis (3. fejezet)
Készítette: Kosztyán Zsolt Tibor
Az Alakfelismerés és gépi tanulás ELEMEI
Vámossy Zoltán 2004 (H. Niemann: Pattern Analysis and Understanding, Springer, 1990) DIP + CV Bevezető II.
Gráfok Készítette: Dr. Ábrahám István.
Access XP Kifejezés-szerkesztő Összehasonlító operátorok:
Dr. Balogh Péter Gazdaságelemzési és Statisztika Tanszék DE-AMTC-GVK
Fejmozgás alapú gesztusok felismerése Bertók Kornél, Fazekas Attila Debreceni Egyetem, Informatikai Kar Debreceni Képfeldolgozó Csoport KÉPAF 2013, Bakonybél.
Szemantikus keresők.
Csoportosítás (klaszterezés) A csoportosítás feladata a vizsgált objektumok jól elkülönülő csoportba történő besorolása. A klaszterezés sok szempontból.
Gépi tanulás Tanuló ágens, döntési fák, általános logikai leirások tanulása.
Önálló labor munka Csillag Kristóf 2005/2006. őszi félév Téma: „Argument Mapping (és hasonló) technológiákon alapuló döntéstámogató rendszerek vizsgálata”
Az internetes keresőkben a felhasználó az őt érdeklő szavakra, adatokra kereshet rá egy általában egyszerű oldalon, egy beviteli mező és egyéb szűrési.
Egyszerűsítő megoldások Eddigi problémák: Természetes nyelv kényelmes használat – magas kifejező erő – feldologozhatatlanság Kódrendszerek: feldolgozható.
Adatbányászati módszerek a térinformatikában
Többváltozós adatelemzés 5. előadás. Hierarchikus klaszterezés Klaszterek számát nem kell előre megadni A pontok elhelyezkedését térképezi fel Nem feltétlenül.
Többváltozós adatelemzés
Alapsokaság (populáció)
Belami beszámoló – Doménadaptációs alkalmazások. Problémafelvetés Felügyelt tanulás elvégzéséhez gyakran kevés jelölt adat áll rendelkezésre  doménadaptáció.
I. előadás.
MI 2003/ Mi lenne a b legjobb választása? Statisztikai eljárásoknál az un. Fisher féle lineáris diszkriminancia függvény adja a legjobb szétválasztási.
Keresés a weben Kulcsszavas keresés: Google (
Nyelvi interfészek. IBM Watson 8:20 ill. 3:00.
A HATÁROZOTT INTEGRÁL FOGALMA
Valószínűségszámítás II.
F IGYELMI ALGORITMUSOKKAL VEZÉRELT HELYSZÍNANALÍZIS Persa György.
Kutatási beszámoló 2002/2003 I. félév Iváncsy Renáta.
Automatikus fizikai tervezési javaslatok XML adatbázisokhoz Balogh Bernadett Kresz Marcell Cseh Tamás.
Fejmozgás alapú gesztusok felismerése Bertók Kornél, Fazekas Attila Debreceni Egyetem, Informatikai Kar Debreceni Képfeldolgozó Csoport KÉPAF 2013, Bakonybél.
Mediánok és rendezett minták
I. Előadás bgk. uni-obuda
Algoritmusok és Adatszerkezetek I.
Algoritmusok és Adatszerkezetek I.
Előadás másolata:

Csoportosítás

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

Dokumentumhalmaz csoportokra bontása Az induló dokumentumhalmazt egyes feldolgozási feladatoknál célszerű csoportokra bontani. Dokumentum csoportra bontásának felhasználása: dokumentum jellemzése a csoporttal eredmény halmazban való navigáció dokumentum halmaz áttekinthetőbbé tétele dokumentum és dokumentumhalmaz jellemzése dokumentumok redukált reprezentációja hatékonyabb dokumentumhalmaz feldolgozás keresések felgyorsítása (klaszterekben keres először)

Dokumentum klaszterezés Definíció: A klaszterezés célja a dokumentumok, szavak csoportosítása oly módon, hogy egy csoportba az egymáshoz hasonló dokumentumok vagy szavak kerüljenek. Jellemzők nincs előre definiált csoport felügyelet nélküli tanulás felbontást állít elő 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  é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?

Bemenet

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 ÉS a 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

A mátrix másképp

Az összes többi helyen nulla. 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.K verzió Vegyük a k leghasonló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

Pillantsunk egy kicsit távolabbra! Felhasználók csoportosítása éttermi ajánlások céljából Tetszőleges más entitások (dokumentumok, web oldalak) Egyéb javaslattevő rendszerek Amazon.com Általános felügyelet nélküli gépi tanulás

Miért csoportosítunk dokumentumokat? 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ómatikus klaszterezési módszerekkel szembeni elvárások nagy méretű vektorterek kezelése klaszteren belül nagy legyen a hasonlóság klaszterek között kicsi legyen a hasonlóság a tanított minták pontos osztályozása ismeretlen minták jó osztályozása szemléletes, elfogadható legyen a döntés lényeges vonásokon alapján történjen a felbontás illeszkedjen a tapasztalatokra, az előzetes osztályainkhoz megszorítások figyelembe vételének tá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 D doksi, akkor adjuk vissza a csoportjába eső többi doksit is Azt reméljük, hogy ezzel: A car kereső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 dokumentumokat k csoportba Vegyük a keresőkifejezéshez legközelebbi ci csoportot 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” dokumentumok hasonló témáról szó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 k ideá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 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. Centroid 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

Dendrogram: Példa – hierarchikus algoritmusok Csoportok egyesítésénél, a dokumentumok gyakran tematikus taxonómiába rendeződnek d3 d5 d1 d3,d4,d5 d4 d2 d1,d2 d4,d5 d3

Egyesítő klaszterezés Adott: csoportok száma, k. Kezdetben minden dokumentumot egy csoportnak tekintünk Kiindulás: n csoport; Iteráció: while csoportok 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 Az algoritmus jellemzői: Az elemeket közvetlenül a klaszterhez rendeli hozzá A hozzárendelés iteratív közelítésen alapszik. Előre adott az igényelt klaszterek darabszáma (K) Algoritmus: induláskor felveszünk K darab középpontot, mint klaszter középpontot (tetszőlegesen!) minden elemet hozzárendeljük a legközelebbi középponthoz a kapott csoportokra kiszámítjuk az elemei átlagát a klaszter középpontot az új átlagba visszük át A középpontok vándorolnak az optimális hely felé, konvergencia ha egyik klaszterközéppont sem mozog már, leáll az algoritmus Egyes változatokban a közép helyett a k-medián módszert alkalmazzák K meghatározása klaszterezés ellenőrzés

Principal Direction Divisive Partitioning (PDDP) A módszer alapgondolata: A térben olyan egyenes mentén a legkönnyebb felosztani, ahol legnagyobb az értékek szórása. a szeparáló egyenes ezen irányra merőleges lesz

PDDP algoritmus A főirány meghatározása a mát tanult PCA módszerrel lehetséges az objektumok levetítésese erre az egy dimenzióra a kapott egydimenziós térben klaszterezés elvégzése pl. K-means módszerrel klaszter határok meghatározása a határpontokra merőleges egyenesek megadása ezen egyenesek lesznek a klaszter határok