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 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
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ývoj programovacích jazyků
-----------------------------------------------------------------------------------PGS - 1.Úvod © K.Ježek 2006
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...
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...
č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ý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 ...
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...
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
...