Professional Documents
Culture Documents
Clustering
Clustering
Jeszenszky Péter
Bevezetés
A K -közép és DBSCAN összehasonlı́tása
2 / 129
Klaszterező algoritmusok (1)
3 / 129
Klaszterező algoritmusok (2)
4 / 129
A K -közép és DBSCAN összehasonlı́tása (1)
5 / 129
A K -közép és DBSCAN összehasonlı́tása (2)
6 / 129
A K -közép és DBSCAN összehasonlı́tása (3)
7 / 129
A K -közép és DBSCAN összehasonlı́tása (4)
8 / 129
A K -közép és DBSCAN összehasonlı́tása (5)
9 / 129
Statisztikai modelleken alapuló klaszterezés
10 / 129
Ütemterv
1. Keverék modellek
2. Statisztikai modellek paraméterbecslése
2.1 Egyszerű statisztikai modellek paramétereinek maximum
likelihood becslése
2.2 A maximum likelihood becslés általánosı́tása keverék modellek
paramétereinek becslésére: EM algoritmus
3. Az EM algoritmus használata klaszterezésre
11 / 129
Keverék modellek (1)
12 / 129
Keverék modellek (2)
Adatgeneráló folyamat:
1. Legyenek adott valószı́nűségeloszlások, általában ugyanabból a
tı́pusból, de különböző paraméterekkel.
2. Válasszunk véletlenszerűen az eloszlások közül egyet és
generáljunk belőle egy objektumot.
3. Ismételjük meg a folyamatot m-szer, ahol m az objektumok
száma.
13 / 129
Keverék modellek (3)
Jelölés:
I m: az objektumok száma
I xi : az i-edik objektum (i = 1, . . . , m)
I X : az objektumok halmaza, azaz X = {x1 , . . . , xm }
I K : az eloszlások száma
I θj : a j-edik eloszlás paraméterei (j = 1, . . . , K )
I Θ: az összes paraméter halmaza, azaz Θ = {θ1 , . . . , θK }
I P(xi | θj ): az i-edik objektum valószı́nűsége, ha a j-edik
eloszlásból származik (i = 1, . . . , m, j = 1, . . . , K )
I wj : annak a valószı́nűsége, hogy a j-edik eloszlást választjuk
egy objektum generálására (j = 1, . . . , K )
Megjegyzés
PK
Feltevés, hogy a wj súlyokra j=1 wj = 1 teljesül.
14 / 129
Keverék modellek (4)
15 / 129
Keverék modellek (5)
16 / 129
Példa keverék modellre (1)
w1 = w2 = 0,5.
17 / 129
Példa keverék modellre (2)
Ekkor
1 (x+4)2 1 (x−4)2
P(x | Θ) = √ e− 8 + √ e− 8 .
4 2π 4 2π
18 / 129
Példa keverék modellre (3)
19 / 129
Példa keverék modellre (4)
20 / 129
Paraméterbecslés maximum likelihood módszerrel (1)
21 / 129
Paraméterbecslés maximum likelihood módszerrel (2)
Tekintsünk egy m pontból álló halmazt, melyet egydimenziós
Gauss-eloszlásból generáltunk.
22 / 129
Paraméterbecslés maximum likelihood módszerrel (3)
23 / 129
Paraméterbecslés maximum likelihood módszerrel (4)
24 / 129
Paraméterbecslés maximum likelihood módszerrel (5)
Az (1) képletet az alábbi alakba ı́rjuk át, hogy kihangsúlyozzuk azt, hogy a µ
és σ paramétereket tekintjük változóknak, és hogy az adatokat konstansként
kezeljük:
m (x −µ)2
Y 1 − i
likelihood(Θ | X ) = L(Θ | X ) = √ e 2σ2 . (3)
i=1 2πσ 2
Megjegyzés
Praktikus okokból gyakrabban használják a loglikelihoodot.
25 / 129
Példa maximum likelihood paraméterbecslésre (1)
26 / 129
Példa maximum likelihood paraméterbecslésre (2)
28 / 129
Keverék modellek paraméterbecslése maximum likelihood
módszerrel
29 / 129
EM algoritmus (1)
1. algoritmus. EM algoritmus
1: Válasszunk kezdeti értékeket a modell paramétereire
(ahogy a K -középnél, ez történhet a véletlen segı́tségével vagy több más
módon is)
2: repeat
3: E (expectation, várható érték) lépés Minden objektumra számoljuk ki
annak valószı́nűségét, hogy az objektum az egyes eloszlásokhoz tartozik,
azaz számoljuk ki a P(j. eloszlás | xi , Θ) valószı́nűségeket
4: M (maximalizáló) lépés Az E-lépésből adódó valószı́nűségekkel keressük
meg az új paraméterbecsléseket, amelyek maximalizálják a várt likeli-
hoodot
5: until a paraméterek nem változnak
(vagy megállás akkor, ha a paraméterek változása egy adott küszöbértéknél
kisebb)
30 / 129
EM algoritmus (2)
31 / 129
EM algoritmus (3)
1
A paramétereket tipikusan a maximum likelihood becslésből származó
képletekkel lehet számolni. Egyetlen normális eloszlásra például a várható érték
ML becslése az eloszlásból származó objektumok átlaga.
32 / 129
Egyszerű példa az EM algoritmusra (1)
33 / 129
Egyszerű példa az EM algoritmusra (2)
34 / 129
Egyszerű példa az EM algoritmusra (3)
Θ = {θ1 , θ2 }.
35 / 129
Egyszerű példa az EM algoritmusra (4)
értékét.
0,5P(xi | θj )
P(j. eloszlás | xi , θ) = , (5)
0,5P(xi | θ1 ) + 0,5P(xi | θ2 )
36 / 129
Egyszerű példa az EM algoritmusra (5)
Megjegyzés
Az (5) formulát a közismert Bayes-tételből kapjuk:
P(X | Y )P(Y )
P(Y | X ) = ,
P(X )
37 / 129
Egyszerű példa az EM algoritmusra (6)
Tegyük fel például, hogy az egyik pont a 0.
38 / 129
Egyszerű példa az EM algoritmusra (7)
2
Az eloszlás várható értékére az új becslés éppen a pontok súlyozott átlaga,
ahol a súlyok a pontok adott eloszláshoz tartozásának a valószı́nűségei.
39 / 129
Egyszerű példa az EM algoritmusra (8)
40 / 129
Egyszerű példa az EM algoritmusra (9)
Iteráció µ1 µ2
0. −2,00 3,00
1. −3,74 4,10
2. −3,94 4,07
3. −3,97 4,04
4. −3,98 4,03
5. −3,98 4,03
41 / 129
Példa EM klaszterezésre (1/1)
6. ábra
43 / 129
Példa EM klaszterezésre (2/1)
44 / 129
Példa EM klaszterezésre (2/2)
45 / 129
Példa EM klaszterezésre (2/3)
46 / 129
Példa EM klaszterezésre (3/1)
47 / 129
Példa EM klaszterezésre (3/2)
48 / 129
Példa EM klaszterezésre (3/3)
49 / 129
A keverék modellekkel történő klaszterezés előnyei
50 / 129
A keverék modellekkel történő klaszterezés hátrányai
51 / 129
Önszervező háló
52 / 129
Az önszervező háló célja
53 / 129
Összehasonlı́tás más prototı́pus-alapú módszerekkel
54 / 129
Eredmény
55 / 129
Az önszervező háló felépı́tése (1)
56 / 129
Az önszervező háló felépı́tése (2)
57 / 129
Az önszervező háló felépı́tése (3)
58 / 129
Az önszervező háló működése
59 / 129
SOM alapalgoritmus
60 / 129
Kezdőértékadás
61 / 129
Az objektum kiválasztása
Felvetődő nehézségek:
I Mivel a konvergenciához sok lépésre lehet szükség, lehet, hogy
minden adatobjektumot többször kell használni (különösen
akkor, ha kicsi az objektumok száma).
I Ha viszont nagy az objektumok száma, akkor nem minden
objektumot szükséges használni.
62 / 129
Besorolás
3
Ekkor a belső szorzat alkalmazása ekvivalens a koszinusz mérték
használatával.
63 / 129
Frissı́tés (1)
Jelölés:
I k: a középpontok száma
I m1 (t), . . . , mk (t): középpontok a t-edik lépésben
I p(t): az aktuális objektum a t-edik lépésben
I mj (t): a p(t) objektumhoz legközelebbi középpont
ahol i = 1, . . . , k.
64 / 129
Frissı́tés (2)
65 / 129
Frissı́tés (3)
d(ri , rj )2
hij (t) = α(t) exp −
2σ(t)2
és
(
α(t), ha d(ri , rj ) ≤ küszöb,
hij (t) =
0, egyébként.
66 / 129
Frissı́tés (4)
67 / 129
Frissı́tés (5)
68 / 129
Leállás
69 / 129
Példa: dokumentum-adatok (1)
Példa
SOM alkalmazása egy 4 × 4-es hatszögráccsal dokumentum
adatokra.
70 / 129
Példa: dokumentum-adatok (2)
71 / 129
Példa: kétdimenziós pontok (1)
72 / 129
Példa: kétdimenziós pontok (2)
73 / 129
Példa: kétdimenziós pontok (3)
74 / 129
A SOM előnyei
75 / 129
A SOM korlátai (1)
76 / 129
A SOM korlátai (2)
77 / 129
A SOM korlátai (3)
78 / 129
Tartóvektor klaszterezés (1)
Alapötlet:
I Transzformáljuk az adatokat RBF kernelfüggvénnyel egy nagy
dimenziószámú tulajdonságtérbe.
I Határozzuk meg azt a legkisebb olyan gömböt a
tulajdonságtérben, mely tartalmazza valamennyi adat képét.
I A tulajdonságtérbeli gömb felszı́nének visszavetı́tése az
adattérbe olyan kontúrokat eredményez, melyek bekerı́tik az
adatokat. A kontúrokat tekintjük klaszterhatároknak.
79 / 129
Tartóvektor klaszterezés (2)
80 / 129
A feladat megfogalmazása optimalizálási problémaként (1)
Jelölés:
I { x1 , . . . , xN } ⊂ Rn : a klaszterezendő adatok
I Φ(x): az x ∈ Rn vektor az RBF kernelfüggvény által
meghatározott tulajdonságtérbeli képe
I R: az adatok képét tartalmazó tulajdonságtérbeli gömb sugara
I a: az adatok képét tartalmazó tulajdonságtérbeli gömb
középpontja
81 / 129
A feladat megfogalmazása optimalizálási problémaként (2)
min R 2
R
82 / 129
A feladat megfogalmazása optimalizálási problémaként (3)
83 / 129
Az optimalizálási probléma megoldása (1)
84 / 129
Az optimalizálási probléma megoldása (2)
ahol i = 1, . . . , N.
85 / 129
Az optimalizálási probléma megoldása (3)
86 / 129
Az optimalizálási probléma megoldása (4)
87 / 129
Az optimalizálási probléma megoldása (5)
Ha
K (u, v) = Φ(u)T Φ(v)
kernelfüggvény, akkor az LD duális Lagrange-függvény a következő
alakba ı́rható:
N
X N X
X N
LD = λi K (xi , xi ) − λi λj K (xi , xj ).
i=1 i=1 j=1
Megjegyzés
A továbbiakban a
K (u, v) = exp −γ ku − vk2 ,
88 / 129
Tartóvektorok (1)
89 / 129
Tartóvektorok (2)
90 / 129
Tartóvektorok (3)
Összefoglalva:
I A tartóvektorok pontosan a klaszterhatárokon – azaz a
tulajdonságtérbeli gömb felszı́nén – helyezkednek el.
I A korlátos tartóvektorok a klaszterhatárokon kı́vül – azaz a
tulajdonságtérbeli gömbön kı́vül – helyezkednek el.
I Az összes többi pont a klaszterhatárokon belül – azaz a
tulajdonságtérbeli gömb belsejében – található.
Megjegyzés
PN
Ha C ≥ 1, akkor i=1 λi = 1 miatt nincs egyetlen korlátos
tartóvektor sem.
91 / 129
A klaszterek határvonalai (1)
92 / 129
A klaszterek határvonalai (2)
A gömb sugara4 :
R = { R(xi ) | xi tartóvektor }.
{ x | R(x) = R }. (11)
Megjegyzés
A határvonalak adattérbeli alakja a γ és C paraméterekkel
szabályozható.
4
Ne feledjük, hogy minden tartóvektor pontosan a tulajdonságtérbeli gömb
felszı́nén helyezkedik el.
93 / 129
Pontok hozzárendelése klaszterekhez (1)
94 / 129
Pontok hozzárendelése klaszterekhez (2)
95 / 129
Pontok hozzárendelése klaszterekhez (3)
96 / 129
Pontok hozzárendelése klaszterekhez (4)
Megjegyzés
A szomszédsági mátrix megadható az alábbi alakban is:
(
1, ha R(xi + δ xj − xi ) ≤ R minden δ ∈ [0, 1] esetén,
Aij =
0, egyébként.
Megjegyzés
Egy szakasz ellenőrzése adott számú pont mintavételezésével
implementálható (ehhez választható például 20 pont a szakaszon).
97 / 129
Pontok hozzárendelése klaszterekhez (5)
Megjegyzés
A korlátos tartóvektorokat nem osztályozza a bemutatott eljárás,
mivel ezek tulajdonságtérbeli képei a gömbön kı́vül helyezkednek
el.
98 / 129
Klaszterezés korlátos tartóvektorok nélkül
99 / 129
Klaszterezés korlátos tartóvektorokkal (1)
Mivel N
P
i=1 λi = 1 és 0 ≤ λi ≤ C minden i = 1, . . . , N esetén, a
korlátos tartóvektorok számára (nBSV ) az alábbi felső korlát
adható:
nBSV < 1/C .
A gyakorlatban a korlátos tartóvektorok arányára adnak felső
korlátot, amelyet p jelöl:
1
p= .
NC
100 / 129
Klaszterezés korlátos tartóvektorokkal (2)
101 / 129
Klaszterezés korlátos tartóvektorokkal (3)
Megjegyzés
Ha a klaszterek nagymértékben átfedik egymást, akkor az
eredményt némileg eltérően kell értelmezni.
102 / 129
Megfelelő γ és p választása (1)
103 / 129
Megfelelő γ és p választása (2)
104 / 129
Megfelelő γ és p választása (3)
105 / 129
Megfelelő γ és p választása (4)
106 / 129
A tartóvektor klaszterezés előnyei
107 / 129
BIRCH – Balanced Iterative Reducing and Clustering using
Hierarchies5
5
Kiegyensúlyozott iteratı́v csökkentés és klaszterezés hierarchiákkal
108 / 129
Klaszterező jellemző fogalma
109 / 129
A klaszterező jellemző tulajdonságai
CF 1 + CF 2 = (N1 + N2 , LS 1 + LS 2 , SS 1 + SS 2 ).
110 / 129
A klaszterező jellemző felhasználási lehetőségei
111 / 129
CF fa
112 / 129
CF fa: belső csúcsok
113 / 129
CF fa: levélcsúcsok
114 / 129
Példa CF fára
CF 1 CF 2 CF 3 CF 6
gyökér
gyerek1 gyerek2 gyerek3 gyerek6
CF 1 = CF 7 + · · · + CF 12
CF 7 CF 8 CF 9 CF 12
belső csúcsok
gyerek7 gyerek8 gyerek9 gyerek12
CF 7 = CF 90 + · · · + CF 94 CF 8 = CF 95 + · · · + CF 99
CF 90 CF 91 CF 92 CF 93 CF 94 CF 95 CF 96 CF 97 CF 98 CF 99 levélcsúcsok
115 / 129
CF fa: paraméterek (1)
116 / 129
CF fa: paraméterek (2)
117 / 129
CF fa: az adatok tömör reprezentációja
118 / 129
CF fa épı́tése
119 / 129
CF fa épı́tése: levélcsúcs meghatározása
120 / 129
CF fa épı́tése: levélcsúcs és a levélcsúcsba vezető út
módosı́tása (1)
121 / 129
CF fa épı́tése: levélcsúcs és a levélcsúcsba vezető út
módosı́tása (2)
122 / 129
CF fa épı́tése: levélcsúcs és a levélcsúcsba vezető út
módosı́tása (3)
123 / 129
CF fa épı́tése: egyesı́tés (1)
124 / 129
CF fa épı́tése: egyesı́tés (2)
125 / 129
A CF fa problémái
126 / 129
Kiugró értékek kezelése
127 / 129
BIRCH algoritmus
3. algoritmus. BIRCH
1: Töltsük be az adatokat a memóriába az adatokat összefoglaló CF fa
létrehozásával.
2: Épı́tsünk egy kisebb CF fát, ha ez szükséges a 3. fázishoz. Növeljük
T -t, majd szúrjuk be újra a levélcsúcs bejegyzéseket (klasztereket). Mivel
T -t növeltük, néhány klasztert egyesı́tünk.
3: Végezzük el a globális klaszterezést. Különböző globális klaszte-
rező módszereket (a klaszterek közötti páronkénti távolságokon alapuló
klaszterezéseket) lehet használni. Egy összevonó hierarchikus módszert
választottunk azonban. Mivel a klaszterező jellemzők olyan összefoglaló in-
formációkat tárolnak, amelyek bizonyos fajta klaszterezésekhez szükségesek,
a globális klaszterező algoritmust úgy lehet használni, mintha a CF által rep-
rezentált klaszter minden pontjára alkalmaztuk volna.
4: Rendezzük át az adatpontokat a 3. lépésben talált klaszterközéppontok
között és tárjunk fel ı́gy egy új klaszterhalmazt. Ez megold bizonyos
problémákat, amelyek felléphetnek a BIRCH első fázisában. Ezt a fázist
többször ismételve a folyamat egy lokálisan optimális megoldáshoz kon-
vergál.
128 / 129
Hivatkozások
Tartóvektor klaszterezés:
I Asa Ben-Hur, David Horn, Hava T. Siegelmann, and
Vladimir Vapnik. “Support Vector Clustering”. In: Journal
of Machine Learning Research 2 (Dec. 2001), pp. 125–137.
url: http://www.jmlr.org/papers/volume2/horn01a/
rev1/horn01ar1.pdf
BIRCH:
I Tian Zhang, Raghu Ramakrishnan, and Miron Livny.
“BIRCH: an efficient data clustering method for very large
databases”. In: SIGMOD96. ACM Press, June 1996,
pp. 103–114. doi: 10.1145/233269.233324. url:
http://dx.doi.org/10.1145/233269.233324
129 / 129