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

Podobne dokumenty
Analiza skupień. Idea

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

CLUSTERING II. Efektywne metody grupowania danych

METODY INŻYNIERII WIEDZY

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

METODY INŻYNIERII WIEDZY

KLASYFIKACJA. Słownik języka polskiego

Gęstościowe grupowanie danych i wyznaczanie najbliższego sąsiedztwa z użyciem nierówności trójkąta

GĘSTOŚCIOWA METODA GRUPOWANIA I WIZUALIZACJI DANYCH ZŁOŻONYCH

Adrian Horzyk

Zastosowanie algorytmu DBSCAN do grupowania danych rozproszonych

Próba formalizacji doboru parametrów generalizacji miejscowości dla opracowań w skalach przeglądowych

CLUSTERING. Metody grupowania danych

WYBÓR ALGORYTMU GRUPOWANIA A EFEKTYWNOŚĆ WYSZUKIWANIA DOKUMENTÓW

Hierarchiczna analiza skupień

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

Zastosowanie analizy rozkładu punktów (Point Pattern Analisys) w badaniach osadniczych. Jarosław Jasiewicz Iwona Holdebrandt-Radke

Implementacja wybranych algorytmów eksploracji danych na Oracle 10g

Optymalizacja. Przeszukiwanie lokalne

Techniki grupowania danych w środowisku Matlab

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

Interaktywne wyszukiwanie informacji w repozytoriach danych tekstowych

METODY INŻYNIERII WIEDZY

Analiza Skupień - Grupowanie Zaawansowana Eksploracja Danych

4.3 Grupowanie według podobieństwa

NARZĘDZIA BADAWCZE W QGIS LOSOWANIE PUNKTÓW NA WARSTWIE LINIOWEJ

RMSD - Ocena jakości wybranych molekularnych struktur przestrzennych

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

Algorytm grupowania danych typu kwantyzacji wektorów

Outlier to dana (punkt, obiekt, wartośd w zbiorze) znacznie odstająca od reszty. prezentacji punktów odstających jest rysunek poniżej.

Naszym zadaniem jest rozpatrzenie związków między wierszami macierzy reprezentującej poziomy ekspresji poszczególnych genów.

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

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

Wprowadzenie do technologii informacyjnej.

Analiza Skupień Cluster analysis

Systemy uczące się Lab 4

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

Zamiana reprezentacji wektorowej na rastrową - rasteryzacja

Przestrzeń algorytmów klastrowania

OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak

Nowe narzędzia zarządzania jakością

Wyszukiwanie informacji w internecie. Nguyen Hung Son

1. Grupowanie Algorytmy grupowania:

Generowanie ciągów pseudolosowych o zadanych rozkładach przykładowy raport

Algorytmy rekonstrukcji dżetów w CMS

Podstawy grupowania danych w programie RapidMiner Michał Bereta

Analiza skupień. Idea

Wykrywanie anomalii w zbiorze danych o dużym wymiarze

Wykład 4 Związki i zależności

Ocena jakości modeli strukturalnych białek w oparciu o podobieństwo strukturalne i semantyczny opis funkcji w ontologii GO

Wybór / ocena atrybutów na podstawie oceny jakości działania wybranego klasyfikatora.

Praca dyplomowa magisterska

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Sztuczna inteligencja : Algorytm KNN

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

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

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

Proste metody przetwarzania obrazu

MultiSETTER: web server for multiple RNA structure comparison. Sandra Sobierajska Uniwersytet Jagielloński

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Systemy GIS Tworzenie zapytań w bazach danych

Agnieszka Nowak Brzezińska

Interpolacja krzywymi sklejanymi stopnia drugiego (SPLINE-2)

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

Kalkulator EWD 100 co warto wiedzieć? materiały Pracowni EWD

Analiza Danych Sprawozdanie regresja Marek Lewandowski Inf 59817

Logika funkcji. Modelowanie SI - GHJ 1

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Agnieszka Nowak Brzezińska Wykład III

STUDIA INFORMATICA 2011 Volume 32 Number 2A (96)

Wykład 3 Składnia języka C# (cz. 2)

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

4. Funkcje. Przykłady

Asocjacyjna reprezentacja danych i wnioskowanie

WYDZIAŁ MATEMATYKI KARTA PRZEDMIOTU

Algorytm SAT. Marek Zając Zabrania się rozpowszechniania całości lub fragmentów niniejszego tekstu bez podania nazwiska jego autora.

1. Eliminuje się ze zbioru potencjalnych zmiennych te zmienne dla których korelacja ze zmienną objaśnianą jest mniejsza od krytycznej:

Katedra Elektrotechniki Teoretycznej i Informatyki

Implementacja filtru Canny ego

2.8. Algorytmy, schematy, programy

Wielokryteriowa optymalizacja liniowa cz.2

Politechnika Wrocławska, Katedra Inżynierii Biomedycznej Systemy Pomiarowo-Diagnostyczne, laboratorium

VII. WYKRESY Wprowadzenie

7. Estymacja parametrów w modelu normalnym( ) Pojęcie losowej próby prostej

Przykład Rezygnacja z usług operatora

Propensity score matching (PSM)

Metody eksploracji danych 7. Grupowanie. Piotr Szwed Katedra Informatyki Stosowanej AGH 2018

Metody numeryczne I Równania nieliniowe

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

WYKORZYSTANIE MES DO WYZNACZANIA WPŁYWU PĘKNIĘCIA W STOPIE ZĘBA KOŁA NA ZMIANĘ SZTYWNOŚCI ZAZĘBIENIA

Co to jest grupowanie

Zachowania odbiorców. Grupa taryfowa G

A Zadanie

Analiza obciążeń baneru reklamowego za pomocą oprogramowania ADINA-AUI 8.9 (900 węzłów)

Estymacja parametrów w modelu normalnym

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Prawdopodobieństwo czerwonych = = 0.33

Transkrypt:

DBSCAN segmentacja danych punktowych oraz rastrowych w środowisku wolnodostępnego oprogramowania R Mgr inż. Agnieszka Ochałek Narzędzia informatyczne w badaniach naukowych Wydział Geodezji Górniczej i Inżynierii Środowiska Katedra Ochrony Terenów Górniczych, Geoinformacji i Geodezji Górniczej Kraków 12.01.2018 r.

KONCEPCJA ALGORYTMÓW GĘSTOŚCIOWYCH GRUPOWANIA DANYCH Analiza skupień (grupowanie obiektowe, ang. cluster analysis) jest zadaniem eksploracji danych, które polega na dzieleniu zbioru danych na grupy w taki sposób, by elementy w tej samej grupie były do siebie podobne, a jednocześnie jak najbardziej odmienne od elementów z pozostałych grup. Przykładowe algorytmy grupowania danych: Algorytmy oparte na podziale (K-means, PAM clustering) Algorytmy hierarchiczne Algorytmy oparte na gęstościach (ang. density-based algorithms) (DBSCAN, OPTICS, DENCLUE) Algorytmy gęstościowe jest to grupa algorytmów, która obok pojęcia odległości wykorzystuje pojęcie gęstości. Główną ideą takich algorytmów jest obserwacja, że wewnątrz grup gęstość punktów jest znacznie większa niż poza nimi. Oznacza to, że dopóki liczba obiektów wokół klastra jest duża (z zadanym parametrem) klaster ten będzie się powiększał. Zalety algorytmów gęstościowych: Nie wymagają od użytkownika określenia liczby generowanych klastrów. Znajdują dowolny kształt klastrów - klaster nie musi być sferyczny. Identyfikują wartości odstające ( szumy ).

BIBLIOTEKA DBSCAN - DENSITY BASED CLUSTERING OF APPLICATIONS WITH NOISE AND RELATED ALGORITHMS Wersja: 1.1-1 Data: 19.03.2017 r. Autorzy: Michael Hahsler, Matthew Piekenbrock, Sunil Arya, David Moun Opis: Biblioteka zawierająca kilka algorytmów grupowania danych przestrzennych opartych na gęstości. Obejmuje algorytmy: DBSCAN (density-based spatial clustering of applications with noise), OPTICS (ordering points to identify the clustering structure), HDBSCAN (hierarchical DBSCAN) LOF (local outlier factor) GLOSH (Global-Local Outlier Score). Biblioteka używa struktury kd-tree (z biblioteki ANN) do szybszego wyszukiwania najbliższego sąsiada (k-nearest neighbor - knn). Wyszukiwanie najbliższego sąsiada knn oraz sąsiada po określonym promieniu (fixed-radius NN) jest zapewnione przez Jarvis-Patrick clustering oraz Shared Nearest Neighbor Clustering. Dodatkowo, możliwe jest wykorzystanie algorytmu Framework for Optimal Selection of Clusters (FOSC), który obsługuje nienadzorowane i półnadzorowane grupowanie hierarchiczne przy użyciu drzewa klastrów (obiekt "hclust"). Obsługuje dowolne kryterium powiązania.

BIBLIOTEKA DBSCAN - DENSITY BASED CLUSTERING OF APPLICATIONS WITH NOISE AND RELATED ALGORITHMS 18 FUNKCJI Algorytmy grupowania danych Funkcje związane z poszukiwaniem NN (Nearest Neighbour) Pozostałe funkcje związane z grupowaniem danych Funkcje przywołujące zestawy danych i wspomagające wizualizację otrzymanych wyników grupowania dbscan NN lof moons extractfosc frnn pointdensity DS3 OPTICS knn hullplot GLOSH knndist reachability hdbscan snn jpclust snnclust

ALGORYTMY GRUPOWANIA DANYCH dbscan - Density-based spatial clustering of applications with noise extractfosc - Framework for Optimal Selection of Clusters OPTICS - Ordering points to identify the clustering structure GLOSH - Global-Local Outlier Score from Hierarchies hdbscan hierarchiczny DBSCAN jpclust - Jarvis-Patrick Clustering

FUNKCJE ZWIĄZANE Z POSZUKIWANIEM NN (NEAREST NEIGHBOUR) frnn - Find the Fixed Radius Nearest Neighbors funkcja używa struktury kd-tree do odnajdywania najbliższych sąsiadów (wraz z odległościami) przy podaniu określonego promienia wyszukiwania. frnn(x, eps, sort = TRUE, search = "kdtree", bucketsize = 10, splitrule = "suggest", approx = 0) knn - Find the k Nearest Neighbors - używa struktury kd-tree do znalezienia wszystkich k-najbliższych sąsiadów w macierzy danych (łącznie z odległościami). Funkcja szybka dla dużej ilości danych. knn(x, k, sort = TRUE, search = "kdtree", bucketsize = 10, splitrule = "suggest", approx = 0) NN - Nearest Neighbors Auxiliary Functions funkcja pomocnicza dla funkcji knn oraz fnn. Zwraca listę przyległości (adjacency list) dla każdego oryginalnego punktu danych. Lista zawiera numery identyfikacyjne najbliższych sąsiadów wszystkich punktów. Lista przyległości przykładowo może zostać użyta do stworzenia wykresu obiektu. knndist - Calculate and plot the k-nearest Neighbor Distance pozwala na szybkie wyznaczenie odległości k-najbliższych sąsiadów w macierzy punktów. Wykres stworzony na bazie funkcji może być używany do pomóc w znalezieniu odpowiedniej wartości parametru eps dla funkcji DBSCAN (szukanie kolana w wykresie). snn - Shared Nearest Neighbors pozwala na wyznaczenie liczby wspólnych najbliższych sąsiadów. Liczba współdzielonych najbliższych sąsiadów jest przecięciem sąsiedztwa knn dwóch punktów. Każdy punkt jest uważany za część jego własnej dzielnicy knn. Zakres współdzielenia sąsiadów to [0, k]. snnclust - Shared Nearest Neighbor Clustering wyszukiwanie współdzielonych najbliższych sąsiadów na podstawie algorytmu Ertoza, Steinbacha i Kumara.

FUNKCJA KNN PRZYKŁAD # wczytanie danych punktowych, np. miasta Polski przy użyciu biblioteki world cities data("world.cities") PL <- world.cities %>% filter(country.etc == "Poland") # wybranie odpowiednich danych do macierzy x <- select(pl, lat, long) # bezpośrednie znajdowanie knn w danych (przy użyciu kd-tree) nn <- knn(x, k=5) # wizualizacja 5 najbliższych sąsiadów plot(nn, x) # wizualizacja 2-NN sąsiadów plot(knn(nn, k = 2), x)

FUNKCJE PRZYWOŁUJĄCE ZESTAWY DANYCH I WSPOMAGAJĄCE WIZUALIZACJĘ OTRZYMANYCH WYNIKÓW GRUPOWANIA moons - Moons Data - zbiór 100 punktów 2d, z których połowa jest zawarta w dwóch księżycach (po 25 punktów każdy), a drugą połowa w asymetrycznych kształtach półksiężyca. Wszystkie trzy kształty są liniowo rozdzielne. DS3: Spatial data with arbitrary shapes zbiór 8000 punktów 2d z naturalnie wyglądającymi kształtami. Pierwotnie używany jako zestaw danych porównawczych dla algorytmu grupowania Chameleon do zilustrowania zestawu danych, który zawieraja dowolnie ukształtowane dane przestrzenne otoczone zarówno szumem, jak i artefaktami. hullplot - Plot Convex Hulls of Clusters - tworzy dwuwymiarowy wykres punktowy z dodanymi wypukłymi pokrywami dla klastrów. reachability - Density Reachability Structures - zapewnia ogólne funkcje reprezentowania hierarchicznego grupowania jako "wykresy osiągalności (dendrogramy).

FUNKCJE ZWIĄZANE Z ALGORYTMAMI GRUPOWANIA DANYCH LOF - Local Outlier Factor Score funkcja wykorzystywana do przyspieszenia działania knn. Oblicza współczynnik odchylenia lokalnego. LOF porównuje lokalną gęstość punktu do lokalnych gęstości jego sąsiadów. Wskazuje to mają znacznie niższą gęstość niż ich sąsiedzi są uważane za wartości odstające. Wynik LOF około 1 oznacza, że gęstość wokół punktu jest porównywalna z sąsiadami. Wyniki znacznie większy niż 1 wskazuje wartości odstające. pointdensity - Calculate Local Density at Each Data Point - oblicza gęstość lokalną w każdym punkcie danych jako: liczba punktów w sąsiedztwie eps (jak w funkcji DBSCAN) kernel density estimate (kde) of uniform kernel.

FUNKCJA DBSCAN Funkcja wykorzystuje algorytm gęstościowy grupowania danych DBSCAN przy użyciu struktury kd-tree (struktura danych używana do dzielenia przestrzeni). Funkcja jest szybsza i działa dla większej ilości danych niż dbscan w bibliotece fpc. Funkcja oparta na algorytmie opisanym w 1996 roku przez Martina Estera, Hansa-Petera Kriegela, Joerga Sandera, Xiaowei Xu w artykule A Density- Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise.

SKŁADNIA FUNKCJI DBSCAN dbscan(x, eps, minpts = 5, weights = NULL, borderpoints = TRUE,...) X eps minpts macierz, ramka danych, obiekt dist (dissimilarity matrix). Alternatywnie, można użyć obiektu fnn (z określonym promieniem najbliższego sąsiada). W tym wypadku eps może zostać pominięte, ponieważ zostanie pobrane z obiektu fnn. maksymalny promień sądziedztwa. minimalna liczba obiektów w regionie określonego eps. Domyślnie 5 punktów. weights parametr numeryczny; wagi dla danych punktów. Wymagane tylko do wykonywania grupowania ważonego. borderpoints parametr logiczny; ustalenie punktów granicznych. Domyślnie ustawiona wartość TRUE. Jeśli FALSE, to punkty graniczne uznawane są za szum. - dodatkowe argumenty przekazywane do algorytmu frnn.

ALGORYTM DBSCAN W R DBSCAN jako wejście przyjmuje dwa parametry. Pierwszy z nich to minimalna ilość punktów wymagana do utworzenia grupy oznaczany (minpts), natomiast drugi to maksymalny promień sąsiedztwa (Eps). Samo sąsiedztwo (lub otoczenie) jest to zbiór punktów D leżących w odległości mniejszej bądź równiej Eps od danego punktu p i jest definiowane jako: gdzie d(p,q) odległość między punktami p i q. Rdzeń (ang. core point) punkt p spełniający warunek taki, że w jego epsilonowym sąsiedztwie znajduje się co najmniej minpts punktów. Punkt graniczny (ang. border point) punkt, który nie jest rdzeniem ale jest osiągalny z innego rdzenia. Szum (ang. noise) jest to podzbiór wszystkich punktów z bazy danych nie należący do żadnej znalezionej grupy.

PRZYKŁADY - DBSCAN # STWORZENIE PRZYKŁADOWEGO ZBIORU DANYCH set.seed(665544) n <- 600 x <- cbind(runif(10, 0, 10) + rnorm(n, sd=0.2), runif(10, 0, 10) + rnorm(n, sd=0.2)) View(x) plot (x) #URUCHOMIENIE FUNKCJI DBSCAN ds <- dbscan(x, eps = 0.2) # WIZUALIZACJA plot(ds, x) #WYWOŁANIE INFORMACJI O KLASTRACH ds

PRZYKŁADY - DBSCAN # WCZYTANIE PRZYKŁADOWEGO ZBIORU DANYCH (BIBLIOTEKA FACTOREXTRA) data("multishapes", package = "factoextra") dane <- multishapes[, 1:2] plot(dane) #URUCHOMIENIE FUNKCJI DBSCAN db <- dbscan(dane, eps = 0.15, MinPts = 5) # WIZUALIZACJA plot(db, dane) #WYWOŁANIE INFORMACJI O KLASTRACH db A CO Z USTALENIEM OPTYMALNEGO EPS?

USTALENIE OPTYMALNEGO PARAMETRU EPS Metoda polega na obliczeniu odległości knn w macierzy punktów. Wartość k jest określona przez użytkownika i odpowiada MinPts. Następnie te odległości k są nanoszone w kolejności rosnącej na wykres. Celem jest określenie "kolana", które odpowiada optymalnemu parametrowi eps. Kolano odpowiada progowi, w którym następuje ostra zmiana wzdłuż krzywej k- odległości. Funkcji knndistplot () można użyć do narysowania wykresu odległości k: knndist - Calculate and plot the k-nearest Neighbor Distance pozwala na szybkie wyznaczenie odległości k-najbliższych sąsiadów w macierzy punktów. Wykres stworzony na bazie funkcji może być używany do pomóc w znalezieniu odpowiedniej wartości parametru eps dla funkcji DBSCAN (szukanie kolana w wykresie). knndistplot(dane, k = 5)

Dziękuję za uwagę! Mgr inż. Agnieszka Ochałek Narzędzia informatyczne w badaniach naukowych Wydział Geodezji Górniczej i Inżynierii Środowiska Katedra Ochrony Terenów Górniczych, Geoinformacji i Geodezji Górniczej Kraków 12.01.2018 r.