Analiza Skupień - Grupowanie Zaawansowana Eksploracja Danych



Podobne dokumenty
Analiza Skupień - Grupowanie Zaawansowana Eksploracja Danych

CLUSTERING II. Efektywne metody grupowania danych

Hard-Margin Support Vector Machines

Analiza Skupień - Grupowanie Zaawansowana Eksploracja Danych. JERZY STEFANOWSKI Inst. Informatyki PP Wersja dla TPD 2009

Analiza Skupień - Grupowanie Zaawansowana Eksploracja Danych

Grupowanie Witold Andrzejewski, Politechnika Poznańska, Wydział Informatyki 201/633

Machine Learning for Data Science (CS4786) Lecture11. Random Projections & Canonical Correlation Analysis

Linear Classification and Logistic Regression. Pascal Fua IC-CVLab

Plan wykładów. Co to jest analiza skupień i grupowanie Zastosowania Podział algorytmów Szczegóły:

CLUSTERING. Metody grupowania danych

TTIC 31210: Advanced Natural Language Processing. Kevin Gimpel Spring Lecture 9: Inference in Structured Prediction

Rozpoznawanie twarzy metodą PCA Michał Bereta 1. Testowanie statystycznej istotności różnic między jakością klasyfikatorów

Machine Learning for Data Science (CS4786) Lecture 11. Spectral Embedding + Clustering

Zarządzanie sieciami telekomunikacyjnymi

Michał Kozielski Łukasz Warchał. Instytut Informatyki, Politechnika Śląska

Tychy, plan miasta: Skala 1: (Polish Edition)

Zagadnienie klasyfikacji (dyskryminacji)

MS Visual Studio 2005 Team Suite - Performance Tool

Sieci samoorganizujące się na zasadzie współzawodnictwa

ARNOLD. EDUKACJA KULTURYSTY (POLSKA WERSJA JEZYKOWA) BY DOUGLAS KENT HALL

Zakopane, plan miasta: Skala ok. 1: = City map (Polish Edition)

TTIC 31210: Advanced Natural Language Processing. Kevin Gimpel Spring Lecture 8: Structured PredicCon 2

Machine Learning for Data Science (CS4786) Lecture 24. Differential Privacy and Re-useable Holdout

Algorytmy rozpoznawania obrazów. 11. Analiza skupień. dr inż. Urszula Libal. Politechnika Wrocławska

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

Network Services for Spatial Data in European Geo-Portals and their Compliance with ISO and OGC Standards

MATLAB Neural Network Toolbox przegląd

Helena Boguta, klasa 8W, rok szkolny 2018/2019

Wprowadzenie do technologii informacyjnej.

Wprowadzenie do programu RapidMiner, część 5 Michał Bereta

Revenue Maximization. Sept. 25, 2018

Gradient Coding using the Stochastic Block Model

DBSCAN segmentacja danych punktowych oraz rastrowych w środowisku wolnodostępnego oprogramowania R

Proposal of thesis topic for mgr in. (MSE) programme in Telecommunications and Computer Science

deep learning for NLP (5 lectures)

CLUSTERING METODY GRUPOWANIA DANYCH

Presented by. Dr. Morten Middelfart, CTO

Latent Dirichlet Allocation Models and their Evaluation IT for Practice 2016

MaPlan Sp. z O.O. Click here if your download doesn"t start automatically

Supervised Hierarchical Clustering with Exponential Linkage. Nishant Yadav

Instructions for student teams

SubVersion. Piotr Mikulski. SubVersion. P. Mikulski. Co to jest subversion? Zalety SubVersion. Wady SubVersion. Inne różnice SubVersion i CVS

utrzymania swoich obecnych klientów i dowiedzia la sie, że metody data mining moga

tum.de/fall2018/ in2357

Dolny Slask 1: , mapa turystycznosamochodowa: Plan Wroclawia (Polish Edition)

Previously on CSCI 4622

SSW1.1, HFW Fry #20, Zeno #25 Benchmark: Qtr.1. Fry #65, Zeno #67. like

Analiza skupień (Cluster analysis)

Katowice, plan miasta: Skala 1: = City map = Stadtplan (Polish Edition)

Analiza Sieci Społecznych Pajek

1945 (96,1%) backlinks currently link back (74,4%) links bear full SEO value. 0 links are set up using embedded object

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

Wprowadzenie do programu RapidMiner, część 2 Michał Bereta 1. Wykorzystanie wykresu ROC do porównania modeli klasyfikatorów

Configuring and Testing Your Network

Grupowanie. Iteracyjno-optymalizacyjne metody grupowania Algorytm k-średnich Algorytm k-medoidów. Eksploracja danych. Grupowanie wykład 2

Weronika Mysliwiec, klasa 8W, rok szkolny 2018/2019

Analiza skupień. Idea

Stargard Szczecinski i okolice (Polish Edition)

Agnostic Learning and VC dimension

OSI Network Layer. Network Fundamentals Chapter 5. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

A Zadanie

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

archivist: Managing Data Analysis Results

Analiza Sieci Społecznych Pajek

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Zmiany techniczne wprowadzone w wersji Comarch ERP Altum

Strategic planning. Jolanta Żyśko University of Physical Education in Warsaw

Eksploracja danych. Grupowanie. Wprowadzanie Definicja problemu Klasyfikacja metod grupowania Grupowanie hierarchiczne. Grupowanie wykład 1

Fig 5 Spectrograms of the original signal (top) extracted shaft-related GAD components (middle) and

Compressing the information contained in the different indexes is crucial for performance when implementing an IR system

PODOBIEŃSTWA RYNKÓW PRACY W GRUPIE KRAJÓW UE-28

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Cracow University of Economics Poland. Overview. Sources of Real GDP per Capita Growth: Polish Regional-Macroeconomic Dimensions

Analysis of Movie Profitability STAT 469 IN CLASS ANALYSIS #2

MoA-Net: Self-supervised Motion Segmentation. Pia Bideau, Rakesh R Menon, Erik Learned-Miller

Raport bieżący: 44/2018 Data: g. 21:03 Skrócona nazwa emitenta: SERINUS ENERGY plc

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2014/2015

ERASMUS + : Trail of extinct and active volcanoes, earthquakes through Europe. SURVEY TO STUDENTS.

SNP SNP Business Partner Data Checker. Prezentacja produktu

PRACA DYPLOMOWA Magisterska

Miedzy legenda a historia: Szlakiem piastowskim z Poznania do Gniezna (Biblioteka Kroniki Wielkopolski) (Polish Edition)

OpenPoland.net API Documentation

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

Convolution semigroups with linear Jacobi parameters

Few-fermion thermometry

Krytyczne czynniki sukcesu w zarządzaniu projektami

Wybrzeze Baltyku, mapa turystyczna 1: (Polish Edition)

Sargent Opens Sonairte Farmers' Market

Instrukcja obsługi User s manual

WYDZIAŁ MATEMATYKI KARTA PRZEDMIOTU

Karpacz, plan miasta 1:10 000: Panorama Karkonoszy, mapa szlakow turystycznych (Polish Edition)

Badanie zróżnicowania krajów członkowskich i stowarzyszonych Unii Europejskiej w oparciu o wybrane zmienne społeczno-gospodarcze

Analiza Skupień Cluster analysis

Liczbę 29 możemy zaprezentować na siedem różnych sposobów:

Bayesian graph convolutional neural networks

Jak działa grawitacja?

SWPS Uniwersytet Humanistycznospołeczny. Wydział Zamiejscowy we Wrocławiu. Karolina Horodyska

Akademia Morska w Szczecinie. Wydział Mechaniczny

Installation of EuroCert software for qualified electronic signature

Zaawansowane metody programowania. Algorytmy

Transkrypt:

Analiza Skupień - Grupowanie Zaawansowana Eksploracja Danych JERZY STEFANOWSKI Inst. Informatyki PP Wersja dla TPD 29 Email: Jerzy.Stefanowski@cs.put.poznan.pl

Organizacja wykładu Wprowadzenie. Możliwe zastosowania Podstawy (odległości, ). Przegląd algorytmów: k - średnich Hierarchiczne Rozszerzenia dla analizy danych o większych rozmiarach. Podsumowanie 25

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 (1882-1965) - wybitny polski antropolog, etnograf, demograf i statystyk, profesor Uniwersytetu Lwowskiego (1913 1941) oraz Uniwersytetu Poznańskiego (1946 196). Nowe odległości i metody przetwarzania macierzy odległości w algorytmach,, tzw. metoda Czekanowskiego. Kontynuacja Jerzy Fierich (19-1965) 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 1988, 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, 1982, Materiały szkoleniowe firmy Statsoft.

Problem Statement Given a set of records, organize the records into clusters (classes) Clustering: the process of grouping physical or abstract objects into classes of similar objects 1 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 1 1 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 1

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

Poszukiwanie zrozumiałych struktur w danych Ma ułatwiać odnalezienie pewnych spójnych podobszarów danych Lecz nadal wiele możliowości

Nadzorowane vs. nienadzorowane problemy

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)

Oceny poprzez porównanie do zbioru referencyjnego (ground truth) Przykład tekstowy

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) 1 2 3 (d) a.4.1.5 b.1.8.1 c.3.3.4 d.1.1.8 e.4.2.4 f.1.4.5 g.7.2.1 h.5.4.1 g a c i e d k b j f h

Main Categories of Clustering Methods Partitioning algorithms: Construct various partitions and then evaluate them by some criterion. Hierarchy algorithms: Create a hierarchical decomposition of the set of data (or objects) using some criterion. Density-based: based on connectivity and density functions Grid-based: based on a multiple-level granularity structure Model-based: A model is hypothesized for each of the clusters and the idea is to find the best fit of that model to each other.

Jeszcze inny podział Za Jain s tutorial Ponadto: Crisp vs. Fuzzy Inceremental vs. batch

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.

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= 1 x C k d( x, r k 2 ) rk = 1 nk x C k x bc( C) = d( r, r 1 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)

Simple Clustering: K-means Basic version works with numeric data only 1) 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)

Przykład (z macierzą początkową) Zbiór danych: Początkowy przydział Przeliczenie centroidów Przeliczenie odległości Ponowny przydział do skupień: = = = = = 1 3 1 2 4 1 3 1 2 1 5 4 3 2 1 x x x x x = = = = = 4 5 3 5 2 5 1 4 3 3 1 9 8 7 6 x x x x x = 1 1 1 1 1 1 1 1 1 1 B() = 2.5 2.6 2 2.5 3.2 3 R() = 1 1 1 1 1 1 (1) 1 1 1 1 B = 2.91 2.55 2.55 2.12.71 1.58 1.58 2.12 1.58 1.58 2.28 1.84 1.9 1.79.45 1.61 2 2.61 2.24 2.28 2.83 2.24 2 1.41 1 1 1.41 2.83 2.24 2 D(1)

Przykład cd. Przeliczenie centroidów Ponowny przydział do skupień: Warunek końcowy: B(2) = B(1) = 3 3 1 1.5 5 3 R(1) = 1 1 1 1 1 1 1 1 1 1 B(2) },, { 7 5 4 1 x x x G = },, { 1 9 8 2 x x x G = },,, { 6 3 2 1 3 x x x x G =

K-means example, step 1 Y k 1 Pick 3 initial cluster centers (randomly) k 2 k 3 X

K-means example, step 2 Y k 1 Assign each point to the closest cluster center k 2 k 3 X

K-means example, step 3 Y k 1 k 1 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 1 k 2 k 3 X

K-means example, step 4 A: three points with animation Y k 2 k 1 k 3 X

K-means example, step 4b re-compute cluster means Y k 2 k 1 k 3 X

K-means example, step 5 k 1 Y move cluster centers to cluster means k 2 k 3 X

Discussion Result can vary significantly depending on initial choice of seeds Can get trapped in local minimum Example: initial cluster centers instances To increase chance of finding global optimum: restart with different random seeds

K-means clustering summary Advantages Simple, understandable items automatically assigned to clusters Disadvantages Must pick number of clusters before hand Often terminates at a local optimum. All items forced into a cluster Too sensitive to outliers

The K-Medoids Clustering Method Find representative objects, called medoids, in clusters To achieve this goal, only the definition of distance from any two objects is needed. PAM (Partitioning Around Medoids, 1987) starts from an initial set of medoids and iteratively replaces one of the medoids by one of the non-medoids if it improves the total distance of the resulting clustering. PAM works effectively for small data sets, but does not scale well for large data sets. CLARA (Kaufmann & Rousseeuw, 199) CLARANS (Ng & Han, 1994): Randomized sampling. Focusing + spatial data structure (Ester et al., 1995).

*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) 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

Hierarchical Clustering Use distance matrix as clustering criteria. This method does not require the number of clusters k as an input, but needs a termination condition. The distance between clusters should also be chosen. Step Step 1 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 1 Step agglomerative (AGNES) divisive (DIANA)

Distance between Clusters 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 ) = 1/( 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

Problem doboru miary odległości / podobieństwa Nietrywialny i silnie wpływa na wynik Różne miary odległości

Single Link Example

Complete Link Example

Changing Linkage Methods 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 1, 1,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 1 2 3 4 5 6 7 8 Odległość wiąz.

Maning texts single linkage

Maning texts / complete linkage

Single vs. Complete Linkage A.Jain et al.: Data Clustering. A Review.

Single vs. complete linkage

Pamiętaj o doborze cech Za Jain s tutorial

Expectation-Maximization (EM) Log likelihood with a mixture model L ( ) ( t Φ X = log p x Φ) = t t log k i= 1 p ( t x G ) P( G ) i i Assume hidden variables z, which when known, make optimization much simpler Complete likelihood, L c (Φ X,Z), in terms of x and z Incomplete likelihood, L(Φ X), in terms of x

Jain zbiorcze porównanie

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.

Algorytm K-Medoids Znajdź medoidy - obiekty reprezentujące skupienia Wykorzystuje się odległości par obiektów. PAM (Partitioning Around Medoids, 1987) 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, 199) CLARANS (Ng & Han, 1994): Randomized sampling.

Metody hierarchiczne dla dużych zbiorów danych Niektóre z ograniczeń metod aglomeracyjnych: słaba skalowalność: złożoność czasowa przynajmniej O(n 2 ), gdzie n jest liczbą obiektów, krytyczne znaczenie decyzji o wyborze punktu połączenia kolejnych skupień w trakcie budowania drzewa hierarchii, algorytmy nie zmieniają, ani nie poprawiają, wcześniej podjętych decyzji. Rozwinięcia algorytmów hierarchicznych oraz ich integracja z metodami gęstościowymi: BIRCH (1996): użycie drzew CF-tree, uczenie przyrostowe i stopniowa poprawa jakości pod-skupień. CURE (1998): wybór losowy odpowiednio rozproszonych punktów, wstępne grupowanie z określeniem ich punktów reprezentatywnych, łączenie grup w nowe skupienia wraz z przesuwaniem punktów reprezentatywnych w stronę środków tworzonego skupienia zgodnie z shrinking factor α ; eliminacja wpływu outliners.

BIRCH ang. Balanced Iterative Reducing and Clustering using Hierarchies Zhang et al. (1996) Wykorzystuje hierarchiczne drzewo CF (Clustering Feature) Działanie algorytmu: Faza 1: przyrostowo przeczytaj raz DB w celu zbudowania w pamięci początkowej struktury drzewa CF (rodzaj wielopoziomowej kompresji danych zachowującej wewnętrzną strukturę zgrupowań danych). Faza 2: zastosuj wybrany (inny) algorytm skupień dla lepszego pogrupowania obiektów w liściach drzewa CF. Dobra skalowalność: znajduje zadawalające grupowanie po jednokrotnym przeczytaniu bazy danych i ulepsza je wykorzystując niedużo dodatkowych operacji odczytu DB. Ograniczenia: zaproponowany dla danych liczbowych, wrażliwość wyników na kolejność prezentacji przykładów.

BIRCH - Clustering Feature Vector Clustering Feature: CF = (N, LS, SS) N: liczba grupowanych obiektów LS: N i=1=x i SS: N i=1=x i 2 CF = (5, (16,3),(54,19)) 1 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 1 (3,4) (2,6) (4,5) (4,7) (3,8)

CF Tree B = 7 L = 6 CF 1 CF 2 Root child 1 child 2 child 3 child 6 CF 3 CF 6 CF 1 CF 2 Non-leaf node child 1 child 2 child 3 child 5 CF 3 CF 5 Leaf node Leaf node prev CF 1 CF 2 CF 6 next prev CF 1 CF 2 CF 4 next

Wstawianie elementów do drzewa CF Parametery drzewa CF: Branching factor B max. liczba potomków w węźle (non-leaf node), Threshold T max. średnica podskupienia skojarzonego z liściem drzewa. Kolejno wczytywany obiekt przydziel do najbliższego podskupienia (leaf entry) zgodnie z wybraną miarą odległości Dokonaj modyfikacji liści jeśli średnica liścia > T, to dokonaj podziału (być może także inne liście powinny być podzielone) Dokonaj modyfikacji ścieżki do liścia Uaktualnij wektory CF w węzłach drzewa. Dokonaj podziału węzłów jeśli to konieczne. Jeżeli rozmiar drzewa CF jest zbyt duży w stosunku do dostępnej pamięci operacyjnej, dokonuje się modyfikacji parametrów algorytmu.

BIRCH: dalsze szczegóły algorytmu 1: Utwórz drzewo CF w pamięci operacyjnej przeczytaj przyrostowo DB i buduj początkową strukturę drzew 2: (Opcjonalnie) Dokonaj kompresji poprzez budowę mniejszego drzewa CF zmieniając zakres parametrów przejrzyj leaf entries w początkowym drzewie CF w celu zbudowania mniejszego drzewa. 3: Globalne grupowanie grupuj wykorzystując leaf entries drzewa 4: (opcjonalne, off line ) Ulepszanie struktury skupień Użyj centroidów z etapu 3, rozdzielając obiekty Complexity: O(N) czy O(N 2 )?

Metody gęstościowe Podstawowe metody wykorzystują miary odległości między obiektami Inne metody wykorzystują pojęcie gęstości (ang. density) lokalne sąsiedztwo punktu/skupienia, a także gęsto połączonych punktów Właściwości metod gęstościowych: Wykrywanie skupień o dowolnych kształtach (niesferycznych) Odporność na szum informacyjny Jednokrotne przeglądanie DB Potrzebna parametryzacja oceny gęstości i warunków zatrzymania Interesujące algorytmy: DBSCAN: Ester, et al. (KDD 96) OPTICS: Ankerst, et al (SIGMOD 99). DENCLUE: Hinneburg & D. Keim (KDD 98) CLIQUE: Agrawal, et al. (SIGMOD 98)

DBSCAN: Algorytm gęstościowy DBSCAN: Density Based Spatial Clustering of Applications with Noise. Wykorzystuje pojęcie density-based cluster : Skupienie będące maksymalnym zbiorem punktów gęsto połączonych density-connected points. Poszukuje się zgrupowań odpowiednio gęsto (blisko siebie) położonych obiektów (dense regions/clusters) odzielonych od siebie obszarami o niskiej gęstości ( noise ) Możliwość wykrywania skupień o dowolnym kształcie w obecności szumu informacyjnego

Bardziej nieregularne kształty

DBSCAN: Podstawowe pojęcia Parametry: Eps: Maksymalny promień sąsiedztwa MinPts: minimalna liczba punktów (obiektów) w Eps-sąsiedztwie badanego punktu N Eps (p): {punkt q należy do D dist(p,q) <= Eps} Directly density-reachable: A point p is directly densityreachable from a point q wrt. Eps, MinPts if 1) p belongs to N Eps (q) 2) core point condition: N Eps (q) >= MinPts q p MinPts = 5 Eps = 1 cm

DBSCAN: Podstawowe pojęcia (II) Density-reachable: A point p is density-reachable from a point q wrt. Eps, MinPts if there is a chain of points p 1,, p n, p 1 = q, p n = p such that p i+1 is directly density-reachable from p i q p 1 p Density-connected A point p is density-connected to a point q wrt. Eps, MinPts if there is a point o such that both, p and q are density-reachable from o wrt. Eps and MinPts. p o q

DBSCAN: jak poszukuje skupień? Outlier Border Core Eps = 1cm MinPts = 5

DBSCAN: Zarys algorytmu Wybierz punkt startowy p Odnajdź wszystkie punkty do gęstościowego osiągnięcia z p (density-reachable from p wrt Eps and MinPts). Jeśli p jest rdzeniem (core point), utwórz skupienie. Jeśli p jest punktem granicznym (border point) i żadne punkty nie są z niego gęstościowo osiągalne, DBSCAN wybiera następny punkt z bazy danych Proces jest konytuowany dopóki żaden nowy punkt nie może być dodany to dowolnego skupienia. Złożoność: O(nlog n) w przypadku użycia specjalnego spatial index, w przeciwnym razie O(n 2 ).

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 1). 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 1, 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 {1, k}, j {1,, V }}

Model-Based Clustering Methods Attempt to optimize the fit between the data and some mathematical model Statistical and AI approach Conceptual clustering A form of clustering in machine learning Produces a classification scheme for a set of unlabeled objects Finds characteristic description for each concept (class) COBWEB (Fisher 87) A popular a simple method of incremental conceptual learning Creates a hierarchical clustering in the form of a classification tree Each node refers to a concept and contains a probabilistic description of that concept

COBWEB Clustering Method A classification tree

*Incremental clustering (COBWEB based) Heuristic approach (COBWEB/CLASSIT) Form a hierarchy of clusters incrementally Start: tree consists of empty root node Then: add instances one by one update tree appropriately at each stage to update, find the right leaf for an instance May involve restructuring the tree Base update decisions on category utility

World countries data Kraj C1 C2 C3 C4 C5 C6 C7 C8 C9 Afganistan M AP S N N N N N S Argentyna K AL. U N S W W W N Armenia O SW SM S S W W W N Australia P OECD S N S W W W N Austria K OECD U N W W W W N Azerbejdżan M SW S N W W W W N Belgia K OCED U W S W W W N Białoruś O EW U N W W S S N Boliwia K A SM N W S S S S..............................

COBWB results Selected classes K1: Rosja, Portugalia, Polska, Litwa, Łotwa, Węgry, Grecja, Gruzja, Estonia, Czechy, Chorwacja K2: USA, Szwajcaria, Hiszpania, Norwegia, Holandia, Włochy, Irlandia, Niemcy, Francja, Dania, Belgia, Austria K3: Szwecja, Korea Płd., Nowa Zelandia, Finlandia, Kanada, Australia, Islandia... K17: Somalia, Gambia, Etiopia, Kambodża K18: Uganda, Tanzania, Ruanda, Haiti, Burundi... K1 K2 K3 K4 K5 K6 K7 K8 K9 K1 K11 K12 K13 K14 K15 K16 K17 K18 K19

Other Model-Based Clustering Methods Neural network approaches Represent each cluster as an exemplar, acting as a prototype of the cluster New objects are distributed to the cluster whose exemplar is the most similar according to some dostance measure Competitive learning (Kohonen, SOM) Involves a hierarchical architecture of several units (neurons) Neurons compete in a winner-takes-all fashion for the object currently being presented

Self-Organizing Feature Map (SOM) SOMs, also called topological ordered maps, or Kohonen Self- Organizing Feature Map (KSOMs) It maps all the points in a high-dimensional source space into a 2 to 3-d target space, s.t., the distance and proximity relationship (i.e., topology) are preserved as much as possible Similar to k-means: cluster centers tend to lie in a low-dimensional manifold in the feature space Clustering is performed by having several units competing for the current object The unit whose weight vector is closest to the current object wins The winner and its neighbors learn by having their weights adjusted SOMs are believed to resemble processing that can occur in the brain Useful for visualizing high-dimensional data in 2- or 3-D space

Self-Organizing Maps - more Data: vectors X T = (X 1,... X d ) from d-dimensional space. Grid of nodes, with local processor (called neuron) in each node. Local processor # j has d adaptive parameters W (j). Goal: change W (j) parameters to recover data clusters in X space.

An example of analysing olive oil in Italy An example of SOM application: 572 samples of olive oil were collected from 9 Italian provinces. Content of 8 fats was determine for each oil. SOM 2 x 2 network, Maps 8D => 2D. Classification accuracy was around 95-97%. Note that topographical relations are preserved, region 3 is most diverse.

Quality of life data WorldBank data 1992, 39 quality of life indicators. SOM map and the same colors on the world map. More examples of business applications from http://www.eudaptics.com/

Clustering High-Dimensional Data Clustering high-dimensional data Many applications: text documents, DNA micro-array data Major challenges: Many irrelevant dimensions may mask clusters Distance measure becomes meaningless due to equi-distance Clusters may exist only in some subspaces Methods Feature transformation: only effective if most dimensions are relevant PCA & SVD useful only when features are highly correlated/redundant Feature selection: wrapper or filter approaches useful to find a subspace where the data have nice clusters Subspace-clustering: find clusters in all the possible subspaces CLIQUE, ProClus, and frequent pattern-based clustering

Clustering Evaluation Manual inspection Benchmarking on existing labels Comparing clusters with ground-truth categories Cluster quality measures distance measures high similarity within a cluster, low across clusters

Could we analyse an objective single measure? Some opinions

Dopowiedzieć miary zmienności Homogenuous clusters. Intuition zmienność wewnątrzskupieniowa wc(c) i zmienność międzyskupieniowa bc(c) May be defined in many ways Take average of clusters r k (centroids) Then wc( C) = K k= 1 x C k 1 j< k K d( x, r bc( C) = d( r, r j k 2 ) k 2 ) r k = 1 n k x Ck x

Measure of Clustering Accuracy Accuracy 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

Analiza skupień - podsumowanie Liczne i ważne zastosowanie praktyczne analizy skupień (AS). AS używana samodzielnie w zgłębianiu danych, lub jako jedno z narzędzi podczas wstępnego przetwarzania w procesie KDD. Jakość skupień i działanie wielu algorytmów związane są określeniem miary odległości obiektów. Podstawowe klasy metod: hierarchiczne, podziałowo/optymalizacyjne, gęstościowe, grid-based, wykorzystujące modele matematyczne (np. probabilistyczne lub neuronowe). Ważne zagadnienie to także wykrywanie obiektów nietypowych (outliers discovery).

Problemy i wyzwania Znaczący postęp w zakresie skalowalnych algorytmów: Partitioning: k-means, k-medoids, CLARANS Hierarchical: BIRCH, CURE Density-based: DBSCAN, CLIQUE, OPTICS Grid-based: STING, WaveCluster. Model-based: Autoclass, Denclue, Cobweb. Obecne techniki ciągle nie spełniają wystarczająco dobrze stawianych wymagań. Otwarte problemy i wyzwania badawcze; zwłaszcza dla nietypowych i żłożonych danych.

Clustering in Data Mining przegląd

Exercise: Clustering in 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 1, 1,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, 1,5 1,,5, 2 4 6 8 1 12 14 16 18 2 22 Wiązania Odległ. Etap

Analiza Skupień optymalizacja k-średnich

Profile - visulization

Exercise: Clustering in WEKA

Exercise: Clustering in WEKA

WEKA Clustering Implemented methods k-means EM Cobweb X-means FarthestFirst Clusters can be visualized and compared to true clusters (if given)

Exercise 1. 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 11 attributes id,age,sex,region,income,married,children,car,save_act,current_act,mortgage,pep ID1211,48,FEMALE,INNER_CITY,17546.,NO,1,NO,NO,NO,NO,YES ID1212,4,MALE,TOWN,385.1,YES,3,YES,NO,YES,YES,NO ID1213,51,FEMALE,INNER_CITY,16575.4,YES,,YES,YES,YES,NO,NO ID1214,23,FEMALE,TOWN,2375.4,YES,3,NO,NO,YES,NO,NO ID1215,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

Różne nietypowe zastosowanie AS

Grupowanie opisów stron Komercyjne Vivisimo / Clusty Otwarte Carrot D.Weiss (S.Osinski + JS)

Projekt Open source Carrot 2

Web Search Result Clustering Carrot2

Specific data mining applications

Time-Series Similarities specific data mining Given a database of time-series. Group similar time-series time time Investor Fund A Investor Fund B