Inicializační rozdělení do shluků a jeho vliv na konečné shlukování v

Transkript

Inicializační rozdělení do shluků a jeho vliv na konečné shlukování v
Inicializační rozdělení do shluků a jeho vliv na
konečné shlukování v metodách k-průměrů
Marta Ţambochová
Doktorandka oboru statistika
Abstrakt. Jednou z nejrozšířenějších shlukovacích technik je metoda k-průměrů,
která pracuje na principu minimalizace součtu čtverců vzdáleností objektů od
center shluků. Tato metoda má mnoho výhod, ale bohuţel i pár negativních
vlastností. Mezi ně mimo jiné patří i schopnost hledat pouze lokální minimum
a veliká citlivost výsledného shlukování na inicializační krok. Článek se zabývá
některými moţnostmi, jak dopad tohoto problému minimalizovat. Jsou zde
zmapovány vybrané algoritmy, které umoţní rozmístit centra v inicializačním
kroku co nejvýhodněji vzhledem k výslednému shlukování.
Klíčová slova: základní metoda k-průměrů, metoda k-průměrů++, metoda BIRCH
k-průměrů
1 Úvod
Shluková analýza se stala jedním z hlavních nástrojů pouţívaných při získávání
znalostí z dat, které je označováno jako data mining. V této nové oblasti analýzy
dat se často zpracovávají data velkých rozměrů, a to jak co do počtu sledovaných
objektů, tak co do počtu proměnných, kterými jsou objekty charakterizovány.
Jednou z nejpouţívanějších nehierarchických shlukovacích technik v této
oblasti je metoda k-průměrů. Jejím základem je hledání nejlepšího shlukování na
základě prvotního rozdělení objektů do daného počtu shluků a následného
postupného přerozdělování příslušnosti objektů ke shlukům. Algoritmus k-průměrů
vyuţívá ve svém průběhu výpočtu tzv. center shluků (centroidů, středů, těţišť).
Přesun objektů mezi shluky se provádí pomocí postupné minimalizace funkce
vyjadřující součet čtverců vzdáleností všech objektů od jim nejbliţšího centra.
Jednotlivé shlukovací techniky jsou podrobně popsány například v [2] či [5].
Problematika metody k-průměrů je mimo jiné rozpracována v [3].
Vědecký seminář doktorandů FIS – únor 2008
1
2 Použité metody
Princip metody k-průměrů spočívá v rozdělení konečného počtu d-dimenzionálních
objektů do předem daného počtu shluků. Kaţdý ze shluků obsahuje centrum
a kaţdý z objektů je přiřazen do takového shluku, ve kterém je vzdálenost tohoto
objektu od centra shluku nejmenší. Základním algoritmem metody k-průměrů bývá
povaţován Lloydův algoritmus.
Cílem Lloydova algoritmu je minimalizace hodnoty Q, kde Q je součet
čtvercových vzdáleností mezi objekty a jim nejbliţšími centry. Algoritmus začíná
inicializačním náhodným výběrem k center, kde k je poţadovaný počet shluků.
Poté je kaţdý objekt přiřazen k sobě nejbliţšímu centru, čímţ dojde k rozdělení
objektů do k shluků. Následně je pro kaţdý shluk vypočítáno nové centrum jako
vektor, jehoţ kaţdá sloţka je aritmetickým průměrem příslušných sloţek vektorů
náleţících objektům patřícím do daného shluku. Tyto dva kroky (přiřazení
a výpočet center) se opakují, dokud není proces stabilizován, dokud dochází
k nějaké změně.
Mezi nejzávaţnější nedostatky Lloydova algoritmu patří nutnost předem uvést
poţadovaný počet shluků, nalezení pouze lokálního minima hodnot Q místo
hledání optima globálního, vyhledávání pouze konvexních shluků a v neposlední
řadě velká citlivost na počáteční výběr center. Poslední z uvedených nedostatků se
snaţí eliminovat celá řada variant původního algoritmu. Některé z nich budou
uvedeny dále v článku.
2.1 BIRCH algoritmus k-průměrů
V knize [4] je popsána shlukovací metoda, která je variantou algoritmu k-průměrů
ovlivněnou algoritmem BIRCH [6], [7]. Tato metoda předsouvá před vlastní
zpracování klasickým Lloydovým algoritmem postup, pomocí kterého obdrţíme
rozdělení objektů do shluků, které je výhodné pro další práci.
BIRCH algoritmus k-průměrů má dva parametry. Jednak povolený počet
objektů ve shluku a maximální povolenou hodnotu „poloměru― shluku (tj. hranici
variability). Na rozdíl od klasického BIRCH algoritmu nepracuje s CF-stromy.
Také CF-charakteristika z klasického postupu je nahrazena jiným
ekvivalentním údajem. Údaje obsaţené v obou charakteristikách jsou dostačující
k výpočtu center, míry vzdálenosti shluků a míry kompaktnosti shluků, coţ jsou
údaje potřebné a dostačující k provádění algoritmu. Důleţitou vlastnost obou
zmíněných charakteristik popisuje věta o aditivitě, která říká, ţe charakteristika
shluku, který vznikne spojením dvou disjunktních shluků, je rovna součtu
charakteristik původních shluků.
Charakteristikou pouţívanou BIRCH algoritmem k-průměrů je trojice údajů
(m, q, c), kde m je velikost daného shluku, q je kvalita daného shluku (vypočítaná
2
Vědecký seminář doktorandů FIS – únor 2008
jako součet kvadratických vzdáleností všech objektů daného shluku od centra
daného shluku) a c je centrum shluku. Tato charakteristika je udrţována pro kaţdý
shluk.
Algoritmus pracuje ve třech fázích. Na počátku první fáze obsahuje mnoţina
objektů všechny sledované objekty a mnoţina shluků je prázdná. Poté se v cyklu
vţdy vybere objekt z mnoţiny objektů a algoritmus se pokusí nalézt „nejbliţší―
shluk z mnoţiny shluků, ve kterém se přidáním objektu nepřekročí hranice pro
počet prvků ve shluku ani hranice variability shluku. Pokud takovýto shluk
neexistuje, vytvoří se pro objekt nový shluk, který obsahuje pouze tento objekt. Po
zařazení objektu do shluku se objekt vymaţe z mnoţiny všech objektů. Cyklus se
provádí do vyprázdnění mnoţiny objektů.
V druhé fázi algoritmus shlukuje středy všech shluků, které vznikly ve fázi
první. Toto shlukování je moţno provádět pomocí libovolné shlukovací metody.
V [4] je pouţita speciální varianta kvadratické metody k-průměrů.
Ve třetí fázi jsou všechny původní objekty rozřazeny do shluků. Kaţdý objekt
je přiřazen k nejbliţšímu z center vzniklých ve druhé fázi. Tato fáze je v [4]
uvedena jako fáze finální.
Ve svých pokusech jsem však připojila ještě čtvrtou fázi, kdy rozdělení do
shluků vzniklé z prvních tří fází je bráno jako inicializační shlukování a dále je
spuštěn klasický Lloydův algoritmus. Tímto způsobem jsem výsledky shlukování
ještě podstatně vylepšila. Nevýhodou této úpravy ovšem je nárůst výpočetního
času.
2.2 Algoritmus k-průměrů++
Další z variant, které eliminují nevhodný inicializační výběr center, je algoritmus
k-průměrů++, který jeho autoři popsali ve článku [1]. Hlavním přínosem této
alternativy je vytvoření speciálního inicializačního rozdělení do shluků. Prvotní
centra jsou vybírána postupně s cílem co nejrovnoměrnějšího rozmístění mezi
objekty.
Prvním centrem je náhodně vybraný objekt ze všech datových objektů. Další
centra jsou jedno po druhém vybírána ze zbývajících datových objektů. Vţdy je
vybrán objekt s nejvyšší pravděpodobností, která je vypočítána podle vztahu
P
D( x´)2
 D( x)
2
,
(1)
x
kde x je zkoumaný objekt, x je libovolný objekt, D(x) (resp. D(x´)) je nejkratší
vzdálenost objektu x (resp. x´) od nejbliţšího centra ze všech doposud vybraných.
Vědecký seminář doktorandů FIS – únor 2008
3
Tímto postupem vybereme zbývajících k — 1 center. Po stanovení všech
k center postupujeme stejně jako u základního algoritmu k-průměrů.
3 Provedené experimenty
Popsané alternativy metody k-průměrů byly naprogramovány ve vývojovém
prostředí MATLAB, resp. FORTRAN90. Pro názorné prozkoumání vlivu různých
inicializačních rozdělení do shluků na výsledné shlukování byla vybrána aplikace
algoritmů na známá data IRIS z [11]. Další testování proběhlo na souboru
speciálně vygenerovaných dat GENERIC popsaném a pouţitém v [8]. Výsledky
testování jsou uvedeny souhrnně v tabulce 1 a vybrané mezivýsledky jsou
znázorněny graficky na obrázcích 1 a 2.
První datový soubor IRIS obsahuje 150 objektů. Kaţdý objekt je popsán
pomocí čtyř numerických proměnných (délka a šířka kališních a korunních lístků
květů). Do souboru jsou zařazeny květy tří různých druhů z rodu iris, z kaţdého
druhu 50 zástupců. Z průzkumové analýzy je zřejmé, ţe jeden z druhů se výrazněji
odlišuje v popsaných proměnných od zbývajících dvou. Ty se jiţ výrazně
neodlišují, dokonce dochází k prolínání.
Druhý soubor GENERIC obsahuje 10 000 objektů, kaţdý objekt je
charakterizován dvěma numerickými proměnnými z rozmezí mezi 0 a 1. Je
speciálně vygenerován tak, ţe objekty tvoří 20 konvexních shluků.
Algoritmus BIRCH k-průměrů provádí v první fázi počáteční rozřazení objektů
do shluků podle základní verze algoritmu BIRCH ze [7]. Tato fáze má dva
parametry, a to maximální počet objektů ve shluku a „poloměr― shluku. Oba
parametry silně ovlivňují výsledek první fáze.
Pro velké soubory dat je tato fáze časově náročná, proto jsem bliţší zkoumání
prováděla především na prvním z uvedených souborů dat. Například při hodnotě
prvního parametru rovné 50 se při extrémně nízké hodnotě druhého parametru
(0,1) vytvořilo 118 shluků, přičemţ nejpočetnější obsahoval pouze 5 objektů a
průměrný počet objektů na shluk byl 1,2712. Naopak při stejné volbě prvního
parametru a relativně vysoké hodnotě parametru druhého (od 1,0) se počet shluků
ustálil na 5, přičemţ dva nejpočetnější shluky obsahovaly maximálně povolený
počet objektů, tj. 50 a průměrný počet objektů na shluk byl 30.
Při jiné konstantní hodnotě prvního parametru (20) se při nízkých hodnotách
druhého parametru (do 0,4) chová 1. fáze algoritmu stejně jako v předchozích
případech. Při stejné hodnotě prvního parametru a hodnotě druhého parametru
rovné 0,9 se vytvořilo 23 shluků, přičemţ tři shluky obsahovaly plných 20 objektů
a průměrný počet objektů na shluk byl 7,5217.
4
Vědecký seminář doktorandů FIS – únor 2008
Výsledek celého algoritmu je silně ovlivněn výsledky první fáze. Například
zvolíme-li jako první parametr hodnotu 20 a hodnotu druhého parametru nad 0,4,
obdrţíme ve výsledném shlukování naprosto nevyhovující výsledky, zcela odlišné
od výsledků všech ostatních metod. Při volbě shlukování do tří shluků se vytvořil
velký shluk o 97 objektech, obsahující téměř všechny objekty dvou druhů, které
jsou si podobny. Naopak zbývající objekty třetího, výrazně odděleného, druhu se
rozdělily do dalších dvou shluků v poměru 36:17.
Takto vzniklá shlukování jsem dále pouţila jako inicializační pro základní
Lloydův algoritmus. Nejlepší výsledky jsou shrnuty v tabulce 1 a inicializační
výběr center graficky znázorněn na obrázku 1b).
Tabulka 1. Srovnání výsledků shlukování souboru IRIS pomocí vybraných metod
Metoda
Základní k-průměrů
k-průměrů++
BIRCH k-průměrů
(param. 50; 0,9)
BIRCH k-průměrů
(param. 50; 0,9)
s přidáním čtvrté fáze
BIRCH k-průměrů
(param. 50; 0,2)
BIRCH k-průměrů
(param. 50; 0,1)
BIRCH k-průměrů
(param. 20; 0,9)
BIRCH k-průměrů
(param. 20; 0,1)
Počet chybně
zařazených
objektů
ve 2.shluku
3
1
Počet chybně
zařazených
objektů
ve 3.shluku
14
13
17
1
78,3159
1
13
77,0924
4
11
77,6817
2
15
77,4107
1. a 2. shluk si „rozdělily― objekty
odlišného druhu (+3 další objekty), 3.
shluk obsahuje zbylých 97 objektů
druhých druhů
2
15
Výsledná
hodnota funkce
Q
78,2451
77,0924
145,3234
77,4107
Na obrázku 1a) je znázorněn nejčastěji pouţívaný prvotní výběr center,
tj. prvních k objektů ze souboru je vybráno za centra a na obrázku 1 c) je vidět stav
po předzpracování pomocí algoritmu k-průměrů++.
Vědecký seminář doktorandů FIS – únor 2008
5
2
2
1,5
1,5
1
1
0,5
0,5
0
-5
-4
-3
-2
-1
0
0
1
2
3
4
-5
-4
-3
-2
-1
0
-0,5
1
2
3
4
-0,5
-1
-1
-1,5
-1,5
a)
b)
2
1,5
1
0,5
0
-5
-4
-3
-2
-1
0
1
2
3
4
-0,5
-1
-1,5
c)
Obrázek 1. Inicializační rozmístění center (soubor IRIS) při metodách
a) základní k-průměrů, b) BIRCH k-průměrů, c) k-průměrů++
Dále jsem algoritmus k-průměrů++ implementovala i na druhý z testovacích
datových souborů. Na obrázku 2 a) aţ d) je vidět postupné přidávání a rovnoměrné
rozloţení inicializačních center v souboru GENERIC. Celkový čas běhu programu
byl sice podstatně delší, ale výsledné shlukování mělo niţší hodnotu funkce Q neţ
shlukování vzniklé klasickým pouţitím Lloydova algoritmu.
1,000000
1,000000
0,900000
0,900000
0,800000
0,800000
0,700000
0,700000
0,600000
0,600000
0,500000
0,500000
0,400000
0,400000
0,300000
0,300000
0,200000
0,200000
0,100000
0,100000
0,000000
0,000000
0,000000
0,200000
0,400000
0,600000
0,800000
1,000000
1,200000 0,000000
a)
0,200000
0,400000
0,600000
0,800000
1,000000
1,200000
0,200000
0,400000
0,600000
0,800000
1,000000
1,200000
b)
1,000000
1,000000
0,900000
0,900000
0,800000
0,800000
0,700000
0,700000
0,600000
0,600000
0,500000
0,500000
0,400000
0,400000
0,300000
0,300000
0,200000
0,200000
0,100000
0,100000
0,000000
0,000000
0,000000
6
0,200000
0,400000
0,600000
0,800000
1,000000
1,200000 0,000000
Vědecký seminář doktorandů FIS – únor 2008
c)
d)
Obrázek 2. Inicializační rozmístění center (soubor GENERIC) při metodě k-průměrů++
a) pro 2 shluky, b) pro 6 shluků, c) pro 10 shluků, d) pro 20 shluků
4 Závěr
Velká citlivost metody k-průměrů na inicializační „náhodné― rozdělení do shluků
je velmi negativní vlastností. Nejvíce vyuţívaný způsob, kdy za prvotní centra
vybíráme prvních k objektů, vede v mnoha případech k velmi špatným výsledkům.
Cílem mé práce v rámci tohoto článku bylo zmapovat moţnosti pro zmírnění
dopadu uvedeného problému. Zabývala jsem se prozatím dvěma způsoby. Jednak
metodou k-průměrů++ a jednak BIRCH algoritmem k-průměrů. Výsledkem obou
algoritmů bylo rovnoměrné rozmístění prvotních center mezi všemi objekty. Kaţdý
z algoritmů vedl k jinému inicializačnímu výběru center. Přesto na zkušebních
datech byly konečné výsledky shlukování srovnatelné. Hlavním rozdílem byl čas
zpracování velkého datového souboru. V mé konkrétní implementaci bylo
zpracování pomocí algoritmu k-průměrů++ podstatně rychlejší neţ zpracování
metodou BIRCH k-průměrů. Navíc nevýhodou druhé z uvedených metod je
nutnost vhodné volby dvou vstupních parametrů, coţ můţe být velmi náročné.
V případu nevhodné volby můţe dojít k relativně špatným výsledkům celkového
shlukování.
Dalším cílem mé práce bude optimalizace obou programů z hlediska
výpočetního času. Poté srovnání obou uvedených variant algoritmu k-průměrů
s implementacemi jiných metod určených pro shlukování velkých souborů dat.
Literatura
[1] Arthur, D.,Vassilvitskii, S.: k-means++ The Advantages of Careful Seeding.
Symposium on Discrete Algorithms (SODA), New Orleans, Louisiana 2007,
1027–1035.
[2] Hebák, P., Hustopecký, J., Pecáková, I., Průša, M., Řezanková, H.,
Svobodová, A., Vlach, P.: Vícerozměrné statistické metody (3)., Informato
rium, Praha 2005.
[3] Kanungo, T., Mount, D. M., Netanyahu, N. S., Piatko, Ch., Silverman, R.,
Wu, A. Y.: The analysis of a simple k-means clustering algorithm. Proceedings of the sixteenth annual symposium on Computational geometry. Hong
Kong 2000, 100–109.
Vědecký seminář doktorandů FIS – únor 2008
7
[4] Kogan, J.: Introduction to Clustering Large and High-Dimensional data.
Cambridge University Press, New York 2007.
[5] Řezanková, H., Húsek, D., Snášel, V.: Shluková analýza dat. Professional
Publishing, Praha 2007.
[6] Zhang, T., Ramakrishnan, R., Livny, M.: BIRCH: An Efficient Data Clustering Method for Very Large Databases. ACM SIGMOD Record, Vol. 25
(1996), No. 2. 103–114.
[7] Zhang, T., Ramakrishnan, R., Livny, M.: BIRCH: A New Data Clustering
Algorithms and Its Applications. Journal of Data Mining and Knowledge
Discovery, Vol. 1 (1997), No. 2, 141–182.
[8] Vilikus, O.: Shlukovací metody pro velké soubory dat. Diplomová práce,
VŠE Praha, 2007.
[9] Ţambochová, M.: Pouţití stromů ve statistice. Ekonomika, regiony a jejich
výhledy, Ústí nad Labem 2006, 114–120.
[10] TwoStep Cluster Analysis, http://www1.uni-hamburg.de/RRZ/Software/
SPSS/Algorith.120/twostep_cluster.pdf
[11] http://archive.ics.uci.edu/ml/datasets/
Summary
Initial partition into clusters and its impact on the final clustering by means of
k-means methods
One of the most common clustering techniques is the k-means method, which is
based on the principle of minimizing the sum of square distances between the objects and their centers. This method has many advantages. Nevertheless, it also has
a few negative characteristics. These include, inter alia, the ability to search only a
local minimum and also the one that the final clustering is very sensitive to the
inceptive phase. The most common progression where we declare the inceptive
k objects as the initial centers, often leads to misleading results.
The aim of this work is to lay down the options to optimize the calculation
method. There were considered two following options. The first was the
k-means++ method and the second was the BIRCH algorithm k-means. Both procedures were programmed in MATLAB, i.e. FORTRAN90 environment and examined through a set of prerequisite testing data. The results of both cases was to
get an even distribution of inceptive centers among all the objects, where each of
the algorithms produced its own set of inceptive centers. Even with this disparity,
the final outcome of the clustering was pretty much the same. The only difference
8
Vědecký seminář doktorandů FIS – únor 2008
was in the time length of the data processing. In this specific engagement, the
k-means++ algorithm was much faster than the BIRCH k-means one.
Vědecký seminář doktorandů FIS – únor 2008
9

Podobné dokumenty

Pokročilé analýzy dat a textů / Data mining, text/web mining

Pokročilé analýzy dat a textů / Data mining, text/web mining bankovní instituce) Cílem je zmenšit pravděpodobnost odchodu zákazníků tak, že na určité zákazníky vykazující statisticky vyšší pravděpodobnost odchodu se uplatní retenční strategie. Segmentace zák...

Více

Vývoj programovacích jazyků

Vývoj programovacích jazyků -----------------------------------------------------------------------------------PGS - 1.Úvod © K.Ježek 2006

Více

Použití stromů ve statistice - Algoritmus BIRCH a jeho varianty pro

Použití stromů ve statistice - Algoritmus BIRCH a jeho varianty pro Nejvíce rozšířené jsou rozhodovací stromy, pomocí kterých můžeme řešit různé úlohy klasifikační a predikční. S využitím rozhodovacích stromů se můžeme setkat i v časových řadách. Okrajově lze rozho...

Více

Porovnání klasických konstrukcí – typy

Porovnání klasických konstrukcí – typy /* p =&x tohle je správně*/ printf(“%d”,*p); return 0;

Více

Experimentální analýza algoritmů je empirickým protějškem

Experimentální analýza algoritmů je empirickým protějškem Suplovat teoretické výsledky v případech, kdy nejsou známy Studovat chování heuristických metod Studovat vliv hierarchických pamětí na chování algoritmů Formulovat nové otázky a hypotézy pro teoret...

Více

čo je kázanie? - Časopis dialog

čo je kázanie? - Časopis dialog   Z  editorialov, ktoré zväčša v  súčasných časopisoch píšu šéfredaktori, mi akosi stále vytŕčajú rožky neschopnosti autora priniesť vlastnú myšlienku, ale keďže je v  tiráži na šéfredaktorskom mie...

Více

Vývoj programovacích jazyků

Vývoj programovacích jazyků slučitelnost s ostatními komponentami, zapouzdřitelnost). Někteří to nepovažují za paradigma a řadí je do OOP. Constraint progr. Vyjadřují výpočet pomocí relací mezi proměnnými (obdoba spreadsheet ...

Více

TITULNČ LIST PERIODICKÉ ZPRĘVY 2010 PROJEKTU LC528

TITULNČ LIST PERIODICKÉ ZPRĘVY 2010 PROJEKTU LC528 nových a z nezávislých zdrojů financovaných realizačních skupin pod jejich vedením se tak současně v míře vrchovaté naplnil i žádoucí spin-off efekt, jenž byl jedním z cílů programu podpory (výzkum...

Více

Titre proposition - Energetická agentura

Titre proposition - Energetická agentura přehled o zdrojích emisí (zejména těch, které mohou ovlivnit) a potenciálu snížení těchto emisí. V minulosti se objevilo mnoho iniciativ s cílem poskytnout místním autoritám doporučení týkající se ...

Více