Analiza skupień JERZY STEFANOWSKI Institute of Computing Sciences Poznan University of Technology Poznan Wersja dla TWO 29 Hurtownie i eksploracja danych Popraw. 2
Plan wykładów Co to jest analiza skupień i grupowanie Zastosowania Podział algorytmów Szczegóły: k-means rodzina algorytmów AHC metody hierarchiczne Ocena jakości grupowania Studium przypadku i implementacje w Statistica oraz WEKA. Inne algorytmy dla eksploracji danych o wielkich rozmiarach
Acknowledgments: W większości oparty na moich dawnych slajdach i notatkach tradycyjno-papierowych, Slajdy niektóre inspirowane lub pochodzą z J.Han course on data mining G.Piatetsky- Shapiro teaching materials WEKA and Statsoft white papers and documentation
Polish aspects in clustering Polish terminology: Cluster Analysis Analiza skupień, Grupowanie. Numerical taxonomy Metody taksonomiczne (ekonomia) Uwaga: znaczenie taksonomii w biologii może mieć inny kontest (podział systematyczny oparty o taksony). Cluster Skupienie, skupisko, grupa/klasa/pojęcie Nigdy nie mów: klaster, klastering, klastrowanie! History:
More on Polish History Jan Czekanowski (882-965) - wybitny polski antropolog, etnograf, demograf i statystyk, profesor Uniwersytetu Lwowskiego (93 94) oraz Uniwersytetu Poznańskiego (946 96). Nowe odległości i metody przetwarzania macierzy odległości w algorytmach,, tzw. metoda Czekanowskiego. Kontynuacja Jerzy Fierich (9-965) Kraków Hugo Steinhaus, (matematycy Lwów i Wrocław) Wrocławska szkoła taksonomiczna (metoda dendrytowa) Zdzisław Hellwig (Wrocław) wielowymiarowa analizą porównawcza, i inne Współczesnie Sekcja Klasyfikacji i Analizy Danych (SKAD) Polskiego Towarzystwa Statystycznego
Referencje do literatury (przykładowe) Koronacki J. Statystyczne systemy uczące się, WNT 25. Pociecha J., Podolec B., Sokołowski A., Zając K. Metody taksonomiczne w badaniach społeczno-ekonomicznych. PWN, Warszawa 988, Stąpor K. Automatyczna klasyfikacja obiektów Akademicka Oficyna Wydawnicza EXIT, Warszawa 25. Hand, Mannila, Smyth, Eksploracja danych, WNT 25. Larose D: Odkrywania wiedzy z danych, PWN 26. Kucharczyk J. Algorytmy analizy skupień w języku ALGOL 6 PWN Warszawa, 982, Materiały szkoleniowe firmy Statsoft.
Motywacje do grupowania Astronomia - agregacja podobnych gwiazd, galaktyk, i innych widocznych obiektów,
Dawno systemy taksonomiczne w biologii i botanice Carl von Linneus systematic biological taxonomy Karol Linneusz znany jest powszechnie jako ojciec systematyki biologicznej i zasad nazewnictwa organizmów. Jego system klasyfikacji organizmów, przede wszystkim tzw. system płciowy roślin, nie był pierwszą próbą uporządkowania świata ożywionego, był jednak nieporównywalny z niczym, co było wcześniej. Linneusz był niezwykle wnikliwym obserwatorem i rzetelnym, skrupulatnym badaczem, który skodyfikował język opisu, sprecyzował terminy naukowe i stworzył podstawy metodologii badawczej systematyki.
Grupowanie, analiza skupień Cel: Znajdź grupy naturalnie podobnych do siebie obiektów analiza skupień proces podziału danych na podzbiory zwane klasami (skupieniami) z punktu widzenia określonego kryterium
Inne spojrzenie na skupiska Crisp vs. soft clusters
Reprezentacja danych problem nienadzorowany Znajdź grupy obiektów podobnych do siebie (wewnątrz skupienia). Obiekty między skupieniami nie podobne do siebie! Clustering is unsupervised Nieznana etykieta przykładu w tabeli danych Sepal length Sepal width Petal length Petal width Type 5. 3.5.4.2 Iris setosa 2 4.9 3..4.2 Iris setosa 5 7. 3.2 4.7.4 Iris versicolor 52 6.4 3.2 4.5.5 Iris versicolor 6.3 3.3 6. 2.5 Iris virginica 2 5.8 2.7 5..9 Iris virginica
Classification vs. Clustering Uczenie z nadzorem vs.bez nadzoru! Classification: Supervised learning: Learns a method for predicting the instance class from pre-labeled (classified) instances Ilustracja obszarów decyzyjnych
Wielowymiarowe statystyczne spojrzenie Obiekt opisany za pomocą n zmiennych X, X 2, X n jest punktem x=(x,,x n ) w n-wymiarowej przestrzeni Ω Cel podziału na grupy (S) obiekty podobne (reprezentowane przez punkty znajdujące się blisko siebie w przestrzeni) przydzielone do tej samej grupy, a obiekty niepodobne (reprezentowane przez punkty leżące w dużej odległości w przestrzeni) znajdują się w różnych grupach S i S = ( i j; i, j=,..., p) j U p i = S i = Ω 9 8 7 6 5 4 3 2 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 2 3 4 5 6 7 8 9
Czym jest skupienie?. Zbiorem najbardziej podobnych obiektów 2. Podzbiór obiektów, dla których odległość jest mniejsza niż ich odległość od obiektów z innych skupień. 3. Podobszar wielowymiarowej przestrzeniu zawierający odpowiednio dużą gęstość obiektów
dobre i złe klasyfikacje może istnieć wiele sposobów pogrupowania danych obiektów Problemem nie jest otrzymanie rezultatu prawdziwego lub fałszywego, ale użytecznego lub bezużytecznego (Lance, Williams 77) niektóre kryteria użyteczności tworzonych klasyfikacji:. umożliwiają odkrywanie nowych, nieoczekiwanych pojęć 2. ułatwiają analizę i zrozumienie danych 3. oceniają jakość atrybutów użytych do klasyfikacji 4. powstałe skupienia charakteryzują się dużym podobieństwem wzajemnym obiektów
Poszukiwanie zrozumiałych struktur w danych Ma ułatwiać odnalezienie pewnych spójnych podobszarów danych Lecz nadal wiele możliwości
Czym jest dobre grupowanie? A good clustering method will produce high quality clusters in which: the intra-class (that is, intra-cluster) similarity is high. the inter-class similarity is low. The quality of a clustering result also depends on both the similarity measure used by the method and its implementation. The quality of a clustering method is also measured by its ability to discover some or all of the hidden patterns. However, objective evaluation is problematic: usually done by human / expert inspection.
Różne sposoby reprezentacji skupień (a) a d k g j h e i f c b (b) a d k g j h e i f c b (c) 2 3 (d) a.4..5 b..8. c.3.3.4 d...8 e.4.2.4 f..4.5 g.7.2. h.5.4. g a c i e d k b j f h
Inne cele analizy skupień w KDD Eksploracja danych - etapy Kontrola danych Poszukiwanie obiektów nietypowych (odstających) Wykrycie wewnętrznej struktury obiektów Wykrywanie współzależności między zmiennymi Klasyfikacja Weryfikacja istniejącej typologii Propozycje klasyfikacji obiektów Redukcja danych Agregacja danych Wybór reprezentantów grup
Przykłady zastosowań analizy skupień Zastosowania ekonomiczne: Identyfikacja grup klientów bankowych (np. właścicieli kart kredytowych wg. sposobu wykorzystania kart oraz stylu życia, danych osobowych, demograficznych) cele marketingowe. Systemy rekomendacji produktów i usług. Rynek usług ubezpieczeniowych (podobne grupy klientów). Analiza sieci sprzedaży (np. czy punkty sprzedaży podobne pod względem społecznego sąsiedztwa liczby personelu, itp., przynoszą podobne obroty). Poszukiwanie wspólnych rynków dla produktów. Planowanie, np. nieruchomości. Badania naukowe (biologia, medycyna, nauki społeczne). Analiza zachowań użytkowników serwisów WWW. Rozpoznawanie obrazów, dźwięku Wiele innych
Specific data mining applications
Web Search Result Clustering
Problemy do rozstrzygnięcia Jak odwzorować obiekty w przestrzeni? Wybór zmiennych Normalizacja zmiennych Jak mierzyć odległości między obiektami? Jaką metodę grupowania zastosować?
Podstawowe struktury danych Data matrix tablica / macierz danych x... x i... x n............... x f... x if... x nf............... x p... x ip... x np Dis/similarity matrix d(2,) d(3, ) : d ( n,) d (3,2) : d ( n,2) :......
Measuring Dissimilarity or Similarity in Clustering Dissimilarity/Similarity metric: Similarity is expressed in terms of a distance function, which is typically metric: d(i, j) There are also used in quality functions, which estimate the goodness of a cluster. The definitions of distance functions are usually very different for interval-scaled, boolean, categorical, ordinal and ratio variables. Weights should be associated with different variables based on applications and data semantics.
Podobieństwo i niepodobieństwo sij - miara podobieństwa (bliskości) dwu obiektów Oi i Oj Miara podobieństwa (ang. similarity) sij powinna mieć poniższe właściwości: i. sij dla wszystkich obiektów Oi i Oj ii. sij = wtedy i tylko wtedy, gdy obiekty Oi i Oj są identyczne iii. sij = sji - symetria W socjologii symetria sij jest często nie zachowana, np. opinie o sobie dwu ekspertów Miara niepodobieństwa (ang. dissimilarity) dij powinna mieć poniższe właściwości: i. dij dla wszystkich obiektów Oi i Oj ii. dij = wtedy i tylko wtedy, gdy obiekty Oi i Oj są identyczne iii. dij = dji - symetria Miarą niepodobieństwa dij może być dowolna funkcja odległości d(x,y), np. odległość euklidesowa.
Podstawowe rodzaje zmiennych skale pomiarowe Interval-scaled variables (skale metryczne) Binary variables Nominal, ordinal, and ratio variables Variables of mixed types Remark: variable vs. attribute
Distance Measures To discuss whether a set of points is close enough to be considered a cluster, we need a distance measure -D(x, y) The usual axioms for a distance measure D are: D(x, x) = D(x, y) = D(y, x) D(x, y) D(x, z) + D(z, y) the triangle inequality
Distance Measures (2) Assume a k-dimensional Euclidean space, the distance between two points, x=[x, x 2,..., x k ] and y=[y, y 2,..., y k ] may be defined using one of the measures: Euclidean distance: ("L 2 norm") k ( x i y i ) i= 2 Manhattan distance: ("L norm") k i= x i y i Max of dimensions: ("L norm") max k i = x i y i
Distance Measures (3) Minkowski distance: k ( ( x i y i i= ) q / q ) When there is no Euclidean space in which to place the points, clustering becomes more difficult: Web page accesses, DNA sequences, customer sequences, categorical attributes, documents, etc.
Charakterystka miar
Trudności z różnym zakresem danych liczbowych Normalizacja ma na celu doprowadzenie obiektów lub zmiennych do porównywalnych wielkości. Problem ten dotyczy zmiennych mierzonych w różnych jednostkach (np. sztuki, czas, waluta). Przykład Rozważmy 3 obiekty i dwie zmienne: wiek osoby mierzony w latach i jej dochód mierzony w złotych lub tys. zł. Zmienna -> X Y Y2 Wiek Dochód Dochód Osoba (w latach) (w zł) ( w tys. zł) A 35 2 2, B 37 67 6,7 C 45 7 7,
Inny przykład wpływ zakresu na analizę skupień Przeskaluje zmienne x podziel przez, y pomnóż przez
Standarization / Normalization If the values of attributes are in different units then it is likely that some of them will take vary large values, and hence the "distance" between two cases, on this variable, can be a big number. Other attributes may be small in values, or not vary much between cases, in which case the difference between the two cases will be small. The attributes with high variability / range will dominate the metric. Overcome this by standardization or normalization x x x A i i z = f ( x) = i s B B x i
Binary variables A contingency table for binary data Simple matching coefficient (invariant, if the binary variable is symmetric): Jaccard coefficient (noninvariant if the binary variable is asymmetric): d c b a c b j i d + + + + = ), ( p d b c a sum d c d c b a b a sum + + + + c b a c b j i d + + + = ), ( Object i Object j
Nominal, ordinal and ratio variables nominal variables: > 2 states, e.g., red, yellow, blue, green. d ( i, Simple matching: u: # of matches, p: total # of variables. j) = p p u Also, one can use a large number of binary variables. ordinal variables: order is important, e.g., rank. Can be treated like interval-scaled, by replacing x if by their rank r {,..., M } if f and replacing i-th object in the f-th variable by r if z = if M ratio variables: a positive measurement on a nonlinear scale, approximately at exponential scale, such as Bt or One may treat them as continuous ordinal data or perform logarithmic transformation and then treat them as interval-scaled. f Ae Ae Bt
Variables of mixed types Data sets may contain all types of attrib./variables: symmetric binary, asymmetric binary, nominal, ordinal, interval and ratio. One may use a weighted formula to combine their effects p ( f ) ( f ) Σ δ d f = ij ij d ( i, j ) = p ( f ) Σ δ f = ij f is binary or nominal: ( f ) d = if x = x or, o.w. ij if jf ( f ) d = ij f is interval-based: use the normalized distance. r f is ordinal or ratio-scaled: compute ranks if and and treat as interval-scaled r z if z if = if M f
Podział znanych metod Podziałowo-optymalizacyjne: Znajdź podział na zadaną liczbę skupień wg. zadanego kryterium. Metody hierarchiczne: Zbuduj drzewiastą strukturę skupień. Gęstościowo (Density-based): Poszukuj obszarów o większej gęstości występowania obserwacji Grid-based: wykorzystujące wielowymiarowy podział przestrzeni siatką ograniczeń Model-based: hipoteza co do własności modelu pewnego skupienia i procedura jego estymacji.
Jeszcze inny podział Za Jain s tutorial Ponadto: Crisp vs. Fuzzy Inceremental vs. batch
Metody hierarchiczne Metody najczęściej stosowane w praktyce. Uzyskana hierarchia (jedne skupienia zawierają się w innych) pozwala na uzyskanie pełnej informacji o strukturze skupień. Ograniczenie tych metod to wymagania pamięci co powoduje, że w przypadku dużych zbiorów danych nie mogą być stosowane. Metody hierarchiczne dzielimy na metody aglomeracyjne i podziałowe. Punktem wyjścia w metodach aglomeracyjnych jest określenie odległości pomiędzy obiektami. metody aglomeracyjne 9 C A S E 5 5 2 25 Label Num +---------+---------+---------+---------+---------+ 8 7 5 5 -+---+ 6 6 -+ +-----------------------+ 7 7 -----+ +-------------------+ 3 3 -+---------------------------+ I 4 4 -+ I -----------------------+-------------------------+ 2 2 -----------------------+ metody podziałowe 6 5 4 3 2 4 6 8
Metody hierarchiczne Buduj tree-based hierarchical taxonomy (dendrogram) ze zbioru nieetykietowanych przykładów animal vertebrate invertebrate fish reptile amphib. mammal worm insect crustacean czort tkwi w szczegółach parametryzacji!
*Hierarchical clustering Bottom up (aglomerative) Start with single-instance clusters At each step, join the two closest clusters Design decision: distance between clusters e.g. two closest instances in clusters vs. distance between means Top down (divisive approach / deglomerative) Start with one universal cluster Find two clusters Proceed recursively on each subset Can be very fast Both methods produce a dendrogram g a c i e d k b j f h
Hierarchiczne metody aglomeracyjne - algorytm. W macierzy odległości znajduje się parę skupień najbliższych sobie. 2. Redukuje się liczbę klas łącząc znalezioną parę 3. Przekształca się macierz odległości metodą wybraną jako kryterium klasyfikacji 4. Powtarza się kroki - 3 dopóki nie powstanie jedna klasa zawierająca wszystkie skupienia.
AHC - komentarz Użycie i przekształcanie macierzy odległości. Nie ma predefiniowanej liczby klas k jako parametr wejściowy, ale czy zawsze budujemy pełne drzewo. Parametry: podstawowa odległość i metoda łączenia Step Step Step 2 Step 3 Step 4 a a b b a b c d e c c d e d d e e Step 4 Step 3 Step 2 Step Step agglomerative (AGNES) divisive (DIANA)
Przykład ilustracyjny za A.Pankowska
Przykład cd
AHC wybór metody łączenia. Najbliższego sąsiedztwa (Single linkage, Nearest neighbor) 2. Najdalszego sąsiedztwa (Complete linkage, Furthest neighbor) 3. Mediany (Median clustering) 4. Środka ciężkości (Centroid clustering) 5. Średniej odległości wewnątrz skupień (Average linkage within groups) 6. Średniej odległości między skupieniami (Average linkage between groups) 7. Minimalnej wariancji Warda (Ward s method)
Porównanie sposobu wyznaczania odległości między skupieniami w wybranych metodach aglomeracyjnych metoda najbliższego sąsiedztwa metoda najdalszego sąsiedztwa metoda mediany metoda środka ciężkości metoda średniej grupowej metoda Warda
Obliczenia odległości między skupieniami Single linkage minimum distance: Complete linkage maximum distance: mean distance: average distance: dmin ( Ci, Cj) = min ' p p dmax ( Ci, Cj) = max ' p p p C, p C d ( C, C ) = m m mean i j i j d ( C C ) = /( nn ) p p ave i, j i j p C, p C i i j p C p C i j ' j ' ' ' m i is the mean for cluster C i n i is the number of points in C i
Single Link Agglomerative Clustering Użyj maksymalnego podobieństwa dwóch obiektów: sim( c i, c j ) = max x c, y i c j sim( x, Prowadzi do (long and thin) clusters due to chaining effect (efekt łańcuchowy); prowadzić do formowania grup niejednorodnych (heterogenicznych); Dogodne w specyficznych zastosowaniach Pozwala na wykrycie obserwacji odstających, nie należących do żadnej z grup, i warto przeprowadzić klasyfikację za jej pomocą na samym początku, aby wyeliminować takie obserwacje i przejść bez nich do właściwej części analizy y)
Single Link Example
Complete Link Agglomerative Clustering Użyj maksymalnej odległości minimalnego podobieństwa sim( c i, c j ) = x c min, y i c j sim( x, y) Ukierunkowana do tight, spherical clusters Metoda zalecana gdy, kiedy obiekty faktycznie formują naturalnie oddzielone "kępki". Metoda ta nie jest odpowiednia, jeśli skupienia są w jakiś sposób wydłużone lub mają naturę "łańcucha".
Complete Link Example
Single vs. Complete Linkage A.Jain et al.: Data Clustering. A Review. Łańcuch bliskich wysp
Wrażliwość na wybór metody łączenia Diagram dla 22 przyp. Pojedyncze wiązanie Odległości euklidesowe ACURA AUDI MERCEDES CHRYSLER DODGE VW HONDA PONTIAC SAAB VOLVO NISSAN BMW MITSUB. BUICK OLDS MAZDA TOYOTA CORVETTE FORD PORSCHE ISUZU EAGLE,,5,,5 2, 2,5 3, 3,5 4, 4,5 Odległość wiąz. ACURA OLDS CHRYSLER DODGE VW HONDA PONTIAC NISSAN MITSUB. AUDI MERCEDES BMW SAAB VOLVO BUICK MAZDA TOYOTA FORD CORVETTE PORSCHE EAGLE ISUZU Diagram dla 22 przyp. Metoda Warda Odległości euklidesowe 2 3 4 5 6 7 8 Odległość wiąz.
Metoda średnich połączeń [Unweighted pair-group average] W metodzie tej odległość między dwoma skupieniami oblicza się jako średnią odległość między wszystkimi parami obiektów należących do dwóch różnych skupień. Metoda ta jest efektywna, gdy obiekty formują naturalnie oddzielone "kępki", ale zdaje także egzamin w przypadku skupień wydłużonych, mających charakter "łańcucha".
Metoda ważonych środków ciężkości (mediany) [Weighted pair-group centroid]. Jest to metoda podobna jak poprzednia, z tym wyjątkiem, że w obliczeniach wprowadza się ważenie, aby uwzględnić różnice między wielkościami skupień (tzn. liczbą zawartych w nich obiektów). Zatem, metoda ta jest lepsza od poprzedniej w sytuacji, gdy istnieją (lub podejrzewamy, że istnieją) znaczne różnice w rozmiarach skupień.
Metody łączenia cd. Ward Gdy powiększamy jedno ze skupień Ck, wariancja wewnątrzgrupowa (liczona przez kwadraty odchyleń od średnich w zbiorach Ck) rośnie. Metoda polega na takim powiększaniu zbiorów Ck, która zapewnia najmniejszy przyrost tej wariancji dla danej iteracji. Kryterium grupowania jednostek: minimum zróżnicowania wektorów cech xj tworzących zbiór Ck (k =,..., K) względem wartości średnich w tych zbiorach. Ogólnie, metoda ta jest traktowana jako bardzo efektywna, chociaż zmierza do tworzenia skupień o małej wielkości zrównoważone drzewa
Dendrogram: pokazuje proces łączenia Decompose data objects into a several levels of nested partitioning (tree of clusters), called a dendrogram. A clustering of the data objects is obtained by cutting the dendrogram at the desired level, then each connected component forms a cluster.
AHC jak odnaleźć liczbę skupień? Figure find a cut point ( kolanko / knee) 5, Wykres odległości wiązania względem etapów wiązania Odległości euklidesowe 4,5 4, 3,5 Odległość wiązan 3, 2,5 2,,5,,5, 2 4 6 8 2 4 6 8 2 22 Wiązania Odległ. Etap
Przykład ilustracyjny
Dane wejściowe
Końcowy dendrogram Wybór skupień?
Computational Complexity In the first iteration, all HAC methods need to compute similarity of all pairs of n individual instances which is O(n 2 ). In each of the subsequent n 2 merging iterations, it must compute the distance between the most recently created cluster and all other existing clusters. In order to maintain an overall O(n 2 ) performance, computing similarity to each other cluster must be done in constant time.
More on Hierarchical Clustering Methods Major weakness of agglomerative clustering methods: do not scale well: time complexity of at least O(n 2 ), where n is the number of total objects can never undo what was done previously. Integration of hierarchical clustering with distance-based method: BIRCH (996): uses CF-tree and incrementally adjusts the quality of sub-clusters. CURE (998): selects well-scattered points from the cluster and then shrinks them towards the center of the cluster by a specified fraction.
Algorytmy podziałowo - optymalizacyjne Zadanie: Podzielenie zbioru obserwacji na K zbiorów elementów (skupień C), które są jak najbardziej jednorodne. Jednorodność funkcja oceny. Intuicja zmienność wewnątrzskupieniowa wc(c) i zmienność międzyskupieniowa bc(c) Możliwe są różne sposoby zdefiniowania np. wybierzmy środki skupień r k (centroidy) Wtedy wc( C) = K k= x C k d( x, r k 2 ) rk = nk x C k x bc( C) = d( r, r j< k K j k 2 )
Podstawowe algorytmy podziałowe Metoda K - średnich minimalizacja wc(c) Przeszukiwanie przestrzeni możliwych przypisań bardzo kosztowne (oszacowanie w ks. Koronackiego) Problem optymalizacji kombinatorycznej systematyczne przeszukiwanie metodą iteracyjnego udoskonalania: Rozpocznij od rozwiązania początkowego (losowego). Ponownie przypisz punkty do skupień tak, aby otrzymać największą zmianę w funkcji oceny. Przelicz zaktualizowane środki skupień, Postępuj aż do momentu, w którym nie ma już żadnych zmian w funkcji oceny lub w składzie grup. Zachłanne przeszukiwanie proste i prowadzi do co najmniej lokalnego minimum. Różne modyfikacje, np. rozpoczynania od kilku rozwiązań startowych Złożoność algorytmy K - średnich O(KnI)
Partitioning Algorithms: Basic Concept Partitioning method: Construct a partition of a database D of n objects into a set of k clusters Given a k, find a partition of k clusters that optimizes the chosen partitioning criterion. Global optimal: exhaustively enumerate all partitions. Heuristic methods: k-means and k-medoids algorithms. k-means (MacQueen 67): Each cluster is represented by the center of the cluster k-medoids or PAM (Partition around medoids) (Kaufman & Rousseeuw 87): Each cluster is represented by one of the objects in the cluster.
Simple Clustering: K-means Basic version works with numeric data only ) Pick a number (K) of cluster centers - centroids (at random) 2) Assign every item to its nearest cluster center (e.g. using Euclidean distance) 3) Move each cluster center to the mean of its assigned items 4) Repeat steps 2,3 until convergence (change in cluster assignments less than a threshold)
Illustrating K-Means Example 9 8 7 6 5 4 3 2 2 3 4 5 6 7 8 9 Assign each objects to most similar center 9 8 7 6 5 4 3 2 2 3 4 5 6 7 8 9 reassign Update the cluster means 9 8 7 6 5 4 3 2 2 3 4 5 6 7 8 9 reassign K=2 Arbitrarily choose K object as initial cluster center 9 8 7 6 5 4 3 2 2 3 4 5 6 7 8 9 Update the cluster means 9 8 7 6 5 4 3 2 2 3 4 5 6 7 8 9
K-means example, step Y k Pick 3 initial cluster centers (randomly) k 2 k 3 X
K-means example, step 2 Y k Assign each point to the closest cluster center k 2 k 3 X
K-means example, step 3 Y k k Move each cluster center to the mean of each cluster k 2 k 2 k 3 k 3 X
K-means example, step 4 Reassign points Y closest to a different new cluster center Q: Which points are reassigned? k k 2 k 3 X
K-means example, step 4 A: three points with animation Y k 2 k k 3 X
K-means example, step 4b re-compute cluster means Y k 2 k k 3 X
K-means example, step 5 k Y move cluster centers to cluster means k 2 k 3 X
Inny przykład obliczeniowy (k=3 i macierze początk.) Zbiór danych: Początkowy przydział Przeliczenie centroidów Przeliczenie odległości Ponowny przydział do skupień: = = = = = 3 2 4 3 2 5 4 3 2 x x x x x = = = = = 4 5 3 5 2 5 4 3 3 9 8 7 6 x x x x x = B() = 2.5 2.6 2 2.5 3.2 3 R() = () B = 2.9 2.55 2.55 2.2.7.58.58 2.2.58.58 2.28.84.9.79.45.6 2 2.6 2.24 2.28 2.83 2.24 2.4.4 2.83 2.24 2 D()
Cdn. Przeliczenie centroidów Ponowny przydział do skupień: Warunek końcowy: B(2) = B() = 3 3.5 5 3 R() = B(2) },, { 7 5 4 x x x G = },, { 9 8 2 x x x G = },,, { 6 3 2 3 x x x x G =
Metody optymalizacyjno-iteracyjne (k-średnich) Jednocześnie obliczana jest funkcja błędu podziału - ogólna suma kwadratów odległości wewnątrzgrupowych liczonych od środków ciężkości grup: tzn. F = k j= O S i j d ( O, M ) i j 2 gdzie d jest odległością euklidesową. W praktyce proces jest zbieżny po kilku lub kilkunastu iteracjach. Ponieważ w ogólności algorytm nie musi być zbieżny, ustala się maksymalną liczbę iteracji (L).
Ustalanie liczby skupień i startowych centroidów Liczbę skupień wybiera się na podstawie przesłanek merytorycznych albo szacuje się je metodami hierarchicznymi. Można dokonać obliczeń dla wszystkich wartości k z ustalonego przedziału: k min k max Możliwe są różne podejścia:. Arbitralny sposób np. przyjmuje się współrzędne pierwszych k obiektów (nie zawierające braków danych) jako zalążki środków ciężkości. 2. Losowy wybór środków ciężkości, przy czym może to być losowy wybór k obiektów ze zbioru danych albo losowy wybór k punktów przestrzeni niekoniecznie pokrywających się z położeniem obiektów. 3. Wykorzystanie algorytmu optymalizującego w pewien sposób położenie początkowych środków ciężkości np. przez uwzględnianie k obiektów leżących daleko względem siebie. 4. Przyjęcie jako początkowych środków ciężkości uzyskanych na podstawie podziału otrzymanego inna metodą, głównie jedną z metod hierarchicznych. k
Uwagi nt. podziałowo-optymalizacyjnych Dobór parametru k Kwestia heurystyki wyboru początkowych ziaren Czy jest zawsze zbieżny do optimum globalnego Przykład: initial cluster centers instances Możesz próbować kilka uruchomień z różnymi parametrami
K-means krótkie podsumowanie Zalety Proste i łatwe do zrozumienia Reprezentacja skupień jako centroidy Wady Jawne podanie liczby skupień Wszystkie przykłady muszą być przydzielone do skupień Problem z outliers (za duża wrażliwość) Ukierunkowanie na jednorodne sferyczne kształty skupień
Time Complexity Assume computing distance between two instances is O(m) where m is the dimensionality of the vectors. Reassigning clusters: O(kn) distance computations, or O(knm). Computing centroids: Each instance vector gets added once to some centroid: O(nm). Assume these two steps are each done once for I iterations: O(Iknm). Linear in all relevant factors, assuming a fixed number of iterations, more efficient than O(n 2 ) HAC.
k-means k-medoids The k-means algorithm is sensitive to outliers! Since an object with an extremely large value may substantially distort the distribution of the data. There are other limitations still a need for reducing costs of calculating distances to centroids. K-Medoids: Instead of taking the mean value of the object in a cluster as a reference point, medoids can be used, which is the most centrally located object in a cluster. 9 8 7 6 5 4 3 2 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 2 3 4 5 6 7 8 9
Algorytm K-Medoids i rozszerzenia Znajdź medoidy - obiekty reprezentujące skupienia Wykorzystuje się odległości par obiektów. PAM (Partitioning Around Medoids, 987) Zacznij od początkowego zbioru medoidów i krokowo zamieniaj jeden z obiektów - medoidów przez obiekt, nie będący aktulanie medoidem, jeśli to polepsza całkowitą odległość skupień. PAM efektywny dla małych zbiorów, lecz nieskalowalny dla dużych zbiorów przykładów. CLARA (Kaufmann & Rousseeuw, 99) CLARANS (Ng & Han, 994): Randomized sampling.
Ocena jakości skupień Ocena ekspercka Benchmarking on existing labels Comparing clusters with ground-truth categories (partition P) Miary oceny oparte na danych (internal measures) Oparte na odległościach lub Duże podobieństwo obiektów wewnątrz skupienia (Compactness) Same skupienia dość odległe (Isolation)
Czy można poszukiwać pojedynczej miary Pewne rady
Typowe miary zmienności skupień Intuicja zmienność wewnątrz-skupieniowa wc(c) i zmienność między-skupieniowa bc(c) Można definiować różnymi sposobami Wykorzystaj średni obiekt w skupieniu r k (centroids) Wtedy, np. Zamiast bc odległość od globalnego centrum danych (interclass distance) Preferencja dla zwartych, jednorodnych skupień dość odległych od centrum danych = K Ck k = = j< k K wc( C) d( x, r x bc( C) d( r, r ) id = d( rj, rglob) C j j k ) k r k = n k x Ck x
Inne kryteria wewnętrznej jakości skupień Compactness determining the weakest connection within the cluster, i.e., the largest distance between two objects Ri and Rk within the cluster. Isolation determining the strongest connection of a cluster to another cluster, i.e., the smallest distance between a cluster centroid and another cluster centroid. Object positioning the quality of clustering is determined by the extent to which each object Rj has been correctly positioned in given clusters
Odniesienie do zewnętrznego podziału Różne podejścia Measured by manually labeled data We manually assign tuples into clusters according to their properties (e.g., professors in different research areas) Accuracy of clustering: Percentage of pairs of tuples in the same cluster that share common label This measure favors many small clusters We let each approach generate the same number of clusters
Oceny poprzez porównanie do zbioru referencyjnego (ground truth) Przykład tekstowy
Ocena grupowania Inna niż w przypadku uczenia nadzorowanego (predykcji wartości) Poprawność grupowania zależna od oceny obserwatora / analityka Różne metody AS są skuteczne przy różnych rodzajach skupień i założeniach, co do danych: Co rozumie się przez skupienie, jaki ma kształt, dobór miary odległości sferyczne vs. inne Dla pewnych metod i zastosowań: Miary zmienności wewnątrz i między skupieniowych Idea zbiorów kategorii odniesienia (np.trec)
Trochę praktyki Analiza skupień w Statsoft -Statistica
Analiza Skupień Statistica; więcej na www.statsoft.com. Przykład analizy danych o parametrach samochodów
Dendrogram for Single Linkage ACURA AUDI MERCEDES CHRYSLER DODGE VW HONDA PONTIAC SAAB VOLVO NISSAN BMW MITSUB. BUICK OLDS MAZDA TOYOTA CORVETTE FORD PORSCHE ISUZU EAGLE Diagram dla 22 przyp. Pojedyncze wiązanie Odległości euklidesowe,,5,,5 2, 2,5 3, 3,5 4, 4,5 Odległość wiąz.
Analysing Agglomeration Steps Figure find a cut point ( kolanko / knee) 5, Wykres odległości wiązania względem etapów wiązania Odległości euklidesowe 4,5 4, 3,5 Odległość wiązan 3, 2,5 2,,5,,5, 2 4 6 8 2 4 6 8 2 22 Wiązania Odległ. Etap
Analiza Skupień optymalizacja k-średnich
Profile - visulization
Inne rozwiązanie Analiza Skupień wweka
WEKA Clustering Implemented methods k-means EM Cobweb X-means FarthestFirst Clusters can be visualized and compared to true clusters (if given)
Exercise. K-means clustering in WEKA The exercise illustrates the use of the k-means algorithm. The example sample of customers of the bank Bank data (bank-data.cvs -> bank.arff) All preprocessing has been performed on cvs 6 instances described by attributes id,age,sex,region,income,married,children,car,save_act,current_act,mortgage,pep ID2,48,FEMALE,INNER_CITY,7546.,NO,,NO,NO,NO,NO,YES ID22,4,MALE,TOWN,385.,YES,3,YES,NO,YES,YES,NO ID23,5,FEMALE,INNER_CITY,6575.4,YES,,YES,YES,YES,NO,NO ID24,23,FEMALE,TOWN,2375.4,YES,3,NO,NO,YES,NO,NO ID25,57,FEMALE,RURAL,5576.3,YES,,NO,YES,NO,NO,NO... Cluster customers and characterize the resulting customer segments
Loading the file and analysing the data
Preprocessing for clustering What about non-numerical attributes? Remember about Filters Should we normalize or standarize attributes? How it is handled in WEKA k-means?
Choosing Simple k-means Tune proper parameters
Clustering results Analyse the result window
Characterizing cluster How to describe clusters? What about descriptive statistics for centroids?
Understanding the cluster characterization through visualization
Finally, cluster assignments
Soft Clustering Clustering typically assumes that each instance is given a hard assignment to exactly one cluster. Does not allow uncertainty in class membership or for an instance to belong to more than one cluster. Soft clustering gives probabilities that an instance belongs to each of a set of clusters. Each instance is assigned a probability distribution across a set of discovered categories (probabilities of all categories must sum to ). d e a k g j h i f c b
Expectation Maximization (EM Algorithm) Probabilistic method for soft clustering. Direct method that assumes k clusters:{c, c 2, c k } Soft version of k-means. Assumes a probabilistic model of categories that allows computing P(c i E) for each category, c i, for a given example, E. For text, typically assume a naïve-bayes category model. Parameters θ = {P(c i ), P(w j c i ): i {, k}, j {,, V }}
Algorytmy analizy skupień dla baz danych o wielkich rozmiarach Scalability Dealing with different types of attributes Discovery of clusters with arbitrary shape Minimal requirements for domain knowledge to determine input parameters Able to deal with noise and outliers Insensitive to order of input records High dimensionality Interpretability and usability.
Może pytanie lub komentarze?