You are on page 1of 63

Алгоритми кластеровања

Ненад Митић

Математички факултет
nenad@matf.bg.ac.rs
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Алгоритми хиjерархиjског кластеровања


Другу велику групу алгоритама за кластеровање чине алгоритми хиjерархиjског
кластеровања. Основна идеjа ове групе алгоритама jе формирање скупа
угнеждених кластера коjи су организовани у облику хиjерахиjе по нивоима.
Резултати ове групе алгоритама се наjчешће визуелизуjу у облику дендограма
или диjаграма са угнежденим кластерима на коме се, поред односа
кластер/подкластер, види и редослед формирања кластера, односно коjа два
подкластера се спjаjу у кластер. На наредноj слици приказани су резултати
кластеровања скупа од 6 тачака у облику дендограма и диjаграма са угнежденим
кластерима.
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Алгоритми хиjерархиjског кластеровања

Алгоритми хиjерархиjског кластеровања се деле у две групе:


алгоритме сакупљаjућег кластеровања (енг. agglomerative clustering).
Код ове групе алгоритама хиjерархиjа кластера се формира
одоздо/навише. На почетку алгоритма се свака тачка посматра као
посебан кластер, и у сваком од наредних корака се врши спаjање два
наjближа (према неком критериjуму) кластера.
алгоритме раздваjаjућег кластеровања (енг. divisive clustering). Код ове
групе алгоритама хиjерархиjа кластера се формира одозго/наниже. На
почетку алгоритма се сматра да све тачке припадаjу jедном кластеру (на
врхи хиjерархиjе) коjи се у наредним корацима дели све док се не дође до
кластера коjи садрже само поjединачне тачке.
Традиционални хиjерархиjски алгоритми деле или спаjаjу по jедан кластер
у jедном кораку и користе матрице сличности или матрице растоjања (два
кластера су наjсличниjа ако jе растоjанеj између њих наjмање и обратно)
Карактеристика ове групе алгоритама jе да се инициjално не наводи броj
кластера коjи ће се формирати
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Алгоритми сакупљаjућег кластеровања

Заjедничка особина свих алгоритама хиjерахиjског кластеровања jе начин


формирања хиjерахиjе - креће се од поjединачних тачака коjе се
посматраjу као jединични кластери. У сваком од наредних корака
алгоритама се врши сакупљање наjближег пара кластера у нови кластер
све док не остане jедан кластер
Имплементациjе неких алгоритама допуштаjу тзв. пресецање, односно
раниjе заустављање алгоритма уколико се дође до k кластера или се дође
до l-тог нивоа хиjерархиjе, где су k и l унапред задати броjеви
Главна разлика између алгоритама овог типа jе избор функциjе/методе за
израчунавање сличности на основу коjе се врши спаjање два кластера. Од
овог избора зависи и облик добиjене хиjерархиjе.
За одређивање растоjања могу да се користе различите мере: растоjање
Минковског (Еуклидско растоjање, такси блок, ...), Махаланобисово
растоjање, ....
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Алгоритми сакупљаjућег кластеровања

Псеудокод алгоритма сакупљаjућег хиjерахиjског кластеровања

/* Podatak : D , matrica slicnosti ( rastojanja ) M */


Sakupljajuce_klasterovanje (D)
begin
i ni cij al iz a ci ja matrice slicnosti M dimenzije n x n
na osnovu podataka D ;
repeat
Uzeti najblizi par klastera i i j koristeci M ;
Kombinovati klastere i i j ;
Obrisati redove i kolone klastera i i j iz M i
formirati novi red i kolonu u M za
novodobijeni klaster ;
Uneti novi red i kolonu u M ;
until kriterijum izlaska ;
return tekuci skup klastera ;
end
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Алгоритми сакупљаjућег кластеровања

Проблем - чување матрице растоjања


Формирање новог кластера - матрица се модификуjе (или се прави нова)
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Алгоритми сакупљаjућег кластеровања


Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Сличност кластера

У складу са општим принципом за извршавање алгоритама


(сакупљаjућег) хиjерархиjског кластеровања коjи подразумева
спаjање два кластера коjа су наjсличниjа (на наjмањем
растоjању), поставља се питање како дефинисати функциjе и
методе за израчунавање сличности (растоjања) два кластера P
и Q са m и n елемената.
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Сличност кластера

На основу матрице сличности текућег скупа кластера, свака од


функциjа коjа се користи израчунава сличност између пара
кластера и добиjену вредност уписуjе у матрицу сличности.
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Методе за израчунавање сличности кластера

Неке од метода коjе се могу користити за израчунавање растоjања два кластера


P и Q са m и n елемената су:

1) Растоjање између кластера P и Q jе jеднако наjмањем растоjању између


било коjе две тачке коjе припадаjу, тj.

D(P, Q) = min(d(pi , qj )), i = 1, ..., m, j = 1, ..., n, pi ∈ P, qj ∈ Q

где jе d(x, y ) мера за растоjање између две тачке, а m и n броj тачака у


кластерима P и Q (наjбоља, наjкраћа, поjединачна веза)

2) Растоjање између кластера jе jеднако наjвећем растоjању између било коjе


две тачке коjе припадаjу кластерима P и Q, тj.

D(P, Q) = max(d(pi , qj )), i = 1, ..., m, j = 1, ..., n, pi ∈ P, qj ∈ Q

где jе d(x, y ) мера за растоjање између две тачке, а m и n броj тачака у


кластерима P и Q (наjгора, наjдужа, комплетна веза)
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Методе за израчунавање сличности кластера

3) Растоjање између кластера P и Q jе jеднако просечном растоjању тачака


коjе им припадаjу, тj.

∑pi ∈P,qj ∈Q,i=1,...,m,j=1,...,n, d(pi , qj )


D(P, Q) =
m×n

где jе d(x, y ) мера за растоjање између две тачке, а и броj тачака у


кластерима P и Q.
У рачунање просечног растоjања могу да буду укључени и тежински
фактори, при чему тежине зависе од броjа тачака у сваком кластеру.

Модификациjа: Растоjање између кластера P и Q jе jеднако просечном


растоjању свих парова тачака коjе су присутни у оба кластера, тj.

∑i∈P∪Q ∑j∈P S Q,i6=j d(i, j)


D(P, Q) =
(m + n) × (m + n − 1)
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Методе за израчунавање сличности кластера

4) Растоjање између кластера P и Q jе jеднако растоjању између њихових


центроида кластера. У наредном кораку се спаjаjу два кластера чиjи су
центроиди наjближи. Лоше особине
не прави разлику код спаjања између кластера различитих величина
ако jе растоjање њихових центроида jеднако
након спаjања се поново израчунаваjу центроиди и може да се деси
да jе растоjање између (центроида) два кластера на нивоу k мање
него растоjање (центроида) неких кластера на нивоу k − 1
Уместо центроида за растоjање кластера могу да се користе и медиjане.

5) Нови кластер се формира од два кластера чиjим спаjањем се минимизуjе


промена вариjансе унутар новодобиjеног кластера. Промене у вариjанси
после спаjања кластера могу да се изразе формулом

∇SEij = SEij − SEi − SEj

где SEx означава просечну квадратну грешку кластера x.


Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Методе за израчунавање сличности кластера

6) Ward-ов метод и коме се уместо вариjансе користи збир квадрата грешака.


Нови кластер се формира од два кластера чиjим спаjањем се добиjа
минимално повећање збира квадарата грешака унутар новог кластера.
Тако, у општем случаjу грешка E jе jеднака

K
E= ∑ ∑ || xi − ck ||2
k=1 xi ∈Ck

где jе K броj кластера, и ck центроид кластера Ck добиjеног спаjањем два


кластера. Промена се рачуна само за новодобиjени кластер на основу
кластера од коjих jе настао и износи

mi nj
∇Eij = || ci − cj ||2
mi + nj

где mi и nj представљаjу броj тачака у кластерима Ci и Cj .


Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Особине метода за рачунање сличности


Неки недостаци сакупљаjућег хиjерархиjског кластеровања
После комбиновања кластери не могу да се раздвоjе
Превазилажење: коришћење партиционог кластеровања за
формирање мањих кластера на коjе се врши хиjерархиjско
кластеровање (нпр. TwoStep алгоритам у SPSS Modeleru)

Не постоjи глобална функциjа коjа се директно минимизуjе


У зависности од рачунања растоjања jављаjу се
осетљивост на шум и елементе ван граница
тешкоће у обради кластера различитих величина
тешкоће у обради неглобуларних кластера
тенденциjа ка разбиjању великих кластера

На наредним слаjдовима биће илустроване предности и недостаци


различитих метода за рачунање сличности кластера.
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Особине метода за рачунање сличности


Наjбоља (наjкраћа, поjединачна) веза се рачуна као минимум растоjања кластера
из матрице сличности. Тако би, за дата тачке и њихова растоjања

У првом кораку били споjени кластери (тачке) 3 и 6 jер jе њихово међусобно


растоjање наjмање (0.11), па иза њих кластери 2 и 5 (растоjање 0.14), итд.
Растоjање између тако добиjених кластера би се рачунало по истом принципу као
dist({3,6},{2,5}) =min(dist(3,2),dist(6,2),dist(3,5),dist(6,5))
=min(0.15,0.25,0.28,0.39)
=0.15
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Особине метода за рачунање сличности

Погодност наjбоље везе: може да обради не-елиптичке кластере


Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Особине метода за рачунање сличности


Недостаци наjбоље везе: осетљивост на шум и елементе ван
граница
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Особине метода за рачунање сличности

Наjгора (наjдужа, комплетна) веза

Домаћи задатак: одредити растоjање кластера {3,6} и {2,5}


Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Особине метода за рачунање сличности

Погодност наjгоре везе: отпорност на шум и елементе ван


граница
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Особине метода за рачунање сличности

Недостатак наjгоре везе: тенденциjа разбиjања великих


кластера и нагињање глобуларним кластерима
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Особине метода за рачунање сличности


Просек растоjања парова елемената из два кластера

Домаћи задатак: одредити растоjање кластера {3,6} од осталих


кластера.
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Особине метода за рачунање сличности

Просек растоjања парова елемената из два кластера

Компромис између поjединачне и комплетне везе

Погодност: мање jе осетљива на шум и елементе ван


граница

Недостаци: наклоност ка глобуларним кластерима


Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Особине метода за рачунање сличности

Сличност кластера: Ward-ова метода


слично просеку растоjања парова елемената ако jе мера
растоjања квадрат грешке
мање jе осетљива на шум и елементе ван граница
наклоност ка глобуларним кластерима
Хиjерархиjски аналогон К-средина; може да се користи за
инициjализациjу К-средина
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Особине метода за рачунање сличности


Резултати кластеровања различитим методама
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Временска и просторна сложеност

Временска и просторна сложеност

Просторна O(n2 ) где jе n броj тачака (због матрице


сличности)

Временска O(n3 ): n корака у коjима се рачунаjу елеменати


матрице сличности (O(n2 ))

Ако се растоjања за сваки кластер чуваjу у облику


сортиране листе, цена тражења сличних кластера у итом
кораку може да се смањи на О(н-и+1), а због додатне
цене чувања елемената у облику листе, укупна цена може
да се смањи на O(n2 log (n))
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Lance-Williams-ова формула за сличност


кластера

Све претходно наведене функциjе за рачунање сличности могу


да се посматраjу као вредности Lance-Williams-ова формуле за
изабране параметре.
Ова особина даjе могућност да све технике сакупљаjућег
кластеровања коjе могу да се представе Lance-Williams-овом
формулом не мораjу да чуваjу оригиналне тачке, већ jе могуће
да се матрица сличности ажурира код сваког спаjања.
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Lance-Williams-ова формула за сличност


кластера
Нека jе кластер R добиjен спаjањем кластера A и B, и нека jе p(., .) функциjа
сличности. Сличност кластера Р и Q jе jеднака

p(R, Q) = αA p(A, Q) + αB p(B, Q) + β p(A, B) + γ|p(A, Q) − p(B, Q)|

Метода αA αB β γ
Поjединачна веза 1/2 1/2 0 -1/2
Комплетна веза 1/2 1/2 0 1/2
na nb
Просек групе (UPGMA) na +nb na +nb 0 0
Тежински просек гр. (WPGMA) 1/2 1/2 0 0
na nb −na ×nb
Центроид (UPGMC) na +nb na +nb (na +nb )2
0
Медиjана (WPGMC) 1/2 1/2 -1/4 0
na +nq nb +nq −nq
Ward-ова метода na +nb +nq na +nb +nq na +nb +nq 0

где су na , nb и nq броjеви елемената у кластерима A, B и Q


Ознаке - U: unweighted; W: weighted; PGM: pair group method; A: average; C: centroid
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Алгоритми раздваjаjућег кластеровања

Почиње се са jедним кластером коjи укључуjе све тачке

У сваком кораку се кластер дели све док се не дође до


тога да сваки кластер садржи само jедну тачку или док се
не jави k кластера

За деобу може да послужи било коjи алгоритам


кластеровања (на равном скупу података)

Пример предствавника ове групе алгоритама jе алгоритам


бисекциjе к-средина (код њега се подела увек врши на 2
кластера)
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Алгоритми раздваjаjућег кластеровања

Псеудокод алгоритма раздваjаjућег хиjерахиjског кластеровања

/* Podatak : D , Klasterovanje ravnih podataka : A */


R a z d v a j a j u c e _ k l a s t e r o v a n j e (D , A )
begin
i ni cij al iz o va ti drvo T tako da koren sadrzi D ;
repeat
Izabrati list drveta L u T na osnovu
predefinisane strategije ;
Koristeci algoritam A razdvojiti L na L1 , ... , Lk ;
Dodati L1 , ... , Lk kao decu cvora L u T ;
until kriterijum izlaska ;
end
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Алгоритми засновани на мрежама и густини

Алгоритми засновани на мрежама и густини се користе када треба одредити


регионе (кластере) са високом густином тачака коjи су раздвоjени регионима
(кластерима) са мањом густином тачака. Карактеристика ове групе алгоритама
jе да ефикасно одређуjу кластер коjи су различитог облика.
Основна идеjа jе следећа:
Простор се подели на целине (ћелиjе, хиперкоцке) помоћу решетке или
граничника другог облика. Добиjене ћелиjе могу да буду правоугаоне,
кружне, троугласте, шестогаоне или да имаjу неки други (могуће и
неправилан) облик
Преброjе се тачке коjе се налазе у некоj ћелиjи C . Уколико jе броj тачака
већи од унапред задате величине k, за ту ћелиjу се каже да jе густа
Густе ћелиjе коjе имаjу заjедничке ивице или (у ређим случаjевима)
заjедничку тачку (нпр. теме хиперкоцке) формираjу кластер. Ретке ћелиjе
не припадаjу ни jедном кластеру
Од густине линиjа коjе одређуjу мрежу хиперкоцки зависи да ли ће ћелиjа
бити густа или ретка
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Алгоритми засновани на мрежама и густини


Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Алгоритми засновни на мрежама

Псеудокод алгоритма за кластеровање заснованог на мрежама jе

/* Podatak : D , Gustina tacaka : t , Gustina mreze : p */


K l a s t e r o v a n j e _ m r e z e (D , p , t )
begin
Dis kretiz ovati svaku dimenziju podatka D u p vrednosti ;
Odrediti gustinu celija mreze za gustinu tacaka t ;
Napraviti grafik u kome su guste celije
povezane ako su susedne ;
Odrediti veze delova grafa
return tacke u svakoj povezanoj komponenti kao klaster ;
end
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

DBSCAN
За задату вредност ε и броj t

Тачка припада jезгру ако се у кругу полупречника ε налази бар t других


тачака
Тачка jе на граници ако се у кругу полупречника ε налази мање од t
других тачака, али се налази бар jедна тачка jезгра
Тачка jе шум ако ниjе нити у jезгру нити на граници.
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

DBSCAN

DBSCAN (Density-Based Spatial Clustering of Applications with


Noise) алгоритам за задату вредност ε и броj t дели тачке на
коjе се примењуjе у три категориjе:

Све тачке коjе се налазе на растоjању мањем од ε, тj.


припадаjу jезгру неке тачке се смештаjу у исти кластер као
и тачка jезгра

Тачке на граници се придружуjу истом кластеру као и


тачка jезгра на чиjоj се граници налазе. У случаjу да су на
граници два кластера тада се доноси одлука коме кластеру
припадаjу.

Све тачке коjе су шум се одбацуjу


Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

DBSCAN

Псеудокод DBSCAN алгоритма jе


/* Podatak : D , Poluprecnik : eps , Gustina tacaka : t */
DBSCAN (D , p , t )
begin
Odrediti jezgro , granicu i sum tacaka
iz D za par ( Eps , t );
Formirati graf u kome su povezane tacke
koje pripadaju jezgru ako su
medjusobno unutar Eps ;
Odrediti povezane komponente grafa ;
Svaku tacku na granici dodeliti povezanoj
komponenti sa kojom je najbolje povezana ;
return tacke svake povezane komponenti kao klaster ;
end
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

DBSCAN
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

DBSCAN

Погодност DBSCAN алгоритма


Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

DBSCAN
Недостатак DBSCAN алгоритма
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Провера коректности кластеровања

Провера коректности кластеровања и исправности добиjених


кластера (модела) ниjе jедноставан задатак као у случаjу
класификациjе где су унапред познати тачан броj и ознаке класа.
Приликом кластеровања увек треба имати на уму да
Сваки алгоритам кластеровања ће пронаћи кластере у
подацима без обзира да ли они заиста постоjе или не. Због тога
jе пожељно извршити проверу да ли у материjалу уопште
постоjе кластери
Не постоjи наjбољи алгоритам кластеровања за поjедини скуп
података. Савет jе увек пробати више различитих алгоритама
да би се дошло до коректног решења
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Провера коректности кластеровања

У реалном окружењу, поготову када не постоjи спољашњи


критериjум за проверу, постављаjу се различита питања:
Како одредити тенденциjу кластеровања скупова података, тj.
да ли структуре коjе нису случаjне (и коjе могу да се
кластеруjу) постоjе у улазном скупу
Да ли jе добро одређен броj кластера за одабрани алгоритам
кластеровања коjи захтева уношење броjа кластера унапред
Одредити колико су резултати кластеровања добри у односу на
улазне податке у случаjу да не постоjе референце на спољашње
информациjе
Унутрашњи (интерни) критериjум jако зависи од
коришћеног алгоритма
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Провера коректности кластеровања

Питања (наставак):
Ако постоjе спољашње информациjе о ознакама класе, како са
њима упоредити резултате кластеровања
У општем случаjу нема спољашњег критериjума коjи jе на
располагању за проверу. Делимично, могућа jе провера преко
спољашњег критериjума ако
постоjе синтетички генерисани подаци за тестирање
постоjе ознаке класа
Како од два различита резултата кластеровања одредити коjи
jе бољи
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Тенденциjа кластеровања

Постоjе два начина како може да се одреди да ли су подаци погодни


за кластеровање, тj. да ли у њима постоjе кластери:
Могу да се користе различити алгоритми за кластеровање и
упореде добиjени резултати. Ако се у свим случаjевима добиjаjу
лоши кластери, то наjчешће значи да у подацима не постоjе
кластери, односно да су подаци случаjни
Одредити да ли постоjи кластер у подацима без претходног
кластеровања. Технике коjе се наjчешће примењуjу (поготову за
податке у Еуклидском простору) укључуjу статистичке тестове
на случаjан распоред у простору. Иако су доста сложене,
развиjен jе велики броj техника коjе могу да се примене на
податке у Еуклидском простору малих димензиjа.
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Хопкинсова статистика

Jедна од метода коjом може да се одреди да ли постоjе кластери у


подацима без претходног кластеровања

Нека jе дат скуп од n тачака коjе треба кластеровати. Да би


испитали да ли дати скуп садржи кластер, односно да ли jе
погодан за кластеровање, одабрати броj p < n и генерисати p
тачака коjе су случаjно распоређене у простору коjе покрива
улазни скуп, и изабрати узорак од p тачака из оригиналног
скупа од n тачака.
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Хопкинсова статистика

За оба скупа од n тачака одредити растоjање сваке тачке до


наjближег суседа у оригиналном скупу. Нека су vi и oi
растоjања до наjближих суседа тачака из вештачки генерисаног
скупа и скупа тачака коjи jе узоркован из оригиналног скупа.
Тада се Хопкинсова статистика дефинише као
p
∑ oi
i =1
H= p p
∑ vi + ∑ oi
i =1 i =1

Ако случаjно генерисане тачке и тачке из узорка имаjу слична


растоjања до наjближих суседа, вредност ≈ 0.5. То значи да су
подаци наjвероватниjе случаjни и да не постоjи задовољаваjуће
кластеровање. Вредност → 1 означава да тачке са великом
вероватноћом могу да се групишу у кластере.
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Одређивање броjа кластера


Неки алгоритми кластеровања сами одређуjу наjбољи броj кластера, док други
захтеваjу да се броj резултуjућих кластера зада унапред. Постоjи више метода за
коректно одређивање броjа кластера коjе се у принципу своде на узастопну
примену истог алгоритма са различитим задатим вредностима кластера,
графичким представљањем добиjених резултата процене коректности и
тражењем тачки максимума/минимума и прегиба на таквим графицима.

На претходноj слици приказане су вредности ССЕ и силуете коефициjентра за


различит броj кластера. Са слике се види да jе у овом случаjу наjбољи броj
кластера 10.
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Унутрашњи критериjуми провере

Наjчешће коришћени критериjуми провере у овом случаjу су:


Мере кохезиjе (компактности) кластера коjе показуjу колико су
близу jедно другом елементи истог кластера
Мере раздваjања (изолациjе) кластера коjе показуjу колико су
различити кластери међусобно раздвоjени
Однос растоjања у кластеру/ван кластера
Коефициjент сенке (енг. silhouette)
Вероватносна мера
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Кохезиjа и раздваjање
Као мера за одређивање кохезиjе кластера може се користити
Збир квадрата међусобног растоjања тачака у кластеру или збир квадрата
растоjања тачака од центроида тог кластера
Боље прилагођена алгоритмима коjи су засновани на одређивању
растоjања (као k-средина)
Мање одговараjу алгоритмима са мрежама и густином
Апсолутне вредности растоjања не пружаjу квалитетну информациjу о
квалитету самог кластера
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Кохезиjа и раздваjање

Као мера раздваjања кластера - збир растоjања између елемената у кластеру и


елемената ван кластера, или растоjање центроида кластера

Неки алати омогућаваjу коришћење више мера. На пример, CLUTO алат


користи, између осталог и кохезиjу и раздваjање
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Однос растоjања у кластеру/ван кластера


Однос растоjања у кластеру/ван кластера jе прецизниjа мера од квадарата
растоjања тачака. Рачуна се на следећи начин:
Из улазног скупа се узме p парова тачака. Нека P означава скуп парова
коjи припадаjу истом кластеру нађеном од стране алгоритма, а Q скуп
парова тачака коjе припадаjу преосталим кластерима
Просечно растоjање унутар и изван кластера jе дефинисано са

∑ dist(Xi , Xj )
(Xi ,Xj )∈P
У кластеру =
|P |

∑ dist(Xi , Xj )
(Xi ,Xj )∈Q
Ван кластера =
|Q |
У кластеру
Растоjање унутар/ван кластера =
Ван кластера
што jе вредност растоjања мања кластеровање jе боље и обратно
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Сенка коефициjент
Нека важе следеће ознаке:
AvgDistiin нека означава просечно растоjање Xi до тачака
унутар кластера коме припада Xi ;
AvgDistiout нека означава просечно растоjање Xi до тачака
кластера коме не припада Xi ;
Нека jе MinDistiout = min{AvgDistiout }
Тада се коефициjент сенке Si у односу на i-ти обjекат
дефинише као
MinDistiout − AvgDistiin
Si =
max{MinDistiout , AvgDistiin }
Ако jе вредност коефициjента сенке блиска 1 кластери су добро
раздвоjени. Негативне вредности означаваjу мешавину података
у кластерима и лоше кластеровање
Добра особина коефициjента сенке jе што апсолутна вредност
носи информациjу о квалитету кластеровања
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Спољашњи критериjуми провере

Ова врста критериjума се користи када постоjе тачне информациjе о


кластерима у подацима коjи треба да се кластеруjу. У општем
случаjу, то ниjе могуће за наjвећи броj реалних скупова података.
Изузетак jе случаj када се синтетички подаци генеришу на основу
познатих скупова за проверу у ком случаjу jе могуће придружити
идентификациjу кластера сваком поjединачном податку улазног
скупа.
У реалним ситуациjама овакав случаj ће бити само приближно могућ
када се користе расположиве ознаке класа. Наjвећа опасност коjа се
jавља код коришћења ознака класа jе да су често те ознаке засноване
на специфичним особинама скупа података коjи jе зависан од неке
апликациjе коjоj представља улаз, што може да доведе до тога да не
буду коректно погођени природни кластери у улазним подацима.
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Спољашњи критериjуми провере

Без обзира на недостатке, ове методе имаjу предност у односу на


интерне критериjуме провере jер могу да избегну конзистентна
одступања у извршавању при примени на више различитих скупова
улазних података.
За проверу се наjчешће користе
Матрица конфузиjе
Различите мере - наjчешће Гиниjев индекс, ентропиjа,
прецизност, одзив, Ф-мера, ....
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Критериjуми провере - домаћи задатак

Домаћи задатак: коришћењем програма СПСС Моделер добити


резултате кластеровања применом алгоритама
К-средина
TwoStep

над улазним скуповима


IRIS
ADULT

Кластеровање извршити за различите вредности броjа кластера (у


К-средина), као и интервала за броj кластера (у TwoStep).
Коментарисати добиjене вредности коефициjента сенке и резултате
кластеровања.
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Кластеровање категоричких података

Jедан начин конверзиjа у бинарне податке

Одређивање центроида за категоричке податке


хистограм вероватноћа за сваки атрибут
центроид - категоричка вредност коjа се jавља у
наjвећем проценту

Рачунање сличности категоричких података

Различити алгоритми. Нпр. ROCK (RObust Clustering using


linKs) jе заснован на сакупљаjућем приступу где се
кластери комбинуjу користећи критериjум сличности.
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Кластеровање категоричких података


К-модално кластеровање
За сваки од атрибута се одређуjе модална вредност (вредност
са наjвећом фреквенциjом)
Модална вредност сваког од атрибута се одређуjе независно у
односу на вредности других атрибута због чега одабрана
репрезентативна вредност (’центроид’) не мора да припада
скупу података
к-модално кластеровање може ефективно да се користи ако су
вредности категоричких атрибута равномерно распоређене
Ако вредности категоричких атрибута нису равномерно
распоређене врши се нормализациjа деобом фреквенциjе у
кластеру са фреквенциjом у комплетном скупу података

К-медоид кластеровање - репрезентативна тачка jе из


материjала
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

SOM

Погодне за кластеровање (и за класификациjу)


Сличне КНН
Укључуjу топографску организациjу центроида
(неурона)
Сваки центроид jе одређен паром координата
При раду ажурираjу се текући центроид и центроиди
коjи су му у близини по топографскоj ориjентациjи
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

SOM
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Основни SOM алгоритам

Основни SOM алгоритам кластеровања


Inicijalizovati centroide

repeat

Izabrati sledeci objekat


Odrediti najblizi centroid izabranom objektu
Azurirati centroid i susedne centroide
( centroide koji su u blizini )

until Centroidi se ne menjaju / dostignut je prag


Dodeliti svaki objekat najblizem centroidu
i vratiti centroide i klastere
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Основни SOM алгоритам - кораци

Инциjализациjа
случаjан избор центроида у интервалу посматраних
вредности
случаjан избор тачака за центроиде
Избор обjекта
ако jе броj обjеката jако велики, не користе се сви
Одређивање наjближег центроида
метрике растоjања (еуклидско/косинусно растоjање)
Ажурирање центроида
Терминирање
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

SOM
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Ажурирање центроида

Нека су m1 , ..., mk центроиди


Нека jе p(t) текући обjекат у тренутку t и нека jе њему
наjближи центроид mj
У тренутку t + 1 j-ти центроид се ажурира
mj (t + 1) = mj (t) + hj (t)(p(t) − mj (t))
h(t) одређуjе ефекат разлике и обично се бира
−dist(rj ,rk )2

hj (t) = α(t)e 2σ 2 (t) (Gausova funkcija)


или (
α(t) ako dist(rj , rk ) ≤ prag
hj (t) =
0 inace
где jе 0 < α(t) < 1, rk = (xk , yk )су координате центроида, а
dist(rj , rk ) jе Еуклидско растоjање између два центроида
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

SOM
Алгоритми хиjерархиjског кластеровања Алгоритми засновани на мрежама и густини Провера коректности класт

Предности и ограничења SOM

Предности
Суседни кластери су више у релациjи од несуседних
Погодно за визуелизациjу
SOM одређуjе структуру
Недостаци
Потребан одабир параметара, функциjе за рачунање
суседства и избор центроида
SOM кластер не одговара природном кластеру (може да
садржи више природних кластера али и jедан природни
кластер може да се разбиjе на више SOM кластера)
Недостаjе специфична функциjа обjекта коjом може да се
изрази поступак
Нема гаранциjе за конвергенциjу, мада у пракси често
конвергира

You might also like