ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Podobne dokumenty
TEORETYCZNE PODSTAWY INFORMATYKI

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Hierarchiczna analiza skupień

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

Sieci Kohonena Grupowanie

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

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

CLUSTERING. Metody grupowania danych

Agnieszka Nowak Brzezińska

Elementy statystyki wielowymiarowej

Analiza skupień. Analiza Skupień W sztucznej inteligencji istotną rolę ogrywają algorytmy grupowania

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Agnieszka Nowak Brzezińska Wykład III

Algorytm grupowania danych typu kwantyzacji wektorów

1. Grupowanie Algorytmy grupowania:

Algorytm grupowania danych typu kwantyzacji wektorów

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Wykład 10 Skalowanie wielowymiarowe

Techniki grupowania danych w środowisku Matlab

Co to jest grupowanie

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Agnieszka Nowak Brzezińska Wykład III

TEORETYCZNE PODSTAWY INFORMATYKI

Ważne rozkłady i twierdzenia

6. Pętle while. Przykłady

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Lekcja 5: Sieć Kohonena i sieć ART

SPOTKANIE 6: Klasteryzacja: K-Means, Expectation Maximization

0 + 0 = 0, = 1, = 1, = 0.

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

Analiza składowych głównych. Wprowadzenie

METODY CHEMOMETRYCZNE W IDENTYFIKACJI ŹRÓDEŁ POCHODZENIA

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Reprezentacja i analiza obszarów

ZAGADNIENIA PROGRAMOWE I WYMAGANIA EDUKACYJNE DO TESTU PRZYROSTU KOMPETENCJI Z MATEMATYKI DLA UCZNIA KLASY II

Wymagania kl. 3. Zakres podstawowy i rozszerzony

Ważne rozkłady i twierdzenia c.d.

Wykład 4. Plan: 1. Aproksymacja rozkładu dwumianowego rozkładem normalnym. 2. Rozkłady próbkowe. 3. Centralne twierdzenie graniczne

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Podstawowe definicje statystyczne

Janusz Adamowski METODY OBLICZENIOWE FIZYKI Kwantowa wariacyjna metoda Monte Carlo. Problem własny dla stanu podstawowego układu N cząstek

WYMAGANIA Z WIEDZY I UMIEJĘTNOŚCI NA POSZCZEGÓLNE STOPNIE SZKOLNE DLA KLASY CZWARTEJ H. zakres rozszerzony. Wiadomości i umiejętności

Kompresja danych DKDA (7)

Narodowe Centrum Badań Jądrowych Dział Edukacji i Szkoleń ul. Andrzeja Sołtana 7, Otwock-Świerk

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

Szkoła z przyszłością. Zastosowanie pojęć analizy statystycznej do opracowania pomiarów promieniowania jonizującego

str 1 WYMAGANIA EDUKACYJNE ( ) - matematyka - poziom podstawowy Dariusz Drabczyk

TEORETYCZNE PODSTAWY INFORMATYKI

Zaawansowane metody numeryczne

KADD Minimalizacja funkcji

WYKŁAD 12. Analiza obrazu Wyznaczanie parametrów ruchu obiektów

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Wymagania edukacyjne z matematyki

Katalog wymagań programowych na poszczególne stopnie szkolne. Matematyka. Poznać, zrozumieć

Elementy modelowania matematycznego

Klasyfikator. ˆp(k x) = 1 K. I(ρ(x,x i ) ρ(x,x (K) ))I(y i =k),k =1,...,L,

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Przestrzeń algorytmów klastrowania

Bryła sztywna. Wstęp do Fizyki I (B+C) Wykład XIX: Prawa ruchu Moment bezwładności Energia ruchu obrotowego

PętlaforwOctave. Roman Putanowicz 13 kwietnia 2008

WYKŁAD 10. kodem pierwotnym krzywej jest ciąg par współrzędnych x, y kolejnych punktów krzywej: (x 1, y 1 ), (x 2, y 2 ),...

Przybliżone algorytmy analizy ekspresji genów.

Materiały dla finalistów

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Klasyfikacja w oparciu o metrykę budowaną poprzez dystrybuanty empiryczne na przestrzeni wzorców uczących

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

Sprawdzenie narzędzi pomiarowych i wyznaczenie niepewności rozszerzonej typu A w pomiarach pośrednich

Kwantyzacja wektorowa. Kodowanie różnicowe.

Analiza głównych składowych- redukcja wymiaru, wykł. 12

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Definicja pochodnej cząstkowej

A,B M! v V ; A + v = B, (1.3) AB = v. (1.4)

Rozdział 7 ZARZĄDZANIE PROJEKTAMI

Wstęp do sieci neuronowych, wykład 8 Uczenie nienadzorowane.

Kształcenie w zakresie podstawowym. Klasa 3

R ozkład norm alny Bardzo często używany do modelowania symetrycznych rozkładów zmiennych losowych ciągłych

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd.

Analiza składowych głównych

Przedziały ufności. Poziom istotności = α (zwykle 0.05) Poziom ufności = 1 α Przedział ufności dla parametru μ = taki przedział [a,b], dla którego

Metody eksploracji danych w odkrywaniu wiedzy (MED) projekt, dokumentacja końcowa

Na A (n) rozważamy rozkład P (n) , który na zbiorach postaci A 1... A n określa się jako P (n) (X n, A (n), P (n)

Metody Rozmyte i Algorytmy Ewolucyjne

Bryła sztywna. Fizyka I (B+C) Wykład XXI: Statyka Prawa ruchu Moment bezwładności Energia ruchu obrotowego

TEORETYCZNE PODSTAWY INFORMATYKI

Robert Susmaga. Instytut Informatyki ul. Piotrowo 2 Poznań

Porównanie modeli statystycznych. Monika Wawrzyniak Katarzyna Kociałkowska

Metody analizy skupień Wprowadzenie Charakterystyka obiektów Metody grupowania Ocena poprawności grupowania

Analiza wariancji. dr Janusz Górczyński

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Plan wynikowy. Klasa III Technikum ekonomiczne. Kształcenie ogólne w zakresie rozszerzonym

1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba)

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,

Plan wynikowy. Klasa III Technik pojazdów samochodowych/ Technik urządzeń i systemów energetyki odnawialnej. Kształcenie ogólne w zakresie podstawowym

ROZKŁAD MATERIAŁU DO II KLASY LICEUM (ZAKRES ROZSZERZONY) A WYMAGANIA PODSTAWY PROGRAMOWEJ.

Zapisywanie algorytmów w języku programowania

TEORETYCZNE PODSTAWY INFORMATYKI

Transkrypt:

1 ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH WFAiS UJ, Informatyka Stosowana II stopień studiów

2 Eksploracja danych Algorytmy klastujące

Problem 3 Mając daną chmurę punktów chcielibyśmy zrozumieć ich strukturę

Bardziej formalnie 4 Mając dany zbiór punktów pomiarowych oraz podaną miarę odległości pomiędzy punktami pogrupuj dane w klastry Punkty należące do tego samego klastra powinny być podobne do siebie Punkty należące do dwóch różnych klastrów powinny się istotnie od siebie różnić Zazwyczaj: Punkty są w przestrzeni wielowymiarowej Podobieństwo jest zdefiniowane jako miara odległóości pomiędzy punktami Euklidesowa, Cosinus kąta, etc

Przykład klastrów 5

Problem jest nietrywialny 6

Gdzie jest trudność 7 Klastrowanie w dwóch wymiarach jest na ogół łatwe Klastrowanie małej ilości danych jest na ogół łatwe Wiele praktycznych zastosowań dotyczy problemów nie 2 ale 10 lub 10000 wymiarowych. W dużej ilości wymiarów trudność polega na fakcie że większość danych jest w tej samej odległości.

Przykład: klastowanie obiektów 8 widocznych na niebie: SkyCat Katalog 2 bilionów obiektów reprezentuje obiekty przez ich częstości emisji promieniowania w 7 zakresach Klastrowanie powinno grupować obiekty tego samego typu, np. galaktyki, gwiazdy, kwazary, etc.

Przykład: klastrowanie CD s 9 Intuicyjnie: muzyka może być klasyfikowana w kilka kategorii i kupujący na ogół preferują pewne kategorie. Na czym polegają te kategorie? A może klastrować CD s ze względu na kategorię osób które je kupują? Podobne CD s mają podobną grupę kupujących i odwrotnie

Przykład: klastrowanie 10 dokumentów Problem: pogrupuj razem dokumenty na ten sam temat. Dokumenty z podobnym zestawem słów prawdopodobnie są na ten sam temat. A może inaczej sformułować: temat to podobny zestaw słów który występuje w wielu dokumentach. Więc może należy grupować słowa w klastry i te klastry będą definiować tematy?

Miara odległości 11 Dokument: zbiór słów Jaccard odległość: podzbiór tych samych elementów Dokument: punkt w przestrzeni słów, (x 1,x 2,,x n ), gdzie x i = 1 jeżeli dane słowo występuje. Euklidesowa odległość Dokument: vector w przestrzeni słów (x 1,x 2,,x n ). Cosinus odległość: iloczyn skalarny unormowanych wektorów

Metody klastrowania 12 Hierarchiczne: Bottom-up Początkowo każdy punkt jest klastrem Łączymy dwa klastry o najmniejsze odległości w jeden klaster Powtarzamy iteracyjnie Top-down Startujemy z jednego wielkiego klastra Dzielimy na dwa klastry jeżeli spełnione pewne warunki Powtarzamy iteracyjnie aż osiągnięty inny warunek

Metody klastrowania 13 K-means: Zakładamy na ile klastrów chcemy pogrupować dane. Wybieramy początkowe centra klastrów. Przeglądamy listę punktów, przypisuje do najbliższego klastra. Powtarzamy iteracyjnie po każdej iteracji poprawiając położenie centerów klastrów.

14 Klastrowanie hierarchiczne Bottom-up klastrowanie

Klastrowanie hierarchiczne 15 Podstawowa operacja: iteracyjnie powtarzaj sklejanie dwóch klastrów w jeden. Podstawowe pytania: Jak reprezentować klaster który zawiera więcej niż jeden punkt? W jaki sposób zdefiniować dwa najbliższe klastry? Kiedy zatrzymać procedurę sklejającą?

Metryka Euklidesowa 16 Jak reprezentować klaster który zawiera więcej niż jeden punkt? Reprezentujemy każdy klaster przez położenie jego środka ciężkości wg. tej metryki. Nazywamy go centroid, czyli centrum klastra nie jest jednym z punktów danych. W jaki sposób zdefiniować dwa najbliższe klastry? Mierzymy odległość pomiędzy centrami klastrów, wybieramy najbliższe.

Przykład: 17

Metryka nie-euklidesowa 18 Jedyne położenia o których możemy mówić to punkty danych. Nie istnieje pojęcie średniej. Klaster reprezentowany przez jego punkt będący najbliżej wszystkich innych punktów. Najbliżej wg. zadanej metryki. Nazywamy go klastroid.

Metryka nie-euklidesowa 19

Metryka nie-euklidesowa 20 Klastroid: punkt najbliższy do wszystkich innych. Co to znaczy najbliższy? Najmniejsza maksymalna odległość od wszystkich innych Najmniejsza suma odległości od wszystkich innych Najmniejsza suma kwadrat ow odległości od wszystkich innych.

Kiedy zakończyć klastrowanie 21 Jeżeli oczekujesz że dane powinny się grupować w k klastrów zakończ jeżeli pogrupujesz w k- klastrów Zatrzymaj jeżeli kolejne klastrowanie doprowadza do klastrów o gorszej jakości: np. średnica (maksymalna odległość) większa niż wymagana granica Np. promień klastra większy niż wymagana granica Np. potęga promienia klastra większa niż wymagana granica.

Implementacja 22 Naiwna implementacja: w każdym kroku obliczaj odległość każdej pary klastrów a potem sklejaj: złożoność O(N 3 ) dla każdej iteracji Optymalna implementacja z wykorzystaniem kolejki priorytetowej: O(N 2 log N) Dalej złożoność zbyt duża dla dużych zbiorów danych lub danych nie mieszczących się w pamięci.

23 Klastrowanie k-means

K-mean algorytm 24 Zakłada metrykę euklidesową W pierwszym kroku wybieramy liczbę k-klastrów Wybieramy k- punktów danych będących reprezentami tych klastrów. Na razie załóżmy że wybieramy je losowo. Przeglądamy listę punktów danych i przyporządkowujemy do klastrów Updatujemy położenie centrów klastrów na podstawie punktów przypisanych do klastrów Powtarzamy operację przeglądania listy punktów, przypisujemy do najbliższych klastrów, punkty mogą migrować pomiędzy klastrami. Powtarzamy dopóki punkty nie przestają migrować

Przykład: k = 2 25

Przykład: przyporządkuj punkty 26

Przykład: popraw centra 27

W jaki sposób wybrać k 28 Spróbuj kilka różnych wartości, badaj jaka jest zmiana średniej odległości jak zwiększasz k

W jaki sposób wybrać k 29 Spróbuj kilka różnych wartości, badaj jaka jest zmiana średniej odległości jak zwiększasz k

W jaki sposób wybrać k 30 Spróbuj kilka różnych wartości, badaj jaka jest zmiana średniej odległości jak zwiększasz k

W jaki sposób wybrać k 31 Spróbuj kilka różnych wartości, badaj jaka jest zmiana średniej odległości jak zwiększasz k

32 W jaki sposób wybieramy początkowe punkty? Na podstawie podzbioru danych: Wybierz podzbiór danych, przeprowadź klastrowanie hierarchiczne aby otrzymać k-klastrów. Wybierz dla każdego punkt najbliższe do środka klastra Użyj tych punktów jako punktów startowych Najbardziej dalekie: Wybierz pierwszy punkt losowo Jako następny wybierz najbardziej od niego odległy Powtarzaj zawsze wybierając najbardziej odległy od już wybranych punktów, aż wybierzesz k-punktów

Złożoność obliczeniowa 33 Za każdym razem przeglądamy pełna listę punktów aby przypisać punkt do jednego z k- centrów Każda iteracja dla N punktów i k-centrów to O(N k) Liczna wymaganych iteracji może być bardzo duża. Czy moglibyśmy ten algorytm zrealizować tylko raz przeglądając dane?

34 Klastrowanie Algorytm BRF (Bradley- Fayyard-Reina)

Algorytm BRF 35 To jest wersja algorytmu k-means dla bardzo dużych zbiorów danych. Zakłada euklidesowa metrykę. Zakłada że dane w klastrze mają rozkład normalny względem centrum klastra i każdego wymiaru

BFR klastry 36 Z założenia o normalności rozkładu wynika że klastry wygladają jak elipsy o osiach równoległych do kierunków wymiarów.

BFR algorytm 37

BFR algorytm 38 Punkty danych przeglądane są tylko raz, na raz w pamięci tylko podzbiór danych Informacja o większości z punktów z każdej partii przechowywana w postaci kilku sumarycznych wielkości statystycznych. Na początku, z pierwszej partii punktów wybieramy k-centrów wg. jednej z poznanych metod.

Trzy klasy punktów 39 Odrzucone punkty (discard set DS): punkty będące blisko centrów klastrów tak że wystarczy zapisanie informacji sumarycznej Punkty w mini-klastrach (compression setcs): punkty które są blisko siebie ale ni blisko żadnego z centrów, zapisujemy tylko informację sumaryczną Punkty izolowane (retained set RS): przechowujemy izolowane punkty do następnego etapu.

Trzy klasy punktów 40

Sumaryczna informacja 41 Dla każdego klastra (DS) i każdego miniklastra (CS) przechowywana jest informacja sumaryczna: Liczba punktów N Wektor d-wymiarowy SUM, każda współrzędna to suma odległości punktów klastra od centrum w danym wymiarze Wektor d-wymiarowy SUMSQ, każda współrzędna to suma kwadratów odległości punktów klastra od centrum w danym wymiarze

Sumaryczna informacja 42 2d + 1 wartości reprezentuje każdy klaster i miniklaster Średnia w każdym wymiarze (centroid) może być przeliczona jako SUM i /N Wariancja w kaśdym wymiarze może być przeliczona jako (SUMSQ i /N) (SUM i /N)2

Procesowanie porcji danych 43 Sprawdź czy punkt jest wystarczajaco blisko do DS lub CS klastra, wybierz najbliższy, dodaj do sumarycznej informacji a następnie usuń punkt z pamięci. Jeżeli punkt nie był wystarczająco blisko sprawdź czy możesz utworzyć nowy CS klaster przeglądając RS punkty. Jeżeli nie zapamiętaj ten punkt jako nowy RS punkt. Po ostatniej iteracji posklejaj wszystkie CS i RS do najbliższych DS. Ostatecznie utworzone zostanie tylko k klastrów.

Mahalanobis odległość 44 Co to znaczy że punkt jest wystarczająco blisko? Klaster C ma centroid w (c 1, c 2,, c d ) i odchylenie standardowe (s 1, s 2,, s d ) Rozważany punkt P = (x 1, x 2,, x d ) Znormalizowana odległość: y i = (x i c i ) /s i MD punktu P od klastra C:

Mahalanobis warunek 45 Przypuśćmy że punkt P jest w odległości jednego odchylenia standardowego od centrum w każdym wymiarze. Każdy y i = 1 i wówczas MD = sqrt(d) Akceptuj punkt P do klastra C jeżeli np. wartość MD < 3 sqrt(d)

Kiedy sklejać dwa CS 46 Policz wariancję dla sklejonych klastrów, sklej jeżeli wariancja poniżej wartości granicznej. Możliwe inne warunki: Gęstość klastra Odległości mogą mieć inną wagę dla każdej współrzędnej Itd..

47 Algorytm CURE

Ograniczenia algorytmu BFR 48 Silne założenia: Normalny rozkład punktów w każdym wymiarze Osie wzdłuż osi współrzędnych

Algorytm CURE 49 CURE ( Clustering Usinh Representatives): Zakłada metrykę Euklidesową Dopuszcza klastry różnych kształtów Używa podzbiór punktów do reprezentowania klastra

Przykład: płace w Standford 50

Algorytm CURE 51 Pierwsze przejrzenie danych Wybierz podzbiór danych który mieści się w pamięci Przeprowadź klastrowanie hierarchiczne tego podzbioru danych. Wybierz k-punkty reprezentujące klaster (np. k=4), jak najbardziej od siebie odległe Utwórz sztuczne punkty przez przesunięcie wybranych np. o 20% w stronę centrum klastra

Przykład: początkowe klastry 52

53 Przykład: wybór reprezentatywnych punktów

54 Przykład: wybór reprezentatywnych punktów

Algorytm CURE 55 Drugie przejrzenie danych Teraz przejrzyj całość danych Umieść punkt w najbliższym klastrze: do określenia najbliższy użyj dla każdego klastra reprezentatywnych punktów I to już jest koniec!