Adatbányászat. Klaszterezés Szociális hálózatok 2014. Szegedi Tudományegyetem



Hasonló dokumentumok
Adatbányászat. Klaszterezés Szociális hálózatok. Szegei Tudományegyetem. Lehetetlenségi tétel Hierarchikus eljárások Particionáló módszerek

Szociális hálózatok Gráf alapú módszerek. Adatbányászat. Klaszterezés Szociális hálózatok. Szegedi Tudományegyetem. Adatbányászat

Közösség detektálás gráfokban

7. Régió alapú szegmentálás

Adatbányászat: Klaszterezés Haladó fogalmak és algoritmusok

Szalai Péter. April 17, Szalai Péter April 17, / 36

Gépi tanulás a gyakorlatban. Kiértékelés és Klaszterezés

Gyakorló feladatok adatbányászati technikák tantárgyhoz

Klaszterezés. Kovács Máté március 22. BME. Kovács Máté (BME) Klaszterezés március / 37

MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR

A segédletben található esetleges hibákkal kapcsolatos visszajelzéseket szívesen veszem.

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

Algoritmusok bonyolultsága

Algoritmuselmélet. Gráfok megadása, szélességi bejárás, összefüggőség, párosítás. Katona Gyula Y.

Képrekonstrukció 9. előadás

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma

Adatszerkezetek 2. Dr. Iványi Péter

Algoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.

Gráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor

Döntéselőkészítés. VII. előadás. Döntéselőkészítés. Egyszerű Kőnig-feladat (házasság feladat)

Babeş Bolyai Tudományegyetem, Kolozsvár Matematika és Informatika Kar Magyar Matematika és Informatika Intézet

Szociális hálók klaszterezése

Gépi tanulás. Féligellenőrzött tanulás. Pataki Béla (Bolgár Bence)

Diszkrét matematika 2. estis képzés

Felvételi tematika INFORMATIKA

Diszkrét matematika 2.C szakirány

Társadalmi és gazdasági hálózatok modellezése

Gráfalgoritmusok ismétlés ősz

Adatbányászat: Klaszterezés Alapfogalmak és algoritmusok

Adatbányászat: Klaszterezés Alapfogalmak és algoritmusok

Adatelemzés és adatbányászat MSc

Adatbányászati szemelvények MapReduce környezetben

Diszkrét matematika 2.

Algoritmuselmélet 7. előadás

Diszkrét matematika 2.C szakirány

Csima Judit BME, SZIT február 18.

Operációkutatás. Vaik Zsuzsanna. Budapest október 10. First Prev Next Last Go Back Full Screen Close Quit

Diverzifikáció Markowitz-modell MAD modell CAPM modell 2017/ Szegedi Tudományegyetem Informatikai Intézet

Klaszterezés, 2. rész

1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok. HálózatokII, 2007

EGYSZERŰ, NEM IRÁNYÍTOTT (IRÁNYÍTATLAN) GRÁF

Az egyenes egyenlete: 2 pont. Az összevont alak: 1 pont. Melyik ábrán látható e függvény grafikonjának egy részlete?

Gráfelmélet/Diszkrét Matematika MSc hallgatók számára. 13. Előadás

} számtani sorozat első tagja és differenciája is 4. Adja meg a sorozat 26. tagját! A = { } 1 pont. B = { } 1 pont. x =

26. MINIMÁLIS KÖLTSÉGŰ UTAK MINDEN CSÚCSPÁRRA

Példa Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.

Operációkutatás vizsga

Nagy-György Judit. Szegedi Tudományegyetem, Bolyai Intézet

Számítógép és programozás 2

1. tétel - Gráfok alapfogalmai

Principal Component Analysis

Gráfelméleti alapfogalmak

Algoritmuselmélet. Mélységi keresés és alkalmazásai. Katona Gyula Y.

Közösségek keresése nagy gráfokban

Számítógép hálózatok, osztott rendszerek 2009

GRÁFELMÉLET. 7. előadás. Javító utak, javító utak keresése, Edmonds-algoritmus

Társadalmi és gazdasági hálózatok modellezése

Szepesvári Csaba ápr. 11

HAMILTON KÖR: minden csúcson PONTOSAN egyszer áthaladó kör. Forrás: (

Miskolci Egyetem Gazdaságtudományi Kar Üzleti Információgazdálkodási és Módszertani Intézet

Diszkrét matematika 2. estis képzés

Keresések Gregorics Tibor Mesterséges intelligencia

Képrekonstrukció 6. előadás

Vektorterek. =a gyakorlatokon megoldásra ajánlott

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

Algoritmizálás, adatmodellezés tanítása 8. előadás

Bevezetés Standard 1 vállalatos feladatok Standard több vállalatos feladatok 2017/ Szegedi Tudományegyetem Informatikai Intézet

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Elengedhetetlen a játékokban, mozi produkciós eszközökben Nélküle kvantum hatás lép fel. Az objektumok áthaladnak a többi objektumon

Gauss-Seidel iteráció

Numerikus módszerek 1.

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz

Babeş Bolyai Tudományegyetem, Matematika és Informatika Kar. szinte minden tudományterületen találkozhatunk. A sok fontos alkalmazás közül itt

Gyakori elemhalmazok kinyerése

Diszkrét matematika 2.C szakirány

Szemidenit optimalizálás és az S-lemma

HÁLÓZAT Maximális folyam, minimális vágás

Összefoglalás és gyakorlás

Panorámakép készítése

törtet, ha a 1. Az egyszerűsített alak: 2 pont

A valós számok halmaza

Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra:

Megoldás: Mindkét állítás hamis! Indoklás: a) Azonos alapú hatványokat úgy szorzunk, hogy a kitevőket összeadjuk. Tehát: a 3 * a 4 = a 3+4 = a 7

1. Tekintsük a következő két halmazt: G = {1; 2; 3; 4; 6; 12} és H = {1; 2; 4; 8; 16}. Elemeik felsorolásával adja meg a G H és a H \ G halmazokat!

B-fa. Felépítés, alapvető műveletek. Programozás II. előadás. Szénási Sándor.

Gráf-algoritmusok ERŐS / GYENGE KÖTÉSEK

Diszkrét matematika 2.C szakirány

HAMILTON ÚT: minden csúcson PONTOSAN egyszer áthaladó út

Optimalizálási eljárások MSc hallgatók számára. 11. Előadás

XVIII. Nemzetközi Magyar Matematika Verseny

A maximum likelihood becslésről

Dinamikus programozás vagy Oszd meg, és uralkodj!

Konjugált gradiens módszer

22. GRÁFOK ÁBRÁZOLÁSA

Csima Judit BME, SZIT február 17.

ACM Snake. Orvosi képdiagnosztika 11. előadás első fele

Algoritmuselmélet 18. előadás

Átírás:

Adatányászat Klaszterezés Szegedi Tudományegyetem 2014. Adatányászat

Mit várhatunk egy klaszterezőtől? Az ojektumok olyan csoportjainak megtalálása, hogy az egy csoportan levő ojektumok hasonlóak lesznek egymáshoz, mint a más csoportan levőkhöz Pl. vásárlói csoportok meghatározása, weoldalak csoportosítása Adatányászat

Formálisaan mit várjunk el egy jó klaszterezéstől? Adott pontok egy S halmaza, melyeken legyen értelmezve d : S S R+ {0} távolság(metrika) f (d, S) klaszterfüggvény S egy Γ particionálását adja vissza Skála invariancia: d, α > 0 f (d, S) = f (αd, S) Gazdagság: f segítségével legyen előállítható S minden particionálása Γ d : f (d, S) = Γ Konzisztencia: f (d, S) = Γ f (d 0, S) = Γ, amennyien d 0 d-nek egy Γ-transzformációja d egy Γ-transzformációja d 0, amennyien a Γ felontás mellett minden (i, j) pontpárra d 0 (i, j) d(i, j), továá d 0 (k, l) d(k, l) az eltérő klaszteree tartozó pontpárokra Adatányászat

Kleinerg lehetetlenségi tétele (2002) Nem adható klaszterező eljárás, amely a skála invariancia, gazdagság és konzisztencia jó tulajdonságaival egyszerre írna Legjo eseten a három tulajdonságól kettőt választhatunk egy klaszterező eljárás tekintetéen Adatányászat

Lehet még ennél is rossza? Dimenzionalitás átka Magas dimenzióan minden pont távolsága hasonló(an magas), nincs értelme közelségről eszélni Mi lesz 1d-en két pont várható távolsága egységnyi hosszúságon? És n-dimenzióan? Nem Euklideszi terek: pontok átlaga nem értelmezhető Adatányászat

Klaszterezés lehetséges csoportosítása Klaszterezés stílusa szerint Hierarchikus klaszterezés: a pontok klasztrestruktúráját klaszterek egymása ágyazott rendszereként adja meg Particionáló klaszterezés: csupán a pontok diszjunkt részhalmazait határozza meg Gráf alapú/távolság alapú klaszterezők Milyen tereken és adattípusokon tud dolgozni? Adatányászat

Hierarchikus klaszterezők Felülről lefele, vagy alulról felfele haladó eljárások Összekötő (linkage) algoritmuscsalád/agglomeratív klaszterezés 1: 2: 3: 4: 5: kezdeten minden pont alkosson egy önálló klasztert while (megállási feltétel nem teljesül) do [Ci, Cj ] := összevonásra legalkalmasa klaszterek Ck = Ci Cj end while a megállási feltétel, valamint az összevonásra legalkalmasa klaszterek definiálásának módosításával tö, változatos viselkedésű algoritmus kapható Adatányászat

Hierarchikus klaszterezés dendrogram Adatányászat

Hierarchikus klaszterezés klaszterek kialakítása Adatányászat

Statégiák Ci és Cj összevonásásra Mi legyen i és j, ha k klaszter közül kell válasszunk (i, j) = arg min1 i,j k,i6=j min(d(ci, Cj )) (i, j) = arg min1 i,j k,i6=j max(d(ci, Cj )) (i, j) = arg min1 i,j k,i6=j r (Ci Cj ), ahol r (C ) = maxx C d(x, centroid(c )) (itt a klaszteren elüli sugarak átlagával is számolhatunk akár) (i, j) = arg min1 i,j k,i6=j d(ci Cj ), ahol d(c ) = maxx,y C d(x, y ) Mi a klasztersugár (r (C )) és átmérő (d(c )) közötti összefüggés? Adatányászat

Lehetséges megállási feltételek Klaszterek számának előre definiálásával Maximum t távolsággal társítható élek ehúzása Akármi, amit a klaszterek összevonási stratégiáihoz rokoníthatunk (pl. az átlagos klaszterátmérők drasztikus növekménye) Nem állunk meg, a teljes fára vágyunk (filogenetikus fák) Adatányászat

Hierarchikus klaszterezés nem Euklideszi tereken Ha az adataink sztringek, melyek távolságát szerkesztési távolsággal mérjük, hogy határozzuk meg klaszterek összevonása után az új klaszter közepét? medoid : C klaszter azon eleme, melyhez képest a töi klaszterelem összességéen a lehető legközele van (pl. átlagos, maximális,... értelemen) Adatányászat

Medoidok Példa ecda aec aecd acd 5 3 3 aecd 2 2 aec 4 Összeg Max Négyzetösszeg acd 11 5 43 aecd 7 3 17 aec 9 4 29 ecda 11 5 45 Adatányászat

Hierarchikus klaszterező hatékonysága Amennyien n pontunk van, az i. lépésen O((n i)2 ) művelettel megoldható két klaszter összevonása Mivel O(n) összevonás lehetséges, ezért O(n3 ) műveletigényű a teljes algoritmus Hogy javítanánk? Páronkénti távolságok meghatározása O(n2 ) Tároljuk ezeket prioritási soran. Mi enne a jó? Az eredeti műveletigény O(n2 log n)-re redukálható Adatányászat

k-közép módszer Nem kapunk hierarchikus struktúrát vissza Jellemzően előre ismertnek veszi a meghatározandó klaszterek k számát Mindössze az adatpontok klaszterközepekhez való rendelését végzi Ehhez megkeresi a legjo klaszterközepeket valamilyen célfüggvény minimalizálása mellett, pl. SSE = k X X k xj µi k2 i=1 xj Ci, ahol µi az i klaszterhez rendelt középpont Adatányászat

k-közép módszer a klaszterközepek meghatározására inicializáljuk a k klaszterközéppontot: µ = [µ1,..., µk ] 2: while (megállási feltétel nem teljesül) do 4: 6: 8: 10: 12: 14: µnew := zeros(k, m) clustersizes := zeros(1, k) for i = 1 to n do c := arg minj xi µj 2 µnew (c) := µnew (c) + xi clustersizes(c) := clustersizes(c) + 1 end for for i = 1 to k do µnew (i) = µnew (i)/clustersizes(i) end for µ = µnew end while Adatányászat

k-közép eljárás prolémái Felteszi az adatan fellelhető csoportok számának előzetes ismeretét Kezdeti kalszterközepekre való érzékenység Nagy klaszterek jogtalan hátránya sorolása Zajos adatokra való érzékenység Szaályos alakú (és nem túl nagy) régiók felismeréséen jó Adatányászat

Megoldási javaslatok a k-közép eljárás prolémáira Valamilyen jósági mérőszám mellett különöző k-k kipróálása mellet egy ésszerű választást végrehajtani Kezdőpontok megfelelő inicializálása µi := x X : µi 6= µj i 6= j-re k klasztere történő hierarchikus klaszterezést követően minden válasszunk az egyes klaszterekől véletlenül egy középpontot Folyamatosan válasszunk új elemeket, hogy azok minimális távolsága a már meghatározott centroidokhoz maximális legyen Algoritmus töszöri végrehajtása, klaszterek összeolvasztása utófeldolgozásként, amennyien szükséges Adatányászat

BFR (Bradley, Fayyad, Reina) algoritmus Erős feltételezés: a d-dimenziós klaszterek egyes dimenziói egymástól független Gauss eloszlásokkal írhatók le A pontokat végigolvassuk, de ahelyett, hogy mindegyiket tárolnánk, azokkal a pontokkal, amelyekről kielégítő valószínűséggel feltételezhető, hogy egy már megkezdett klasztere fog tartozni csak frissítjük a klaszterközép statisztikáját A klaszterközepeket 2d + 1 értékkel írjuk le: klaszterhez rendelt pontok száma, azok egyes dimenziónkénti elemeinek összege, valamint négyzetösszegük Mahalanois távolsággal ecsülhetjük r a már megkezdett 2 Pd xi ci klaszterközepektől vett távolságot formáan. i=1 σi Most miért így? Adatányászat

Élei lehetnek címkézettek (pl. ellenség, arát), továá súlyozottak (pl. telefoneszélgetés) Megjelenési formái Ismeretségi, társszerzőségi gráf (Erdős-Bacon szám) Levelezési gráf: G = (V, E ), hogy (x, y ) E x, y V (írt(x, y ) írt(y, x)) Mi lenne, ha az utolsó helyén állna? Valami egzotikusa: páros (k-részű) gráfok ( social ookmarking ) A hagyományos klaszterező eljárások nem (vagy legaláis csak korlátozottan) működnek esetüken Okai Skálázódás (hiánya) Két csúcs között lévő kapcsolat mértékének számszerűsítése Címkézett élek kezelése Adatányászat

Ilyenek a szociális hálózatok? Nem mondhatnánk. Ez sokkal inká egy véletlen (Erdős-Rényi) gráf Adatányászat

Példa szociális hálózat Zachary karate klu gráfja Adatányászat

Kisvilággráfok sajátosságai fokszámeloszlás lineáris skálán 0.3 0.25 0.2 0.15 0.1 5 10 2 2 4 6 8 10 12 Adatányászat 14 16

Kisvilággráfok sajátosságai fokszámeloszlás log-log skálán 10 0.6 10 0.8 10 1 10 1.2 10 1.4 100 100.2 100.4 100.6 100.8 Adatányászat 101 101.2

Kisvilággráfok sajátosságai fokszámeloszlás egy valós nagyságú példán 10 1 10 2 10 3 10 4 10 5 100 101 102 103 Adatányászat

Kisvilággráfok sajátosságai Hatványeloszlás Fokszámok eloszlása hatványeloszlást követ (valami arátságos eloszlás helyett) p(x) exp (x µ)2 helyett p(x) x1β Milyen hatása lesz ennek log p(x) alakulására? Adatányászat

Kisvilággráfok sajátosságai Kis átmérő d(g ) = 2 V ( V 1) P u,v V u v log ( V ) Kis átmérő: alacsony a pontpárok közötti átlagos távolság (Milgram, Karinthy) Adatányászat

Kisvilággráfok sajátosságai Klaszterezettség, összefüggőség ha A csúcs szomszédja B és C is, akkor B és C csúcsok véletlennél nagyo valószínűséggel szomszédok X G = (V, E ) csúcsának klaszterezettsége: között menő élek száma c(x ) = 2 X Xszomszédjai szomszédjai ( X szomszédjai 1) G klaszterezettsége: a csúcsok klaszterezettségének átlaga Hogy jelenik meg mindez a szomszédsági gráfan? Adatányászat

Mi is a célunk tulajdonképp? Gráfok vágásai Egy G = (V, E ) hasonlósági gráf csúcsainak olyan particionálására (S T = S T = V ) vágyunk, ami minimális él eltávolításával (Cut(S, T )) jár minimális vágás továá közel azonos méretű részhalmazokat eredményez ) Cut(S,T ) Normalizált vágás = Cut(S,T Vol(S) + Vol(T ), ahol Vol(S), illetve Vol(T ) azon élek számát adja meg, amely legalá egy csúcsa S-en, illetve T -en található Laplace mátrix: L = D A, ahol D diagonális mátrix dii eleme a gráf i csúcsának fokszámát tartalmazza, aij pedig 1, ha i és j csúcsok összeköttetésen állnak, különen 0 Állítás: L szimmetrikus és pozitív szemidefinit. Biz.: tálán P V P V x Lx = 21 i=1 j=1 aij (xi xj )2 következménye: L sajátértékei valósak, és 0 Adatányászat

Spektrálklaszterezés alapja és a Rayleigh-Ritz tétel Lehet-e λ1 = 0? Ha igen, mikor? Lehet-e λi = 0, i > 1? Ha igen, mikor? P V P V Végső soron x Lx = 21 i=1 j=1 aij (xi xj )2 minimalizálása a cél, úgy, hogy k x k= 1, és x ~1 Rayleigh-Ritz tétel: min xx Mx x = λ1, valamint x Mx arg min x x = x1, ahol λ1 M legkise sajátértéke, x1 -pedig a hozzátartozó sajátvektor Továá minden sajátvektorra xi = arg minx x1,...,xi 1 x Mx x x Mit von mindez az általános eredmény maga után a Laplace mátrixra nézve? Adatányászat

Spektrálklaszterezés ~ Minimalizálni akarjuk xx Lx x -t, hogy k x k= 1 és x 1 ez épp x2, az ún. Fiedler-vektor lesz (Rayleigh-Ritz tétel értelméen) Egy lehetséges (korántsem egyedüli) forgatókönyv, hogy a pontokat kettéválasztjuk a pozitív és negatív értéket felvevő sajátvektorkomponenseknek megfelelően Egyáltalán iztosak lehetünk enne, a Fiedler-vektor fog > 0 és < 0 elemeket tartalmazni egyszerre? A 0 mentén való szeparáció helyett hagyatkozhattunk volna a mediánra is, vagy továi sajátvektorokra is akár A proléma visszavezethető még töek között: minimális vágásra, véletlen sétákra,... Adatányászat

Girvan-Newman algoritmus (a, ) él köztessége = azon pontpárok száma, amelyek között menő legrövide út tartalmazza (a, ) élet A magas érték jó vagy rossz? A gráf minden X pontjáól indulva határozzuk meg (X, ) csúcspárok köztességét (szélességi ejárás) A szélességi ejárás után lássuk el az egyes csúcsokat azokkal az értékekkel, hogy a gyökéről hányféle legrövide út vezet hozzájuk A szélességi ejárás azonos szintjén elüli élek nem lehetnek részei a gyökérelemől induló legrövide utaknak Ellenen a töi, ún. DAG-élek legalá egy legrövide úton fekszenek A gyökérhez 1 értéket társítva haladjunk szintenként, és egy gyerekcsúcs értéke legyen a szülei értékeinek összege Adatányászat

Girvan-Newman algoritmus folytatás Az aktuális X gyökérelem viszonyáan lássuk el a gráf egyes éleit köztességértékekkel (alulról felfele haladva) Minden élhez határozzuk meg, hogy adott X gyökérelem viszonyáan a legrövide utak mekkora hányada megy rajtuk keresztül A levelekhez 1 értéket társítunk Nem-levél csúcsok := 1 + kimenő DAG élek értékeinek összege Egy csúcs köztességének felterjesztése során a szülők felé vezető éleken a szülők a hozzájuk X -ől vezető legrövide utak arányáan osztozkodnak Ismételjük az eljárást, hogy minden csúcs legyen egyszer gyökérelem, az élek által felvett köztességértékeket pedig összegezzük az iterációk során (megjegyzés: minden élt kétszer számoltunk, így indokolt lehet az élek végső értékeinek 2-vel való osztása) Adatányászat

Köztesség alapú particionálás Az élekhez társított köztességértékeket tekinthetjük egyfajta távolságnak (még ha metrikának nem is) Iteratív módon összevonhatjuk a legkise köztességű élek végén lévő pontokat Eljárhatunk fordítva is: az eredeti gráfot a legnagyo köztességértékű éleket elhagyva komponensekre onthatjuk Adatányászat

A korái ismereteink is kapóra jönnek Véletlen séták (extrémmód) Perszonalizált PageRank (PRP) segítségével Elfogult teleportálás: (1 β) valószínűséggel induljunk újra Rendezzük a csúcsokat PRP szerint és vegyük a normalizált vágások értékeit a k legmagasa PRP értékű csúcsok mentén A normalizált vágások lokális minimumai tekinthetők klaszterhatároknak 1.2 1.1 7 1 Normalized Cut 0.9 6 0.8 4 0.7 5 1 0.6 2 10 8 0.5 3 0.4 0.3 1 2 3 4 5 6 Personalized PageRank 7 8 9 Adatányászat 9

A korái ismereteink is kapóra jönnek Gyakori elemhalmazok Gyakori elemhalmazok keresése páros gráfokon Kosarak:?, Termékek:? Adatányászat