Praca dyplomowa magisterska

Wielkość: px
Rozpocząć pokaz od strony:

Download "Praca dyplomowa magisterska"

Transkrypt

1 WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI, INFORMATYKI I INŻYNIERII BIOMEDYCZNEJ KATEDRA Automatyki i Robotyki Praca dyplomowa magisterska Analiza położenia użytkownika sieci geo-społecznościowej Analysis of users location data in geo-social networks Autor: Kierunek studiów: Opiekun pracy: Łukasz Trojanowski Automatyka i Robotyka dr hab. Adrian Horzyk Kraków, 2016

2 Uprzedzony o odpowiedzialności karnej na podstawie art. 115 ust. 1 i 2 ustawy z dnia 4 lutego 1994 r. o prawie autorskim i prawach pokrewnych (t.j. Dz.U. z 2006 r. Nr 90, poz.631 z późn. zm.): Kto przywłaszcza sobie autorstwo albo wprowadza w błąd co do autorstwa całości lub części cudzego utworu albo artystycznego wykonania, podlega grzywnie, karze ograniczenia wolności albo pozbawienia wolności do lat 3. Tej samej karze podlega, kto rozpowszechnia bez podania nazwiska lub pseudonimu twórcy cudzy utwór w wersji oryginalnej albo w postaci opracowania, artystyczne wykonanie albo publicznie zniekształca taki utwór, artystyczne wykonanie, fonogram, wideogram lub nadanie., a także uprzedzony o odpowiedzialności dyscyplinarnej na podstawie art. 211 ust. 1 ustawy z dnia 27 lipca 2005 r. Prawo o szkolnictwie wyższym (t.j. Dz. U. z 2012 r. poz. 572, z późn. zm.) Za naruszenie przepisów obowiązujących w uczelni oraz za czyny uchybiające godności studenta student ponosi odpowiedzialność dyscyplinarną przed komisją dyscyplinarną albo przed sądem koleżeńskim samorządu studenckiego, zwanym dalej sądem koleżeńskim, oświadczam, że niniejszą pracę dyplomową wykonałem(-am) osobiście i samodzielnie i że nie korzystałem(-am) ze źródeł innych niż wymienione w pracy. Łukasz Trojanowski Serdecznie dziękuję dr hab. Adrianowi Horzykowi za sprawowanie opieki nad tą pracą magisterską oraz wszystkim pozostałym prowadzącym, których wkład w moje wykształcenie przyczynił się do jej powstania.

3 Spis treści 1 Wstęp Zastosowania Wstęp Przykłady zastosowań Zbieranie lokalizacji użytkowników Aplikacja na telefon z systemem android Logowanie danych na serwerze Klasteryzacja Wstęp Przegląd algorytmów Algorytmy oparte na dzieleniu Hierarchiczne metody klasteryzacji Metody analizy zwartości Porównanie wyników uzyskanych za pomocą wybranych algorytmów Algorytmy oparte na dzieleniu Algorytmy hierarchiczne Algorytmy oparte na analizie zwartości Podsumowanie analizy algorytmów klasteryzacji Predykcja ruchu Wstęp Definicje Utworzenie macierzy przejść Podsumowanie predykcji ruchu Podsumowanie Bibliografia Dodatek... 57

4

5 1 Wstęp Wraz z rozpowszechnieniem się smartfonów możliwe stało się łatwe zbieranie danych o lokalizacji ich użytkowników. Aplikacje coraz częściej dopasowują treść i zachowanie do miejsca, w którym znajduje się użytkownik. Smartfon ma potencjał, aby w przyszłości stać się kieszonkowym asystentem. Aby systemy takie mogły działać, konieczne jest zrozumienie sytuacji, w której użytkownik się znajduje. Celem tej pracy jest eksploracja rozwiązań służących tworzeniu takich systemów oraz implementacja i analiza jakościowa takiego rozwiązania. System taki wymaga rozpoznawania zarówno miejsc, jak i stworzenia modeli predykcyjnych, przewidujących dalsze działania użytkownika. Miejscem w tej pracy nie będzie duży obszar, jak np. miasto albo dzielnica, ale raczej obszar na tyle mały, aby można go było przybliżyć w postaci punktu na mapie o określonej szerokości i długości geograficznej. Następnie w oparciu o wykryte miejsca, utworzony zostanie probabilistyczny model ruchu użytkownika. Pod względem tematyki, praca zawiera w sobie dwie gałęzie badań, które choć w tej pracy tworzą całość, często są również opisywane odrębnie. Pierwszą z nich jest klasteryzacja, drugą tworzenie modeli predykcyjnych. Praca zawiera również rozdziały dotyczące sposobu uzyskania danych i zastosowań opisywanych w niej zagadnień. W celu implementacji zostały użyte następujące języki programowania: Java do wykonania aplikacji na telefon, Scala wykorzystana do utworzenia części serwerowej, środowisko i język R użyty w celu analizy zebranych danych i wizualizacji wyników.

6

7 2 Zastosowania 2.1 Wstęp Aby technologia naprawdę wspomagała nas w życiu codziennym, a nie irytowała niepotrzebnymi powiadomieniami, musi posiadać pewną wiedzę na temat jej użytkownika. Inteligentna aplikacja powinna zrozumieć lub co najmniej w pewnym stopniu przewidzieć działania użytkownika. Tworzenie modelów użytkownika jest podstawą zrozumienia jego działań i podstawą tworzenia takich rozwiązań. W tej pracy modelem użytkownika będzie zbiór danych o jego lokalizacji, który mając do dyspozycji ograniczone aktualne informacje o użytkowniku jest w stanie przewidzieć, co dany użytkownik zrobi w bliskiej przyszłości. 2.2 Przykłady zastosowań Istnieje wiele przykładów zastosowań modelowania ruchu ludzi. W sposób najbardziej ogólny można by je było podzielić na dwie główne kategorie: z pojedynczym użytkownikiem tworzącym model (niewymagające kooperacji), z wieloma użytkownikami tworzącymi model (wymagające kooperację). Przykładami pierwszego typu aplikacji mogą być najróżniejsze aplikacje przypominające o wykonaniu określonej czynności. Może to być przypomnienie o oddaniu książki do biblioteki jeszcze zanim użytkownik wyjdzie z domu, w sytuacji, gdy prawdopodobieństwo jest wysokie, że będzie ją mijał. Możemy sobie wyobrazić jeszcze wiele sytuacji, w których przypomnienie mogłoby być skojarzone z jakimś miejscem lub przyszłym wydarzeniem. Innym przykładem zastosowania takich modeli może być optymalizacja przesyłu danych z telefonów komórkowych. Zużycie baterii często może rosnąć nawet z czwartą potęgą odległości do źródła sygnału. Jeśli więc przewidujemy, na podstawie modelu o użytkowniku, że z wysokim prawdopodobieństwem uda się on w miejsce, gdzie sygnał będzie lepszy, możemy opóźnić synchronizację danych oszczędzając energię. To samo rozwiązanie można wykorzystać do zmniejszenia kosztów transmisji danych poprzez sieć komórkową, opóźniając przesył danych, gdy prawdopodobieństwo jest wysokie, że użytkownik niedługo znajdzie się w zasięgu sieci bezprzewodowej. Połączenie informacji wielu użytkowników umożliwia wiele ciekawych rozwiązań. Łatwo możemy sobie wyobrazić aplikację umożliwiającą sprawdzenie, z jakim prawdopodobieństwem spotkam dzisiaj określonego znajomego. Aplikacja taka nie byłaby również inwazyjna pod względem prywatności, określając jedynie prawdopodobieństwo spotkania, a nie gdzie i kiedy daną osobę spotkamy. Rozwiązania wykorzystujące informacje o zwyczajach użytkowników wykorzystywane są też do znajdywania osób o podobnych zainteresowaniach. Informacje te następnie wykorzystywane są do zasilania systemów rekomendacji reklam, wykorzystując prostą zasadę, że jeśli dwie osoby mają podobne zainteresowania, to kliknięcie przez jedną z nich w reklamę zwiększa prawdopodobieństwo, że druga zrobi to samo. Złożenie informacji o przewidywanym ruchu wielu użytkowników, mogłoby też umożliwić poznanie z wyprzedzeniem miejsc, w których może dojść do przeciążenia dróg lub komunikacji miejskiej. Wiedza taka mogłaby być wykorzystana do poprawy poszczególnych połączeń w celu eliminacji często pojawiających się problemów w komunikacji lub wysłanie ostrzeżenia o niebezpieczeństwie utrudnień w komunikacji i rekomendacji innych połączeń.

8

9 3 Zbieranie lokalizacji użytkowników Celem umożliwienia wykonania opisanych we wstępie pracy zadań, czyli nauki istotnych dla użytkownika lokalizacji oraz dokonania przewidywań na temat jego przyszłych działań, konieczne było uprzednie zebranie danych o lokalizacji w czasie danej osoby. Choć istniejące sieci społecznościowe udostępniają już przetworzone informacje o miejscach, które dla ogółu jej społeczności są istotne, to z oczywistych powodów ochrony prywatności, informacje o lokalizacji pojedynczych użytkowników nie są dostępne. Potrzebne było więc samodzielne zebranie tych danych. W literaturze do tego celu często wykorzystywane były małe urządzenia wykorzystujące sygnał GPS do lokalizowania, zwane GPS-trackerami. Tego typu sprzęt, choć ma zalety, takie jak długie nieprzerwane działanie baterii i dobra dokładność, posiada również poważną wadę, czyli stosunkowo dużą cenę. Dlatego w tej pracy do zbierania lokalizacji użytkowników napisana została aplikacja na telefony z systemem android oraz aplikacja serwerowa zbierająca te dane. Obie aplikacje zostały opisane dokładniej w kolejnym paragrafie. 3.1 Aplikacja na telefon z systemem android W pracy tej nie zostanie dokonany szczegółowy opis aplikacji na telefon. Zdaniem autora wgłębianie się w szczegóły związane z wyborem platformy systemowej nie zwiększyłyby walorów naukowych pracy. Zwrócona zostanie jedynie uwaga na elementy uniwersalne dla wszystkich aplikacji mobilnych mających na celu zbieranie i logowanie na centralnym serwerze informacji o użytkowniku, w szczególności informacji o lokalizacji. Przy programowaniu aplikacji mobilnych warto zawsze mieć na uwadze trzy podstawowe elementy charakterystyczne tego typu platform, tj. ograniczona moc elementów obliczeniowych, ograniczona pamięć oraz działanie bez doładowania baterii. Dlatego aplikacje pisane z myślą o platformach mobilnych muszą być pisane w sposób unikający wykonywania skomplikowanych obliczeń oraz oszczędzający energię. W przypadku aplikacji logującej pozycję użytkownika, dokonywane to jest w następujący sposób. Minimalizowana jest częstość przesyłania informacji na serwer. Informacje o lokalizacji zbierane są w pamięci urządzenia i przesyłane w dłuższych np. dziennych interwałach. W tym miejscu warto zaznaczyć, że ograniczona jest również pamięć urządzenia, dlatego zbyt rzadkie logowanie danych nie jest dopuszczalne. Oprócz rzadkiego synchronizowania danych, warto również zostawić systemowi operacyjnemu pewną dowolność w wyborze momentu przesyłu danych. Umożliwia to przesyłanie danych jedynie wtedy, kiedy sygnał sieci jest mocny, co również wiąże się z oszczędnością energetyczną. Kolejnym elementem, na który należy zwrócić uwagę jest rozsądne pod względem zużycia energii zbieranie danych o lokalizacji. Choć najdokładniejszym sposobem uzyskania lokalizacji jest moduł GPS, nie nadaje się on sam w sobie do zbierania informacji o lokalizacji w sposób energooszczędny. Dlatego stosowane jest rozwiązanie hybrydowe, które w systemie Android nazywa się FusedLocationProvider. Wykorzystuje ono nie tylko moduł GPS, ale również sygnał z sieci telefonii komórkowej oraz sygnał znanych mu sieci WIFI, w celu ustalenia lokalizacji. Interwał próbkowania lokalizacji, który przy umiarkowanym korzystaniu z telefonu wciąż umożliwia cały dzień jego pracy, został dobrany eksperymentalnie i wynosi ok. 4 minuty. Również tutaj, dla zmniejszenia zużycia energii, zdecydowano się na pozostawienie systemowi pewnej dowolności w momencie sprawdzenia lokalizacji.

10 3.2 Logowanie danych na serwerze Część serwerowa aplikacji została napisana w języku Scala przy wykorzystaniu bazy danych Cassandra. Wybór tego języka i bazy danych dokonany został, aby jak najlepiej przybliżyć pracę do rozwiązań stosowanych w przemyśle. Przy dużych ilościach danych, ich przechowywanie na jednym serwerze, przestaje być możliwe. Wybrana baza zapewnia liniową skalowalność na wielu maszynach i odporność na błędy. Podobnie język Scala, przez dostępność w nim frameworku Akka, umożliwia stosunkowo łatwe pisanie aplikacji rozproszonych na wielu maszynach. Choć nie nastała taka potrzeba, wybór tej bazy danych i języka umożliwiłby więc skalowalność aplikacji na wiele maszyn.

11 4 Klasteryzacja 4.1 Wstęp Interesujący nas w tej pracy model ruchu użytkownika wymaga w pierwszym rzędzie odnalezienie istotnych dla użytkownika miejsc. Ponieważ poszczególne pomiary lokalizacji użytkownika dokonywane są z dokładnością ok. 20 metrów, rozpatrywanie pojedynczych pomiarów jako miejsca, byłoby błędnym krokiem. Nawet jeśli użytkownik codziennie zatrzyma się w ściśle określonym miejscu na 10 minut, w wyniku tego nie otrzymamy pomiarów z dokładnie tego samego miejsca, a raczej grupę punktów znajdujących się blisko siebie. Za istotne miejsca przyjmujemy miejsca, w których użytkownik spędza nieco czasu. Jest mało prawdopodobnym, że miejsce, w którym użytkownik nigdy się nie zatrzymuje ma dla niego jakieś znaczenie. Oczekujemy więc, że będziemy w stanie rozpoznać grupy punktów leżące blisko siebie jako miejsca. W celu odnalezienie istotnych miejsc, wykorzystana zostanie klasteryzacja zebranych danych. Wybór odpowiedniej do tego celu metody klasteryzacji z wybranego zbioru algorytmów klasteryzacji jest tematem tego podrozdziału. Pod pojęciem klasteryzacja, zwanym też analizą skupień, rozumie się metody odkrywania podobnych struktur w (często dużych) zbiorach danych. Algorytmy klasteryzacji należą do działu algorytmów uczenia maszynowego bez nauczyciela. Ich celem jest identyfikacja nowych grup w zbiorach danych, a nie kategoryzacja, dlatego nie wymagają one wstępnych informacji o zbiorze danych. 1 Algorytmy klasteryzacji nie są nowością, jednak badania nad efektywną i szybką klasteryzacją dużych zbiorów danych stały się popularne dopiero razem z pojawieniem się, tak zwanej eksploracji danych (ang. data mining), jako jeden z etapów wydobywania wiedzy z baz danych. Klasteryzacja przestrzenna to podrodzaj klasteryzacji, w której co najmniej jedna składowa grupowanych zmiennych jest natury przestrzennej 2. Przy wyborze algorytmu klasteryzacji należy uwzględnić wiele czynników, do najważniejszych należą 3 : 1. Cel aplikacji Cel aplikacji będzie miał istotny wpływ na typ algorytmu klasteryzacji, który zostanie zastosowany. Przykładowo, jeśli celem klasteryzacji jest odnalezienie dobrych lokalizacji do otwarcia sklepu, możemy dokonać klasteryzacji adresów zamieszkania docelowej grupy klientów, aby zminimalizować sumę ich odległości od centrum klastra. W ogólnym przypadku, jeśli chcemy, aby odległość do centrum klastra była mała, warto rozpatrzeć algorytmy z rodziny k-średnich. Z drugiej strony, jeśli analizujemy dane rastrowe albo obrazy, często lepiej jest spróbować odnaleźć tzw. klastry naturalne, czyli takie, które są rozpoznawane jako klastry przez ludzi. Ponieważ algorytmy z rodziny k Spatial clustering algorithms an overview, Bindiya M Varghese, Unnikrishnan A, Poulose Jacob K 3 Spatial Clustering Methods in Data Mining: A Survey, J. Han, M. Kamber and A. K. H. Tung

12 średnich zazwyczaj odnajdują jedynie klastry o kształcie sferycznym i podobnym do sferycznego, warto wtedy rozważyć użycie algorytmów opartych o analizę zwartości. 2. Kompromis, pomiędzy jakością a prędkością W praktyce, często będziemy musieli dokonać kompromisu pomiędzy szybkością działania algorytmu, a jakością otrzymywanych wyników. Algorytm, odpowiedni do danego zadania powinien spełniać obydwa te wymagania. Często rozmiar danych ma kluczowe znaczenie dla czasu trwania klasteryzacji określoną metodą. Część algorytmów, które w przypadku małych zbiorów danych będą dawać dobre wyniki, mogą nie być przystosowane do analizy dużych zbiorów danych. Często, aby mimo wszystko przeanalizować duże zbiory danych, dokonywana jest forma kompresji danych, a klasteryzacja dokonywana jest na skompresowanych danych. Ponieważ kompresja zazwyczaj nie jest bezstratna, jakość uzyskiwanych klastrów może się pogorszyć. Wyzwaniem w przypadku tego podejścia jest taka kompresja danych, aby tylko nieznacznie pogorszyć otrzymywane wyniki. 3. Cechy zbioru danych Cechy zbioru danych są kolejnym istotnym czynnikiem wpływającym na wybór algorytmu. Do cech tych należą: Rodzaj analizowanych danych Podobieństwo pomiędzy obiektami ze zbioru danych określane jest na podstawie ich atrybutów. Jeśli wszystkie te atrybuty są numeryczne, łatwo możemy obliczyć odległość korzystając z metryki euklidesowej albo miejskiej. Jednak, jeśli wystąpią jeszcze atrybuty innego rodzaju, np. binarne albo jakościowe (kategoryczne), obliczenie odległości znacząco się komplikuje. Większość algorytmów klasteryzacji obsługuje jedynie numeryczne dane. Wymiarowość Wymiarowość danych odnosi się do ilości atrybutów pojedynczego obiektu. Wiele algorytmów, które działają poprawnie dla niskich wymiarowości, zaczyna działać coraz gorzej, im większa jest wymiarowość. Działanie może się pogorszyć pod dwoma względami, albo pogorszy się jakość zwracanych klastrów, albo wydłuży się czas wywołania algorytmu. Przy wyborze algorytmu warto przebadać go na rzeczywistych danych, na których będzie również operować w aplikacji. Ilość zakłóceń w danych Ponieważ część algorytmów jest bardzo wrażliwa na wartości odstające i szum w danych, trzeba też wziąć pod uwagę jakość zebranych danych przy wyborze algorytmu. Ze względu na temat pracy, rozważone zostaną jedynie takie algorytmy, które potencjalnie nadają się do analizy danych geolokalizacyjych. Obecnie wykorzystywane algorytmy klasteryzacji możemy podzielić na następujące podgrupy 4 : rozdzielające (ang. partitional), zwane też metodami z rodziny k-średnich, hierarchiczne (ang. hierarchical), 4 Spatial clustering algorithms an overvie, Bindiya M Varghese, Unnikrishnan A, Poulose Jacob K

13 analizy zwartości (ang. density based). W dalszych podrozdziałach przedstawiony zostanie przegląd popularnych algorytmów z tych rodzin. Na podstawie cech algorytmów, dokonany zostanie wybór algorytmu odpowiedniego dla naszych danych oraz analiza wyników. 4.2 Przegląd algorytmów Algorytmy oparte na dzieleniu Mając dany zbiór obiektów oraz kryterium klasteryzacji, algorytmy te przyporządkowują elementy zbioru do klastrów w taki sposób, że obiekty wewnątrz klastra są bardziej podobne do siebie (gdzie podobieństwo określane jest przez kryterium klasteryzacji) niż do obiektów z innych klastrów. Algorytmy oparte na dzieleniu próbują podzielić zbiór danych w zbiór k rozłącznych klastrów, gdzie k to ilość klastrów dana przy uruchomieniu algorytmu. W algorytmach tych występuje element optymalizacji wielokryterialna, której celem jest równoczesna maksymalizacja miary podobieństwa elementów wewnątrz tego samego klastra i minimalizacja miary podobieństwa elementów z różnych klastrów. Algorytmy oparte na dzieleniu zazwyczaj są iteracyjne i zatrzymują się w minimum lokalnym. Schemat tych algorytmów jest następujący. Wejście: Ilość klastrów k oraz zbiór danych zawierający n elementów. Wyjście: Zbiór k klastrów minimalizujących funkcję kryterialną E. Metoda: 1) Wybierz dowolnie k środków klastrów jako początkowe rozwiązanie. 2) Powtarzaj 3) Oblicz (powtórnie), czy element wchodzi w skład klastra zgodnie z aktualnym rozwiązaniem. 4) Uaktualnij środki klastrów zgodnie z nowo obliczonymi elementami. 5) Dopóki (E ulega zmianie) Wizualizację efektów powyższej procedury przedstawiono na poniższych grafikach. Rysunek 1. Wybieramy k (k = 3) losowych środków klastrów Rysunek 2. Utworzenie k klastrów poprzez przypisanie elementów do najbliższego środka.

14 Rysunek 3. Uaktualnienie środków zgodnie z aktualnym stanem. Rysunek 4. Powtarzamy ostatnie dwa kroki, aż do osiągnięcia minimum Algorytm k-średnich (ang. k-means) Algorytm k-średnich (James MacQueen 1967) wykorzystuję wartość średnią elementów klastra jako jego środek. Funkcją celu używaną w algorytmie jest zazwyczaj błąd średniokwadratowy zdefiniowany jako k E = x m i 2 i=1 Gdzie x jest punktem w przestrzeni reprezentującym dany obiekt, a m i jest średnią klastra C i. Algorytm k-średnich jest zgodny z ogólnym schematem algorytmu przedstawionym wyżej. W kroku 3) algorytmu, każdy obiekt przyporządkowywany jest swojemu najbliższemu środkowi klastra. W kroku 4) na nowo obliczane są środki przez wyliczenie wartości średniej wszystkich elementów wchodzących w skład danego klastra. Kroki te są powtarzane dopóki kryterium końca nie zostaje spełnione. Algorytm ten charakteryzuje się dosyć dobrą skalowalnością i efektywnie przetwarza nawet duże zbiory danych. Jego złożoność obliczeniowa wynosi O(nkt), gdzie n to całkowita ilość elementów, k to ilość klastrów, a t to ilość iteracji. Zazwyczaj k n oraz t n Algorytm k-median (ang. k-medoids) W odróżnieniu od prostego algorytmu k-średnich, w którym środkiem klastra jest wartość średnia elementów w nim się znajdujących, algorytm k-medoids jako środek klastra obiera wartość środkową (medianę). Ze względu na to metoda ta jest mniej podatna na szumy i wartości odstające. Niestety odporność ta okupiona jest większą złożonością obliczeniową. Inicjalizacja algorytmu jest zgodna z przedstawionym we wstępie schematem ogólnym algorytmów z tej rodziny, w którym k elementów jest losowo obieranych jako środki klastrów. Następnie podobnie jak w algorytmie k-means, elementy przypisywane są do najbliższego środka klastra. Czynność ta wykonywana jest jednak jako część kroku 4), dlatego krok 3) nie jest potrzebny w tym algorytmie. Dodatkowo algorytm różni się tym, że co najwyżej jeden środek ulega zmianie w każdej iteracji. Zmiana środka musi zaowocować zmniejszeniem funkcji kryterialnej. Jednym z algorytmów k-medoids jest algorytm PAM (Partitioning Around Medoids). W kroku 4) algorytm ten iteruje przez wszystkie k środków klastrów i próbuje zamienić je jednym z (n k) elementów. Podmiana zachodzi o ile wartość błędu średniokwadratowego E spadła, x C i

15 przechodzimy wtedy do kolejnej iteracji. Jeśli E nie ulega zmniejszeniu po przejściu przez k klastrów, to algorytm zatrzymuje się w minimum lokalnym. Jako, że PAM próbuje zastąpić k środków jednym z (n k) elementów i każda próba zamiany wymaga obliczenia E, to złożoność obliczeniowa algorytmu wynosi O(k(n k) 2 ), co niestety szybko staje się kosztowne pod względem obliczeniowym. Z powodu kosztowności obliczeniowej algorytmu PAM opracowane zostało alternatywne rozwiązanie, które nadaje się również dla większych zbiorów danych. Jest nim algorytm oparty na próbkowaniu CLARA (Clustering LARge Applications). Algorytm ten, zamiast brać pod uwagę kompletny zbiór danych, wybiera wstępnie losową próbkę danych. Środki klastrów wybierane są z tego podzbioru za pomocą algorytmu PAM. Następnie wartość E obliczana jest za pomocą kompletnego zbioru danych. Jeśli nowy zbiór zmniejszy wartość błędu średniokwadratowego, to następuje podmiana aktualnego najlepszego rozwiązanie na nowe. W celu zapewnienia lepszych rezultatów, CLARA wielokrotnie próbkuje dane, stosuje algorytm PAM na próbce, a następnie zwraca najlepsze rozwiązanie. Po zastosowaniu tych zmian złożoność obliczeniowa algorytmu wynosi O(ks 2 + k(n k)), gdzie s to rozmiar próbki, k to ilość klastrów, a n to całkowita ilość elementów w zbiorze danych Hierarchiczne metody klasteryzacji Hierarchiczne metody klasteryzacji dokonują dekompozycji zbioru danych tworząc dendrogram, czyli diagram w kształcie drzewa, ukazujący związki pomiędzy wybranymi elementami na podstawie określonego kryterium. Poniżej przedstawiono przykład dendrogramu. a b c d e f bc de def bcdef abcdef Rysunek 5. Przykład dendrogramu, dla danych nie liczbowych. 5 Spatial Clustering Methods in Data Mining: A Survey, J. Han, M. Kamber and A. K. H. Tung

16 Dendrogram może być tworzony na dwa sposoby. Od dołu do góry nazywany też sposobem aglomeracyjnym, rozpoczyna on z każdym elementem będącym osobną grupą. Następnie sukcesywnie łączy je według określonej miary, np. odległości pomiędzy ich środkami. Krok ten jest powtarzany, dopóki wszystkie grupy nie zostaną połączone albo spełniony zostanie warunek przerwania. Od góry do dołu nazywany też rozdzielającym, rozpoczyna swoje działania mając wszystkie elementy ze zbioru danych w jednym klastrze. Następnie w każdej iteracji klaster rozdzielany jest na mniejsze grupy, dopóki każdy obiekt nie znajduje się w osobnym klastrze albo spełniony zostanie warunek przerwania Algortym AGNES i DIANA Algorytm AGNES (AGglomerative NESting) jest algorytmem budującym klastry od dołu do góry, rozpoczynając od umieszczenia każdego elementu we własnym klastrze, następnie łączy te jednostkowe klastry w coraz to większe. DIANA (DIvisia ANAlisis) jest reprezentantem algorytmu opierającym się na strategii od góry do dołu. Przyjmuje więc strategię odwrotną do algorytmu AGNES. Następujące miary odległości pomiędzy klastrami są często stosowane. d min (C i, C j ) = min p Ci,p C j p p d mean (C i, C j ) = m i m j d avg (C i, C j ) = 1 p p n i n j p C i p C j d max (C i, C j ) = max p C i,p C j p p Gdzie m i to wartość średnia elementów w klastrze C i, n i jest liczbą punktów w C i, a p p jest odległością pomiędzy dwoma obiektami lub punktami p i p. Możliwość stosowania różnorodnych miar stanowi sporą zaletę tych algorytmów znacznie zwiększając ich potencjalny obszar zastosowań. Wadą tych algorytmów jest dodatkowy wkład pracy w analizę wyników. Ponieważ zwracanym wynikiem jest dendrogram, istnieje wiele możliwości podzielenia go na klastry. Ostateczna decyzja co do sposobu podziału, zostawiana jest użytkownikowi. Inną niekorzystną właściwością tych algorytmów jest spora złożoność obliczeniowa. Ponieważ w każdym kroku istnieje O(n 2 ) możliwości utworzenia klastrów, powoduje to całkowitą złożoność obliczeniową O(n 3 ).

17 Ostatnią wadą jest spora wrażliwość na szumy i elementy odstające, z których często tworzone są bardzo małe klastry, zawierające jedynie kilka elementów. Dlatego znalezione wyniki powinny być dodatkowo ręcznie analizowane Metody analizy zwartości Większość metod klasteryzacji odnajduje grupy opierając się na informacji o odległości pomiędzy obiektami. Metody takie mają jednak poważne ograniczenie. Potrafią odnaleźć jedynie sferyczne klastry, co często prowadzi do problemów w przypadku danych, które mogą być pogrupowane w inny sposób. Dlatego powstała grupa metod klasteryzacji opartych na badaniu zwartości. Metody te zazwyczaj uznają za klaster regiony o dużym zagęszczeniu danych, rozdzielone od innych klastrów regionami o małej zwartości elementów (uznawane często za niepotrzebne zaszumienie zbioru danych). Metody oparte na badaniu gęstości potrafią znaleźć zbiory o nieregularnych kształtach i charakteryzują się dużą odpornością na szum. Pierwszy z algorytmów tego typu to DBSCAN, który ocenia gęstość wokół obiektu jako wystarczająco dużą, jeśli ilość elementów w jego otoczeniu ε elementu jest większa niż określona wartość progowa. Jako, że znalezione klastry są zależne od parametrów ε oraz MinPts, DBSCAN wymaga od użytkownika umiejętności doboru tych parametrów. Jako remedium dla tej wady opracowano metodę OPTICS. Zamiast zwracać bezpośrednio zbiór klastrów, produkuje ona tak uporządkowany zbiór danych, łatwy w wizualizacji, że dobranie odpowiednich parametrów klasteryzacji jest znacząco uproszczone. Ponieważ metody te wymagają przebadanie otoczenia obiektu, zarówno DBSCAN jak i OPTICS opierają się na strukturach danych, takich jak R- drzewo. Takie struktury danych działają niestety coraz wolniej dla danych o większej wymiarowości, dlatego metody te nie są bardzo efektywne przy tego typu danych DBSCAN Algorytm DBSCAN (Density-Based Spatial Clustering of Applications with Noise) to jeden z algorytmów klasteryzacji opierający się na łączeniu w grupy regionów o dostatecznie dużej gęstości. Algorytm wymaga od użytkownika wprowadzenie dwóch parametrów ε oraz MinPts. Za otoczenie obiektu ze zbioru danych określa się obszar objęty przez okrąg o promieniu ε. MinPts określa minimalną ilość punktów potrzebną do utworzenia klastra. Algorytm DBSCAN działa według następujących punktów Obiekt może należeć do klastra wtedy i tylko wtedy, gdy znajduje się w otoczeniu ε elementu należącego do jądra klastra. 2. Jeżeli element należący do jądra o, leży w otoczeniu innego elementu należącego do jądra p to należą one do tego samego klastra. 3. Element nie należący do jądra q, leżący w otoczeniu ε obiektów należących do jądra p 1,, p i, i > 0 musi należeć do jednego z klastrów, w których zawarte są obiekty p 1,, p i. 4. Element samemu nie należący do jądra r, równocześnie nieleżący w otoczeniu ε żadnego obiektu należącego do jądra uznawany jest za szum Spatial Clustering Methods in Data Mining: A Survey, J. Han, M. Kamber and A. K. H. Tung

18 N A C B Rysunek 6. Przykład klasteryzacji za pomocą algorytmu DBSCAN. Na powyższym przykładzie MinPts = 4. Reguły te dobrze wyjaśnia powyższy rysunek, w którym MinPts = 4. Punkt A oraz pozostałe czerwone punkty stanowią jądro klastra, ponieważ otoczenie o promieniu ε tych punktów zawiera co najmniej 4 punkty (łącznie z samymi sobą). Punkty te tworzą jeden klaster, ponieważ spełniają drugi przedstawiony wyżej punkt. Punkty B i C nie należą do jądra, ale są osiągalne z punktów należących do jądra, co oznacza, że spełniają trzecią regułę, tym samym również należą do klastra. Punkt N nie należy do jądra i nie jest osiągalny z punktu należącego do niego, zgodnie z punktem czwartym jest zaliczany do szumu. W celu utworzenia klastrów algorytm musi odwiedzić każdy element ze zbioru danych, potencjalnie wielokrotnie (jako kandydaci do różnych klastrów). W praktyce jednak złożoność obliczeniowa determinowana jest przez ilość sprawdzeń otoczenia ε elementów. Algorytm wykonuje dokładnie jedno takie sprawdzenie dla każdego punktu, więc jeśli stosowana jest indeksacja, która zapewni sprawdzenie ze złożonością O(log n) dochodzimy do całkowitej złożoności obliczeniowej O(n log n). Przy braku wykorzystania indeksacji zachowana zostaje złożoność obliczeniowa O(n 2 ). W przeciwieństwie do wielu innych metod klasteryzacji, przy uruchomieniu algorytmu nie jest potrzebna informacja o tym, ile grup będzie się znajdować w badanym zbiorze danych. Algorytm jest w stanie odnaleźć grupy o dowolnym kształcie. Na poniższym wykresie przedstawiono przykład obrazujący tą właściwość. Klastry zostały na nim poprawnie rozpoznane.

19 Rysunek 7. Przykład umiejętności algorytmu DBSCAN rozpoznawania klastrów o nieeliptycznych kształtach. W powyższym przykładzie ε = 1, a MinPts = 3. Na rysunku widać wyraźnie, że wydzielone zostały dwa klastry, z których jeden okala drugi oraz dwa punkty rozpoznane jako szum Algorytm jest też daleko idąco deterministyczny i niezależny od kolejności danych w badanym zbiorze danych. Jedynym wyjątkiem od tej reguły są elementy nienależące do jądra, równocześnie niebędące szumem. Na przedstawionym poniżej przykładzie możemy łatwo zaobserwować tą właściwość. Centralnie położony punkt może być przydzielony do dowolnego z dwóch rozpoznanych klastrów, a decyzja do którego trafi, zależy od kolejności, w jakiej algorytm przetworzy zbiór danych. W praktycznych zastosowaniach, gdzie ilość punktów jest duża, a do dalszej analizy wykorzystuje się np. środki ciężkości odnalezionych klastrów, zachowanie takie nie powinno powodować problemów, warto jednak pamiętać o tym dla małych zbiorów danych.

20 Rysunek 8. Przykład nie deterministyczne zachowanie algorytmu DBSCAN. W przykładzie tym ε = 2, a MinPts = 4. Element znajdujący się na środku w punkcie (5, 3) może należeć zarówno do czerwonego jak i do niebieskiego klastra OPTICS Algorytm OPTICS (Ordering Points To Identify Clustering Structure) to kolejny algorytm w kategorii algorytmów opartych na analizie skupień. Podstawa jego działania jest bardzo podobna do algorytmu DBSCAN. Usuwa on jednak istotną wadę tego algorytmu, nie ma on problemów z rozpoznawaniem klastrów o bardzo różnej gęstości. Równocześnie znacznie zmniejszana jest jego wrażliwość na parametry ε oraz MinPts, które w tym algorytmie również występują. Jak pokazane zostanie w dalszej części pracy, uzyskanie przydatnych wyników za pomocą algorytmu DBSCAN wymaga od użytkownika pewnej wprawy w doborze tych parametrów, pod tym względem algorytm OPTICS stanowi pewne uproszczenie, które może oszczędzić dużo czasu badającemu zbiór danych. Podobnie jak algorytm DBSCAN, OPTICS wymaga podanie dwóch parametrów, ε oraz MinPts. Posiada on również tą samą złożoność obliczeniową O(n log n). Jednak w przeciwieństwie do niego zamiast zwrócić wynik klasteryzacji tylko dla tej pary parametrów, algorytm zwraca tak uporządkowany zbiór danych, który umożliwia łatwe obliczenie klastrów dla dowolnego ε < ε oraz MinPts podobnych do MinPts. Poniżej przedstawiono przykład wizualizacji uporządkowanych punktów.

21 Rysunek 9. Przykład wizualizacji otrzymanej za pomocą algorytmu OPTICS Analizując algorytm DBSCAN łatwo zauważyć, że dla stałej wartości MinPts zmniejszenie ε do nowej wartości ε może mieć następujące efekty: 1. Elementy należące do jądra mogą stać się elementami nienależącymi do niego, ponieważ mogą przestać posiadać co najmniej MinPts elementów w otoczeniu ε. 2. Elementy nienależące do jądra, które pierwotnie należały do ε-otoczenia elementów należących do jądra, mogą stać się szumem. Może się tak stać, ponieważ nie znajdują się w ε - otoczeniu elementów należących do jądra lub ponieważ te elementy pierwotnie należące do jądra przestały nimi być przestały do niego należeć. Oba te efekty powodują otrzymanie zbioru klastrów, który w pełni zawiera się w zbiorze klastrów otrzymanych przy wyższej wartości ε. Zatem, aby otrzymać zbiór klastrów opartych na analizie zwartości, musimy jedynie zapamiętać pewne wartości progowe dla każdego elementu ze zbioru danych, tak, aby efekt zmniejszenia ε był łatwo obserwowalny. Te wartości progowe to odległość jądra i odlełość osiągalności. odległość jądra elementu p oznaczana, jako core(p), to najmniejsza odległość ε taka, że otoczenie to zawiera dokładnie MinPts elementów. Jeśli p nie jest elementem należącym do jądra, to wartość ta nie jest zdefiniowana dla tego elementu p. odległość osiągalności elementu p od elementu o, oznaczana jako reach(o, p), to najmniejsza odległość dla której p jest w otoczeniu elementu o oraz o pozostaje elementem należącym do jądra. Jeśli o nie należało początkowo do jądra, to odległość reach(o, p) nie jest zdefiniowana.

22 Algorytm OPTICS zwraca uporządkowaną bazę danych, przechowującą dla każdego elementu informację o odległości jądra i odległości osiągalności. Dane te są wystarczające, aby otrzymać z nich dowolne klastry oparte na analizie zwartości, dla których ε jest mniejsze niż ε użyte przy uzyskaniu wyniku. Jak wspomniano wyżej uporządkowane punkty mogą być przedstawione w postaci graficznej, pozwala to na łatwiejsze zrozumienie danych. Doliny na takim wykresie oznaczają klastry, szerokość doliny pomaga określić ilość elementów przydzielonych do różnych klastrów. Jeśli doliny są różnej głębokości, to wskazuje to na różną gęstość tych klastrów Porównanie wyników uzyskanych za pomocą wybranych algorytmów Powyższe algorytmy zostały przetestowane w celu określenia, w jakim stopniu nadają się one do analizy danych zebranych od użytkowników. Wybór algorytmu dokonany został na podstawie analizy złożoności obliczeniowej algorytmu i zależnego od niego czasu wykonywania oraz na podstawie subiektywnej oceny uzyskanych klastrów nałożonych na mapę. Poniżej przedstawiono niesklastrowany zbiór danych geo-lokalizacyjnych na obszarze Krakowa. Rysunek 10. Dane geolokalizacyjne zebrane przez autora na terenie Krakowa 8 OPTICS: Ordering Points To Identify the Clustering Structure, Mihael Ankerst, Markus M. Breuning, Hans- Peter Kriegel, Jörg Sander

23 Przedstawione na mapie punkty będące lokalizacjami zbieranymi w równomiernych odstępach czasu, stanowią jedynie dane uzyskane przez autora w celu uszanowania prywatności pozostałych członków eksperymentów. Dodatkowo ułatwia to weryfikację poprawności znalezionych miejsc Algorytmy oparte na dzieleniu W pracy przetestowane zostały trzy algorytmy oparte na dzieleniu. Choć algorytmy należą do jednej klasy posiadają różną złożoność obliczeniową, która wyraźnie zaznacza się w czasie trwania klasteryzacji. W celu przedstawienia efektu różnej złożoności obliczeniowej, wszystkie trzy algorytmy uruchomione zostały wielokrotnie dla zbiorów danych o rozmiarach kolejno 1000, 2000, 3000 i 4000 punktów. Czasy wykonania w sekundach przedstawione zostały w tabeli poniżej. Tabela 1. Czasy wykonania algorytmów k-średnich, PAM i CLARA Nazwa algorytmu Czas wykonania 1000 pkt 2000 pkt 3000 pkt 4000 pkt k-średnich PAM CLARA Wyraźnie widać, że algorytm PAM, który jako jedyny nie posiada liniowej złożoności obliczeniowej, zaczyna bardzo szybko znacząco odstawać od pozostałych algorytmów pod względem czasu wykonywania. Co gorsze, proporcjonalne różnice pomiędzy czasem wykonania się tych algorytmów jedynie by się pogłębiały, im więcej punktów zostałoby dodanych do badanego zbioru danych. Ilustracja wyników z powyższej tabeli na wykresie poniżej dobrze obrazuje ten fakt.

24 Rysunek 11. Wykresy czasów wykonania algorytmów k-średnich, PAM i CLARA Na powyższym wykresie wyraźnie widać, dlaczego użycie algorytmu o kwadratowej złożoności obliczeniowej nie nadaje się w praktycznych zastosowaniach na dużych zbiorach danych. Ponieważ czasy wykonywania algorytmów k-średnich i CLARA są znacznie mniejsze niż algorytmu PAM, na osobnym wykresie przedstawiono średni czas uruchomienia tych algorytmów dla kolejno 1000, 3250, 5500, 7750, próbek. Widocznie zaznacza się na nim ich liniowa charakterystyka.

25 Rysunek 12. Wykres czasów uruchomienia dla algorytmów k-średnich i CLARA Po zbadaniu wpływu złożoności obliczeniowej na czas wykonywania algorytmu widać jednoznacznie, że z przebadanej grupy algorytmów najlepiej do badania większych zbiorów danych nadaje się algorytm CLARA. Sprawdzenie jakości uzyskanych wyników dokonane zostanie przy użyciu wizualnej kontroli klastrów, uzyskanych na zebranych przez autora danych.

26 Rysunek 13. Klastry uzyskane na obszarze Krakowa dla algorytmu k-śrenich Rysunek 14. Klastry uzyskane dla algorytmu PAM na obszarze Krakowa

27 Rysunek 15. Klastry uzyskane za pomocą algorytmu CLARA na obszarze Krakowa Wszystkie trzy algorytmy znajdują podobne klastry. Nie jest to jednak reguła, w szczególności dla algorytmu k-means, który charakteryzuje się słabą odpornością na szumy. Algorytm ten jest też szczególnie narażony na znalezienie rozwiązania sub-optymalnego i dlatego często w praktyce uruchamiany jest wielokrotnie, a następnie wybierane jest rozwiązanie najlepsze z kilku prób. Przykład ewidentnie sub-optymalnego rozwiązania przedstawiono poniżej.

28 Rysunek 16. Rozwiązanie dalekie od oczekiwanego na podstawie danych z Krakowa W rozwiązaniu tym ilość klastrów, którą algorytm miał utworzyć była taka sama, co we wcześniejszym przedstawionym rozwiązaniu, pozostałe klastry znajdują się jednak poza obszarem mapy, w którym zawiera się większość zebranych punktów. Cechą charakterystyczną wszystkich tych algorytmów, widoczną też na powyższych przykładach jest to, że wszystkie punkty przydzielone zostały do jakiejś grupy, nawet jeśli są one dosyć odległe od pozostałych członków tego klastra. Zachowanie takie może być pozytywne, jeśli posiadamy pewność, że wszystkie dane muszą należeć do jakiegoś rozwiązania, nie jednak, jeśli badany zbiór danych zawiera błędne pomiary lub dużo szumu. Na poniższym wykresie przedstawiony został przykładowy zbiór danych, będący równomiernym szumem białym, na którym mimo wszystko odnalezione zostaną klastry.

29 Rysunek 17. Przykład błędnej klasteryzacji pomimo braku występowania klastrów Ponieważ celem mojej analizy jest odnalezienie konkretnych miejsc, a punkty zebrane w drodze pomiędzy tymi miejscami, w tej pracy, nie są w związku z tym istotne, to trzeba tą cechę uznać jednak za wadę Algorytmy hierarchiczne W pracy przetestowano dwa rodzaje algorytmów hierarchicznych, to jest algorytm AGNES i DIANA. Podobnie jak dla algorytmów opartych na dzieleniu również te algorytmy uruchomiono dla różnej ilości próbek. Wyniki czasów uruchomienia w sekundach dla kolejno 1000, 2000, 3000 i 4000 punktów zostały stabelaryzowane poniżej. Tabela 2. Czasy wykonania algorytmów AGNES i DIANA Nazwa algorytmu Czas wykonania 1000 pkt 2000 pkt 3000 pkt 4000 pkt AGNES DIANA

30 Aby uzyskać lepszy wgląd w naturę algorytmu wyniki te umieszczono na poniższym wykresie. Rysunek 18. Wykres czasów wykonania dla algorytmów AGNES i DIANA Zgodnie z przewidywaniami z części teoretycznej algorytmy te nie są zbyt efektywne w klasteryzacji dużych zbiorów danych, szczególnie w porównaniu z algorytmami o liniowej złożoności obliczeniowej, które prezentowane były w poprzednim podrozdziale. Nie oznacza to jednak, że algorytmy tego typu nie są przydatne w ogólności. Kosztem tej dużej złożoności obliczeniowej zyskują większą elastyczność. Hierarchiczne metody klasteryzacji prezentują umiejętność klasteryzacji nie tylko liczbowych zbiorów danych. Czasami przydatna jest też właściwość, że ich wynikiem jest dendrogram, czyli diagram w kształcie drzewa pokazujący związki pomiędzy wybranymi elementami na podstawie przyjętego kryterium. Właściwość ta pozwala często na łatwe zrozumienie zbioru danych i wyników klasteryzacji. Wyniki klasteryzacji uzyskane za pomocą tych algorytmów przedstawione zostały na poniższych mapach.

31 Rysunek 19. Klastry uzyskane za pomocą algorytmu DIANA na podstawie Krakowa Rysunek 20. Klastry uzyskane za pomocą algorytmu AGNES na podstawie Krakowa

32 Niestety algorytmy te cechują się słabą odpornością na szum, nie posiadają umiejętności rozpoznawania go. Cechą, która jednak najbardziej negatywnie wpływa na zastosowanie tych algorytmów do analizy lokalizacji, szczególnie zbieranych w regularnych odstępach czasu, jest ich wrażliwość na wartości odstające. Powoduje ona powstawanie dużej ilości bardzo małych klastrów, co w praktyce oznacza konieczność ręcznej weryfikacji znalezionych rezultatów oraz nieintuicyjnego ręcznego doboru ilości klastrów. W przeciwnym przypadku ustawienie małej ilości klastrów może oznaczać, że niewydzielone zostaną żadne istotne klastry, a jedynie małe odstające grupy. Efekt ten przedstawiono na mapie poniżej. W wizualizacji tej ilość wydzielonych klastrów była taka sama jak dla algorytmów klasteryzacji z rodziny k-średnich. W efekcie tego niewydzielone zostały istotne klastry, a jedynie wartości odstające, które powstają naturalnie dla danych lokalizacyjnych np. w trakcie podróży pociągiem. Rysunek 21. Przykład wysokiej wrażliwości algorytmów hierarchicznych na wartości odstające i wydzielenie w pierwszej kolejności nieistotnych małych klastrów. Dodatkowo wyniki uzyskane za pomocą tych algorytmów, wizualnie nie mają przewagi nad algorytmami znacznie efektywniejszymi pod względem czasu wykonania z rodziny algorytmów k-średnich. Jak się okaże w kolejnym podrozdziale, charakteryzują się też większą złożonością niż algorytmy oparte na analizie zwartości Algorytmy oparte na analizie zwartości W pracy przedstawione zostały dwa rodzaje algorytmów opartych na analizie zwartości, popularny DBSCAN i spokrewniony OPTICS. Porównanie czasów otrzymanych dla różnych rozmiarów zbiorów danych w sekundach, kolejno dla 1000, 3250, 5500, 7750, punktów przedstawiono w poniższej tabeli.

33 Tabela 3. Czasy wykonania algorytmów DBSCAN i OPTICS jednokrotnie Nazwa algorytmu Czas wykonania 1000 pkt 3250 pkt 5500 pkt 7750 pkt pkt DBSCAN OPTICS Wyniki z tej tabeli, dla lepszego przedstawienia natury algorytmów, przedstawiono również na poniższym wykresie. Rysunek 22. Czasy wykonania algorytmów DBSCAN i OPTICS dla jednokrotnego uruchomienia Bez trudu można zauważyć, że choć oba algorytmy rozwiązują problem klasteryzacji dosyć szybko, algorytm DBSCAN radzi sobie z nim nieco szybciej. Nie jest to jednak do końca sprawiedliwa ocena. W sytuacji, w której chcemy wielokrotnie dokonać klasteryzacji tych samych danych dla różnych stopniowo mniejszych wartości ε, użycie algorytmu OPTICS może być szybsze. Wynika to z dwustopniowej natury algorytmu, w której dane najpierw są przygotowywane do późniejszej szybkiej analizy i wydzielenia efektów klasteryzacji dla wielu różnych parametrów algorytmu. Taka własność może być przydatna dla danych położeniowych. Możemy dokonać klasteryzacji, np. na poziome poszczególnych miast, dzielnic, czy dokładnych lokalizacji w zależności od potrzeb.

34 Łączne czasy uruchomienia algorytmów trzy razy dla kolejno mniejszych wartości ε w sekundach przedstawiono w poniższej tabeli i na wykresie. Potwierdzają one powyższe przypuszczenie. Tabela 4. Czasy trzykrotnego uruchomienia algorytmów DBSCAN i OPTICS Nazwa algorytmu Czas wykonania 1000 pkt 3250 pkt 5500 pkt 7750 pkt pkt DBSCAN OPTICS Rysunek 23. Czasy wykonania algorytmów OPTICS i DBSCAN trzy razy dla różnych wartości ε Choć algorytmy tej kategorii nie są liniowej złożoności obliczeniowej, to są one wciąż wystarczająco szybkie, aby znaleźć zastosowanie na zbiorach danych o przydatnych w praktyce rozmiarach, szczególnie jeśli ich wymiarowość nie jest wysoka, czyli np. w przypadku omawianych w tej pracy dwuwymiarowych danych lokalizacyjnych. Algorytmy z tej kategorii nie wymagają podania spodziewanej ilości klastrów przy uruchomieniu, co jest ich wielką zaletą, konieczne jest za to określenie parametrów ε oraz MinPts. Trudno powiedzieć, że istnieje ogólny najlepszy sposób określenia tych parametrów dla dowolnego rodzaju danych, warto jednak omówić sposób doboru tych parametrów w przypadku danych lokalizacyjnych.

35 Dane o lokalizacji zbierane były w stosunkowo regularnych odstępach czasu. Oznacza to, że ilość punktów zebranych w danym miejscu, determinuje mniej więcej, jak długo dana osoba średnio przebywa w danym miejscu. Dla potrzeb tej pracy ustalono, że ilość ta powinna wynosić co najmniej 2 min na dobę. Okres ten stanowi 720 część doby, co oznacza, że przez tyle musimy podzielić całkowitą ilość punktów zebranych poprzez wiele dni, aby otrzymać minimalną ilość punktów MinPts. Ilość punktów można by było oczywiście dzielić przez znacznie mniejszą liczbę, gdybyśmy chcieli znaleźć w zbiorze danych jedynie miejsca, w których dana osoba spędza więcej czasu, np. miejsce pracy, albo zamieszkania. Nie można więc powiedzieć, że istnieje optymalna wartość tego parametru, ponieważ zależy on zarówno od rozmiaru badanego zbioru danych, jak i od informacji, które chcemy z niego wydobyć. Określenie odpowiedniej wartości ε dla algorytmu DBSCAN wykonane zostało w dwóch krokach. Początkowo tworzony jest wykres przedstawiający kolejno ilość klastrów w zależności od pewnych wartości ε, ilość ta zazwyczaj tworzy kształt szybko malejącej funkcji podobnej nieco do funkcji hiperbolicznej. Na tej krzywej próbujemy odnaleźć załamania, czyli przedział ε, w którym ilość klastrów jest zbliżona. Występowanie kilku takich załamań oznaczałoby, że w zbiorze istnieją klastry o różnych gęstościach. Przedział ten warto następnie przebadać wizualnie, aby wyciągnąć wnioski, co do optymalnego ustawienia ε, które minimalizuje szum, a jednocześnie tworzy sensowne klastry. Jeśli nie posiadamy żadnych wcześniejszych informacji na temat typu badanych danych, warto rozpocząć badanie od dosyć dużych wartości ε i połowić ją dla kolejnych testów, aż do znalezienie interesującego nas stromego elementu wykresu, przy którym znajdują się załamania. Poniżej przedstawiono wykres ilości klastrów w zależności od wartości ε oraz osobny wykres przedstawiający w powiększeniu interesujący nas obszar wymagający dodatkowej analizy. Rysunek 24. Ilość znalezionych za pomocą DBSCAN klastrów w zależności od ε dla szerokiego przedziału ε

36 Rysunek 25. Wykres ilości klastrów znalezionych przez DBSCAN, dla ε przy których pojawia się załamanie na wykresie Ilość klastrów w zależności od wartości ε na tym obszarze stabelaryzowano poniżej. Tabela 5. Ilość klastrów uzyskanych przez DBSCAN w zależności od ε ε Ilość klastrów Następnie dla wartości ε z tego przedziału przedstawiono kilka efektów klasteryzacji w celu dokonania wizualnej analizy wyników.

37 Rysunek 26. Klastry uzyskane przez DBSCAN razem z wykrytym szumem dla ε = Punkty zaznaczone na czerwono na tej mapie zostały wykryte jako szum, ponieważ w ich otoczeniu nie znaleziono MinPts punktów. Umiejętność wykrywania szumu i wartości odstających jest jedną z największych zalet algorytmów opartych na analizie zwartości. Na kolejnych przedstawionych mapach i dla algorytmu OPTICS omawianego w dalszej części usunięto szum dla lepszej oceny wyników.

38 Rysunek 27. Klastry na obszarze Krakowa dla ε = Rysunek 28. Klastry na obszarze Krakowa dla ε =

39 Rysunek 29. Klastry na obszarze Krakowa dla ε = Jak widać wszystkie klastry z badanego przedziału ε są podobne, efekt zmniejszenia wartości ε zazwyczaj skutkuje jedynie zmniejszeniem szumu albo utratą bardzo małych klastrów. Może też jednak wprowadzić niepotrzebne klastry, jeśli zmniejszymy wartość ε do takiej wartości, że jednolite gęste obszary zostaną błędnie podzielone na bardzo dużą ilość małych klastrów. Efekt ten przedstawiono poniżej.

40 Rysunek 30. Efekt zbytniego obniżenia wartości ε w tym przypadku do wartości powodujący podzielenie jednolitego obszaru na wiele małych klastrów. Innym efektem może być usunięcie poprzednio poprawnie znalezionych grup, jeśli otoczenie punktu stanie się tak małe, że tylko bardzo gęste klastry będę zawierały minimalną ilość punktów wymaganą do jego utworzenia. Dla algorytmu OPTICS możemy dokonać doboru wartości ε na podstawie wizualizacji opisanego w części teoretycznej uporządkowanego zbioru danych, zwanej wykresem osiągalności. Dla opisanego zbioru danych wygląda on następująco.

41 Rysunek 31. Wykres osiągalności algorytmu OPTICS Wizualizacja otrzymana na danych zebranych w eksperymencie wskazuje na to, że spora część punktów znajduje się w jednym obszarze (miejsce zamieszkania), a pozostałe należą do miejsc, do których użytkownik się udaje i w których przebywa. Jak opisano w części teoretycznej doliny stanowią klastry, im bardziej zmniejszymy wartość ε, tym więcej punktów zostanie rozpoznanych jako szum. Poniżej przedstawiono serię wyników dla takich samych wartości ε jak dla wcześniejszego algorytmu DBSCAN.

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

Grupowanie Witold Andrzejewski, Politechnika Poznańska, Wydział Informatyki 201/633 Grupowanie Grupowanie 7 6 5 4 y 3 2 1 0-3 -2-1 0 1 2 3 4 5-1 -2-3 -4 x Witold Andrzejewski, Politechnika Poznańska, Wydział Informatyki 201/633 Wprowadzenie Celem procesu grupowania jest podział zbioru

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych autor: Robert Drab opiekun naukowy: dr inż. Paweł Rotter 1. Wstęp Zagadnienie generowania trójwymiarowego

Bardziej szczegółowo

Hierarchiczna analiza skupień

Hierarchiczna analiza skupień Hierarchiczna analiza skupień Cel analizy Analiza skupień ma na celu wykrycie w zbiorze obserwacji klastrów, czyli rozłącznych podzbiorów obserwacji, wewnątrz których obserwacje są sobie w jakimś określonym

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie

Bardziej szczegółowo

METODY CHEMOMETRYCZNE W IDENTYFIKACJI ŹRÓDEŁ POCHODZENIA

METODY CHEMOMETRYCZNE W IDENTYFIKACJI ŹRÓDEŁ POCHODZENIA METODY CHEMOMETRYCZNE W IDENTYFIKACJI ŹRÓDEŁ POCHODZENIA AMFETAMINY Waldemar S. Krawczyk Centralne Laboratorium Kryminalistyczne Komendy Głównej Policji, Warszawa (praca obroniona na Wydziale Chemii Uniwersytetu

Bardziej szczegółowo

Wyszukiwanie binarne

Wyszukiwanie binarne Wyszukiwanie binarne Wyszukiwanie binarne to technika pozwalająca na przeszukanie jakiegoś posortowanego zbioru danych w czasie logarytmicznie zależnym od jego wielkości (co to dokładnie znaczy dowiecie

Bardziej szczegółowo

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów

Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów Eksploracja danych Piotr Lipiński Informacje ogólne Informacje i materiały dotyczące wykładu będą publikowane na stronie internetowej wykładowcy, m.in. prezentacje z wykładów UWAGA: prezentacja to nie

Bardziej szczegółowo

Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych. Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS

Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych. Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS Dyskretyzacja - definicja Dyskretyzacja - zamiana atrybutów

Bardziej szczegółowo

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH Jednym z zastosowań metod numerycznych jest wyznaczenie pierwiastka lub pierwiastków równania nieliniowego. W tym celu stosuje się szereg metod obliczeniowych np:

Bardziej szczegółowo

Wykrywanie twarzy na zdjęciach przy pomocy kaskad

Wykrywanie twarzy na zdjęciach przy pomocy kaskad Wykrywanie twarzy na zdjęciach przy pomocy kaskad Analiza i przetwarzanie obrazów Sebastian Lipnicki Informatyka Stosowana,WFIIS Spis treści 1. Wstęp... 3 2. Struktura i funkcjonalnośd... 4 3. Wyniki...

Bardziej szczegółowo

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

Analiza skupień. Analiza Skupień W sztucznej inteligencji istotną rolę ogrywają algorytmy grupowania Analiza skupień W sztucznej inteligencji istotną rolę ogrywają algorytmy grupowania Analiza Skupień Elementy składowe procesu grupowania obiekt Ekstrakcja cech Sprzężenie zwrotne Grupowanie klastry Reprezentacja

Bardziej szczegółowo

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) 20.11.2002 Algorytmy i Struktury Danych PIŁA ZŁOŻONE STRUKTURY DANYCH C za s tw or ze nia s tr uk tur y (m s ) TWORZENIE ZŁOŻONYCH STRUKTUR DANYCH: 00 0

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej

Bardziej szczegółowo

Algorytm genetyczny (genetic algorithm)-

Algorytm genetyczny (genetic algorithm)- Optymalizacja W praktyce inżynierskiej często zachodzi potrzeba znalezienia parametrów, dla których system/urządzenie będzie działać w sposób optymalny. Klasyczne podejście do optymalizacji: sformułowanie

Bardziej szczegółowo

Elementy modelowania matematycznego

Elementy modelowania matematycznego Elementy modelowania matematycznego Modelowanie algorytmów klasyfikujących. Podejście probabilistyczne. Naiwny klasyfikator bayesowski. Modelowanie danych metodą najbliższych sąsiadów. Jakub Wróblewski

Bardziej szczegółowo

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

Metody eksploracji danych w odkrywaniu wiedzy (MED) projekt, dokumentacja końcowa Metody eksploracji danych w odkrywaniu wiedzy (MED) projekt, dokumentacja końcowa Konrad Miziński 14 stycznia 2015 1 Temat projektu Grupowanie hierarchiczne na podstawie algorytmu k-średnich. 2 Dokumenty

Bardziej szczegółowo

4.3 Grupowanie według podobieństwa

4.3 Grupowanie według podobieństwa 4.3 Grupowanie według podobieństwa Przykłady obiektów to coś więcej niż wektory wartości atrybutów. Reprezentują one poszczególne rasy psów. Ważnym pytaniem, jakie można sobie zadać, jest to jak dobrymi

Bardziej szczegółowo

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany. Przedstawiamy algorytmy porządkowania dowolnej liczby elementów, którymi mogą być liczby, jak również elementy o bardziej złożonej postaci (takie jak słowa i daty). Porządkowanie, nazywane również często

Bardziej szczegółowo

Zachowania odbiorców. Grupa taryfowa G

Zachowania odbiorców. Grupa taryfowa G Zachowania odbiorców. Grupa taryfowa G Autor: Jarosław Tomczykowski Biuro PTPiREE ( Energia elektryczna luty 2013) Jednym z założeń wprowadzania smart meteringu jest optymalizacja zużycia energii elektrycznej,

Bardziej szczegółowo

Ruch jednostajnie przyspieszony wyznaczenie przyspieszenia

Ruch jednostajnie przyspieszony wyznaczenie przyspieszenia Doświadczenie: Ruch jednostajnie przyspieszony wyznaczenie przyspieszenia Cele doświadczenia Celem doświadczenia jest zbadanie zależności drogi przebytej w ruchu przyspieszonym od czasu dla kuli bilardowej

Bardziej szczegółowo

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.

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. Problem porządkowania zwanego również sortowaniem jest jednym z najważniejszych i najpopularniejszych zagadnień informatycznych. Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,, x n. Wynik: Uporządkowanie

Bardziej szczegółowo

Sieci obliczeniowe poprawny dobór i modelowanie

Sieci obliczeniowe poprawny dobór i modelowanie Sieci obliczeniowe poprawny dobór i modelowanie 1. Wstęp. Jednym z pierwszych, a zarazem najważniejszym krokiem podczas tworzenia symulacji CFD jest poprawne określenie rozdzielczości, wymiarów oraz ilości

Bardziej szczegółowo

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH

INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH INDUKOWANE REGUŁY DECYZYJNE ALORYTM APRIORI JAROSŁAW FIBICH 1. Czym jest eksploracja danych Eksploracja danych definiowana jest jako zbiór technik odkrywania nietrywialnych zależności i schematów w dużych

Bardziej szczegółowo

Metody numeryczne. materiały do wykładu dla studentów. 7. Całkowanie numeryczne

Metody numeryczne. materiały do wykładu dla studentów. 7. Całkowanie numeryczne Metody numeryczne materiały do wykładu dla studentów 7. Całkowanie numeryczne 7.1. Całkowanie numeryczne 7.2. Metoda trapezów 7.3. Metoda Simpsona 7.4. Metoda 3/8 Newtona 7.5. Ogólna postać wzorów kwadratur

Bardziej szczegółowo

Metody numeryczne w przykładach

Metody numeryczne w przykładach Metody numeryczne w przykładach Bartosz Ziemkiewicz Wydział Matematyki i Informatyki UMK, Toruń Regionalne Koło Matematyczne 8 kwietnia 2010 r. Bartosz Ziemkiewicz (WMiI UMK) Metody numeryczne w przykładach

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

Inteligentna analiza danych

Inteligentna analiza danych Numer indeksu 150946 Michał Moroz Imię i nazwisko Numer indeksu 150875 Grzegorz Graczyk Imię i nazwisko kierunek: Informatyka rok akademicki: 2010/2011 Inteligentna analiza danych Ćwiczenie I Wskaźniki

Bardziej szczegółowo

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

Eksploracja danych. Grupowanie. Wprowadzanie Definicja problemu Klasyfikacja metod grupowania Grupowanie hierarchiczne. Grupowanie wykład 1 Grupowanie Wprowadzanie Definicja problemu Klasyfikacja metod grupowania Grupowanie hierarchiczne Grupowanie wykład 1 Sformułowanie problemu Dany jest zbiór obiektów (rekordów). Znajdź naturalne pogrupowanie

Bardziej szczegółowo

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

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska. SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska INFORMACJE WSTĘPNE Hipotezy do uczenia się lub tworzenia

Bardziej szczegółowo

Zadania ze statystyki, cz.6

Zadania ze statystyki, cz.6 Zadania ze statystyki, cz.6 Zad.1 Proszę wskazać, jaką część pola pod krzywą normalną wyznaczają wartości Z rozkładu dystrybuanty rozkładu normalnego: - Z > 1,25 - Z > 2,23 - Z < -1,23 - Z > -1,16 - Z

Bardziej szczegółowo

W tym celu korzystam z programu do grafiki wektorowej Inkscape 0.46.

W tym celu korzystam z programu do grafiki wektorowej Inkscape 0.46. 1. Wprowadzenie Priorytetem projektu jest zbadanie zależności pomiędzy wartościami średnich szybkości przemieszczeń terenu, a głębokością eksploatacji węgla kamiennego. Podstawowe dane potrzebne do wykonania

Bardziej szczegółowo

CLUSTERING II. Efektywne metody grupowania danych

CLUSTERING II. Efektywne metody grupowania danych CLUSTERING II Efektywne metody grupowania danych Plan wykładu Wstęp: Motywacja i zastosowania Metody grupowania danych Algorytmy oparte na podziałach (partitioning algorithms) PAM Ulepszanie: CLARA, CLARANS

Bardziej szczegółowo

OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak

OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak OpenAI Gym Adam Szczepaniak, Kamil Walkowiak Plan prezentacji Programowanie agentowe Uczenie przez wzmacnianie i problemy związane z rozwojem algorytmów Charakterystyka OpenAI Gym Biblioteka gym Podsumowanie

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 4a: Rozwiązywanie rekurencji http://kiwi.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Czas działania programu Dla konkretnych

Bardziej szczegółowo

FUNKCJA LINIOWA - WYKRES

FUNKCJA LINIOWA - WYKRES FUNKCJA LINIOWA - WYKRES Wzór funkcji liniowej (Postać kierunkowa) Funkcja liniowa jest podstawowym typem funkcji. Jest to funkcja o wzorze: y = ax + b a i b to współczynniki funkcji, które mają wartości

Bardziej szczegółowo

Agnieszka Nowak Brzezińska Wykład III

Agnieszka Nowak Brzezińska Wykład III Agnieszka Nowak Brzezińska Wykład III Naiwny klasyfikator bayesowski jest prostym probabilistycznym klasyfikatorem. Zakłada się wzajemną niezależność zmiennych niezależnych (tu naiwność) Bardziej opisowe

Bardziej szczegółowo

Przetwarzanie równoległe

Przetwarzanie równoległe Przetwarzanie równoległe Kostka równoległe przesyłanie i przetwarzanie Rafał Malinowski, Marek Musielak 1. Cel projektu: Celem projektu było stworzenie i przetestowanie oprogramowania działającego na serwerze

Bardziej szczegółowo

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Kompresja danych Streszczenie Studia Dzienne Wykład 10, 1 Kwantyzacja wektorowa Kompresja danych Streszczenie Studia Dzienne Wykład 10, 28.04.2006 Kwantyzacja wektorowa: dane dzielone na bloki (wektory), każdy blok kwantyzowany jako jeden element danych. Ogólny

Bardziej szczegółowo

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

Michał Kozielski Łukasz Warchał. Instytut Informatyki, Politechnika Śląska Michał Kozielski Łukasz Warchał Instytut Informatyki, Politechnika Śląska Algorytm DBSCAN Algorytm OPTICS Analiza gęstego sąsiedztwa w grafie Wstępne eksperymenty Podsumowanie Algorytm DBSCAN Analiza gęstości

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 1. Optymalizacja funkcji jednej zmiennej Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 28.02.2019 1 / 54 Plan wykładu Optymalizacja funkcji jednej

Bardziej szczegółowo

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H W O J S K O W A A K A D E M I A T E C H N I C Z N A W Y D Z I A Ł E L E K T R O N I K I Drukować dwustronnie P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H Grupa... Data wykonania

Bardziej szczegółowo

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Autoreferat do rozprawy doktorskiej OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI Michał Mazur Gliwice 2016 1 2 Montaż samochodów na linii w

Bardziej szczegółowo

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

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV Klasyfikatory: k-nn oraz naiwny Bayesa Agnieszka Nowak Brzezińska Wykład IV Naiwny klasyfikator Bayesa Naiwny klasyfikator bayesowski jest prostym probabilistycznym klasyfikatorem. Zakłada się wzajemną

Bardziej szczegółowo

AiSD zadanie trzecie

AiSD zadanie trzecie AiSD zadanie trzecie Gliwiński Jarosław Marek Kruczyński Konrad Marek Grupa dziekańska I5 5 czerwca 2008 1 Wstęp Celem postawionym przez zadanie trzecie było tzw. sortowanie topologiczne. Jest to typ sortowania

Bardziej szczegółowo

5.4. Tworzymy formularze

5.4. Tworzymy formularze 5.4. Tworzymy formularze Zastosowanie formularzy Formularz to obiekt bazy danych, który daje możliwość tworzenia i modyfikacji danych w tabeli lub kwerendzie. Jego wielką zaletą jest umiejętność zautomatyzowania

Bardziej szczegółowo

Inżynieria oprogramowania. Część 8: Metoda szacowania ryzyka - PERT

Inżynieria oprogramowania. Część 8: Metoda szacowania ryzyka - PERT UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI Opracował: mgr inż. Przemysław Pardel v1.01 2010 Inżynieria oprogramowania Część 8: Metoda szacowania ryzyka - PERT ZAGADNIENIA DO ZREALIZOWANIA (3H) PERT...

Bardziej szczegółowo

Pętle. Dodał Administrator niedziela, 14 marzec :27

Pętle. Dodał Administrator niedziela, 14 marzec :27 Pętlami nazywamy konstrukcje języka, które pozwalają na wielokrotne wykonywanie powtarzających się instrukcji. Przykładowo, jeśli trzeba 10 razy wyświetlić na ekranie pewien napis, to można wykorzystać

Bardziej szczegółowo

Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu dla odczytu Australia Employment Change

Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu dla odczytu Australia Employment Change Raport 4/2015 Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu dla odczytu Australia Employment Change autor: Michał Osmoła INIME Instytut nauk informatycznych i matematycznych

Bardziej szczegółowo

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA I WSPOMAGANIA DECYZJI Rozproszone programowanie produkcji z wykorzystaniem

Bardziej szczegółowo

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

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor S O M SELF-ORGANIZING MAPS Przemysław Szczepańczyk Łukasz Myszor Podstawy teoretyczne Map Samoorganizujących się stworzył prof. Teuvo Kohonen (1982 r.). SOM wywodzi się ze sztucznych sieci neuronowych.

Bardziej szczegółowo

Analiza składowych głównych. Wprowadzenie

Analiza składowych głównych. Wprowadzenie Wprowadzenie jest techniką redukcji wymiaru. Składowe główne zostały po raz pierwszy zaproponowane przez Pearsona(1901), a następnie rozwinięte przez Hotellinga (1933). jest zaliczana do systemów uczących

Bardziej szczegółowo

Algorytm grupowania danych typu kwantyzacji wektorów

Algorytm grupowania danych typu kwantyzacji wektorów Algorytm grupowania danych typu kwantyzacji wektorów Wstęp Definicja problemu: Typowe, rozważane dotychczas problemy koncentrowały się na nauczeniu na podstawie zbioru treningowego i zbioru etykiet klasyfikacji

Bardziej szczegółowo

Algorytm grupowania danych typu kwantyzacji wektorów

Algorytm grupowania danych typu kwantyzacji wektorów Algorytm grupowania danych typu kwantyzacji wektorów Wstęp Definicja problemu: Typowe, problemem często spotykanym w zagadnieniach eksploracji danych (ang. data mining) jest zagadnienie grupowania danych

Bardziej szczegółowo

Teoria przetwarzania A/C i C/A.

Teoria przetwarzania A/C i C/A. Teoria przetwarzania A/C i C/A. Autor: Bartłomiej Gorczyński Cyfrowe metody przetwarzania sygnałów polegają na przetworzeniu badanego sygnału analogowego w sygnał cyfrowy reprezentowany ciągiem słów binarnych

Bardziej szczegółowo

Metoda Karnaugh. B A BC A

Metoda Karnaugh. B A BC A Metoda Karnaugh. Powszechnie uważa się, iż układ o mniejszej liczbie elementów jest tańszy i bardziej niezawodny, a spośród dwóch układów o takiej samej liczbie elementów logicznych lepszy jest ten, który

Bardziej szczegółowo

Testowanie modeli predykcyjnych

Testowanie modeli predykcyjnych Testowanie modeli predykcyjnych Wstęp Podczas budowy modelu, którego celem jest przewidywanie pewnych wartości na podstawie zbioru danych uczących poważnym problemem jest ocena jakości uczenia i zdolności

Bardziej szczegółowo

Analiza obrazów - sprawozdanie nr 2

Analiza obrazów - sprawozdanie nr 2 Analiza obrazów - sprawozdanie nr 2 Filtracja obrazów Filtracja obrazu polega na obliczeniu wartości każdego z punktów obrazu na podstawie punktów z jego otoczenia. Każdy sąsiedni piksel ma wagę, która

Bardziej szczegółowo

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Metody optymalizacji Metody bezgradientowe optymalizacji bez ograniczeń Materiały pomocnicze do ćwiczeń

Bardziej szczegółowo

Analiza zależności liniowych

Analiza zależności liniowych Narzędzie do ustalenia, które zmienne są ważne dla Inwestora Analiza zależności liniowych Identyfikuje siłę i kierunek powiązania pomiędzy zmiennymi Umożliwia wybór zmiennych wpływających na giełdę Ustala

Bardziej szczegółowo

Implementacja filtru Canny ego

Implementacja filtru Canny ego ANALIZA I PRZETWARZANIE OBRAZÓW Implementacja filtru Canny ego Autor: Katarzyna Piotrowicz Kraków,2015-06-11 Spis treści 1. Wstęp... 1 2. Implementacja... 2 3. Przykłady... 3 Porównanie wykrytych krawędzi

Bardziej szczegółowo

Co to jest grupowanie

Co to jest grupowanie Grupowanie danych Co to jest grupowanie 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Szukanie grup, obszarów stanowiących lokalne gromady punktów Co to jest grupowanie

Bardziej szczegółowo

Priorytetyzacja przypadków testowych za pomocą macierzy

Priorytetyzacja przypadków testowych za pomocą macierzy Priorytetyzacja przypadków testowych za pomocą macierzy W niniejszym artykule przedstawiony został problem przyporządkowania priorytetów do przypadków testowych przed rozpoczęciem testów oprogramowania.

Bardziej szczegółowo

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych. Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą

Bardziej szczegółowo

Materiały dla finalistów

Materiały dla finalistów Materiały dla finalistów Malachoviacus Informaticus 2016 11 kwietnia 2016 Wprowadzenie Poniższy dokument zawiera opisy zagadnień, które będą niezbędne do rozwiązania zadań w drugim etapie konkursu. Polecamy

Bardziej szczegółowo

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa Diagnostyka i niezawodność robotów Laboratorium nr 6 Model matematyczny elementu naprawialnego Prowadzący: mgr inż. Marcel Luzar Cele ćwiczenia:

Bardziej szczegółowo

13. Równania różniczkowe - portrety fazowe

13. Równania różniczkowe - portrety fazowe 13. Równania różniczkowe - portrety fazowe Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie rzegorz Kosiorowski (Uniwersytet Ekonomiczny 13. wrównania Krakowie) różniczkowe - portrety fazowe 1 /

Bardziej szczegółowo

Wykład 4: Statystyki opisowe (część 1)

Wykład 4: Statystyki opisowe (część 1) Wykład 4: Statystyki opisowe (część 1) Wprowadzenie W przypadku danych mających charakter liczbowy do ich charakterystyki można wykorzystać tak zwane STATYSTYKI OPISOWE. Za pomocą statystyk opisowych można

Bardziej szczegółowo

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0 Uczenie się pojedynczego neuronu W0 X0=1 W1 x1 W2 s f y x2 Wp xp p x i w i=x w+wo i=0 Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z=0 Wówczas: W 1 x 1 + w 2 x 2 + = 0 Algorytm

Bardziej szczegółowo

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

Grupowanie. Iteracyjno-optymalizacyjne metody grupowania Algorytm k-średnich Algorytm k-medoidów. Eksploracja danych. Grupowanie wykład 2 Grupowanie Iteracyjno-optymalizacyjne metody grupowania Algorytm k-średnich Algorytm k-medoidów Grupowanie wykład 2 Tematem wykładu są iteracyjno-optymalizacyjne algorytmy grupowania. Przedstawimy i omówimy

Bardziej szczegółowo

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

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Piotr Dalka Przykładowe algorytmy decyzyjne Sztuczne sieci neuronowe Algorytm k najbliższych sąsiadów Kaskada klasyfikatorów AdaBoost Naiwny

Bardziej szczegółowo

Charakterystyki liczbowe (estymatory i parametry), które pozwalają opisać właściwości rozkładu badanej cechy (zmiennej)

Charakterystyki liczbowe (estymatory i parametry), które pozwalają opisać właściwości rozkładu badanej cechy (zmiennej) Charakterystyki liczbowe (estymatory i parametry), które pozwalają opisać właściwości rozkładu badanej cechy (zmiennej) 1 Podział ze względu na zakres danych użytych do wyznaczenia miary Miary opisujące

Bardziej szczegółowo

Agnieszka Nowak Brzezińska

Agnieszka Nowak Brzezińska Agnieszka Nowak Brzezińska jeden z algorytmów regresji nieparametrycznej używanych w statystyce do prognozowania wartości pewnej zmiennej losowej. Może również byd używany do klasyfikacji. - Założenia

Bardziej szczegółowo

Luty 2001 Algorytmy (4) 2000/2001

Luty 2001 Algorytmy (4) 2000/2001 Mając dany zbiór elementów, chcemy znaleźć w nim element największy (maksimum), bądź najmniejszy (minimum). We wszystkich naturalnych metodach znajdywania najmniejszego i największego elementu obecne jest

Bardziej szczegółowo

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

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych inż. Marek Duczkowski Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych słowa kluczowe: algorytm gradientowy, optymalizacja, określanie wodnicy W artykule

Bardziej szczegółowo

Agnieszka Nowak Brzezińska Wykład III

Agnieszka Nowak Brzezińska Wykład III Agnieszka Nowak Brzezińska Wykład III Naiwny klasyfikator bayesowski jest prostym probabilistycznym klasyfikatorem. Zakłada się wzajemną niezależność zmiennych niezależnych (tu naiwność) Bardziej opisowe

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

użytkownika 1 Jak wybrać temat pracy 2 Spis treści 3 Część pierwsza problematyka 4 Część druga stosowane metody 5 Część trzecia propozycja rozwiązania

użytkownika 1 Jak wybrać temat pracy 2 Spis treści 3 Część pierwsza problematyka 4 Część druga stosowane metody 5 Część trzecia propozycja rozwiązania 1 Jak wybrać temat pracy 2 Spis treści 3 Część pierwsza problematyka 4 Część druga stosowane metody 5 Część trzecia propozycja rozwiązania 6 Część czwarta dokumentacja techniczna i dokumentacja użytkownika

Bardziej szczegółowo

Statystyczne sterowanie procesem

Statystyczne sterowanie procesem Statystyczne sterowanie procesem SPC (ang. Statistical Process Control) Trzy filary SPC: 1. sporządzenie dokładnego diagramu procesu produkcji; 2. pobieranie losowych próbek (w regularnych odstępach czasu

Bardziej szczegółowo

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa). Algorytmy definicja, cechy, złożoność. Algorytmy napotykamy wszędzie, gdziekolwiek się zwrócimy. Rządzą one wieloma codziennymi czynnościami, jak np. wymiana przedziurawionej dętki, montowanie szafy z

Bardziej szczegółowo

Rozpoznawanie obrazów

Rozpoznawanie obrazów Rozpoznawanie obrazów Laboratorium Python Zadanie nr 1 Regresja liniowa autorzy: A. Gonczarek, J.M. Tomczak, S. Zaręba, M. Zięba, J. Kaczmar Cel zadania Celem zadania jest implementacja liniowego zadania

Bardziej szczegółowo

PDF created with FinePrint pdffactory Pro trial version http://www.fineprint.com

PDF created with FinePrint pdffactory Pro trial version http://www.fineprint.com Analiza korelacji i regresji KORELACJA zależność liniowa Obserwujemy parę cech ilościowych (X,Y). Doświadczenie jest tak pomyślane, aby obserwowane pary cech X i Y (tzn i ta para x i i y i dla różnych

Bardziej szczegółowo

Zaawansowane algorytmy i struktury danych

Zaawansowane algorytmy i struktury danych Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)

Bardziej szczegółowo

Wektory, układ współrzędnych

Wektory, układ współrzędnych Wektory, układ współrzędnych Wielkości występujące w przyrodzie możemy podzielić na: Skalarne, to jest takie wielkości, które potrafimy opisać przy pomocy jednej liczby (skalara), np. masa, czy temperatura.

Bardziej szczegółowo

Politechnika Świętokrzyska. Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 8. Filtracja uśredniająca i statystyczna.

Politechnika Świętokrzyska. Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 8. Filtracja uśredniająca i statystyczna. Politechnika Świętokrzyska Laboratorium Cyfrowe przetwarzanie sygnałów Ćwiczenie 8 Filtracja uśredniająca i statystyczna. Cel ćwiczenia Celem ćwiczenia jest zdobycie umiejętności tworzenia i wykorzystywania

Bardziej szczegółowo

Zajęcia 1. W następnej tabeli zebrane są dane używane w bibliotece, które są przetwarzane przez bibliotekarza w różnych fazach obsługi czytelnika.

Zajęcia 1. W następnej tabeli zebrane są dane używane w bibliotece, które są przetwarzane przez bibliotekarza w różnych fazach obsługi czytelnika. Zajęcia. Przykład : biblioteka. Aby zaprojektować bazę danych trzeba dobrze przyjrzeć się potrzebom jej przyszłej użytkowników, odwiedzić, oglądnąć, przemyśleć. W bazie będą gromadzone dane. Wiele z tych

Bardziej szczegółowo

Kwantyzacja wektorowa. Kodowanie różnicowe.

Kwantyzacja wektorowa. Kodowanie różnicowe. Kwantyzacja wektorowa. Kodowanie różnicowe. Kodowanie i kompresja informacji - Wykład 7 12 kwietnia 2010 Kwantyzacja wektorowa wprowadzenie Zamiast kwantyzować pojedyncze elementy kwantyzujemy całe bloki

Bardziej szczegółowo

Adrian Horzyk

Adrian Horzyk Metody Inteligencji Obliczeniowej Metoda K Najbliższych Sąsiadów (KNN) Adrian Horzyk horzyk@agh.edu.pl AGH Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej

Bardziej szczegółowo

4.1. Wprowadzenie...70 4.2. Podstawowe definicje...71 4.3. Algorytm określania wartości parametrów w regresji logistycznej...74

4.1. Wprowadzenie...70 4.2. Podstawowe definicje...71 4.3. Algorytm określania wartości parametrów w regresji logistycznej...74 3 Wykaz najważniejszych skrótów...8 Przedmowa... 10 1. Podstawowe pojęcia data mining...11 1.1. Wprowadzenie...12 1.2. Podstawowe zadania eksploracji danych...13 1.3. Główne etapy eksploracji danych...15

Bardziej szczegółowo

Czym jest OnDynamic? OnDynamic dostarcza wartościowych danych w czasie rzeczywistym, 24/7 dni w tygodniu w zakresie: czasu przejazdu,

Czym jest OnDynamic? OnDynamic dostarcza wartościowych danych w czasie rzeczywistym, 24/7 dni w tygodniu w zakresie: czasu przejazdu, Czym jest OnDynamic? OnDynamic (Multimodalny System Monitoringu Ruchu Drogowego) to inteligentna architektura czujników i specjalistycznego oprogramowania, które gwarantują przetwarzanie dużej ilości różnorodnych

Bardziej szczegółowo

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Zastosowanie średnich w statystyce i matematyce. Podstawowe pojęcia statystyczne. Streszczenie.

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Zastosowanie średnich w statystyce i matematyce. Podstawowe pojęcia statystyczne. Streszczenie. SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH Autorzy scenariusza:

Bardziej szczegółowo

Samochodowy system detekcji i rozpoznawania znaków drogowych. Sensory w budowie maszyn i pojazdów Maciej Śmigielski

Samochodowy system detekcji i rozpoznawania znaków drogowych. Sensory w budowie maszyn i pojazdów Maciej Śmigielski Samochodowy system detekcji i rozpoznawania znaków drogowych Sensory w budowie maszyn i pojazdów Maciej Śmigielski Rozpoznawanie obrazów Rozpoznawaniem obrazów możemy nazwać proces przetwarzania i analizowania

Bardziej szczegółowo

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar... 1. Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar... 1. Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16 Spis treści Przedmowa.......................... XI Rozdział 1. Pomiar: jednostki miar................. 1 1.1. Wielkości fizyczne i pozafizyczne.................. 1 1.2. Spójne układy miar. Układ SI i jego

Bardziej szczegółowo

SPIS TREŚCI. Do Czytelnika... 7

SPIS TREŚCI. Do Czytelnika... 7 SPIS TREŚCI Do Czytelnika.................................................. 7 Rozdział I. Wprowadzenie do analizy statystycznej.............. 11 1.1. Informacje ogólne..........................................

Bardziej szczegółowo

Populacja generalna (zbiorowość generalna) zbiór obejmujący wszystkie elementy będące przedmiotem badań Próba (podzbiór zbiorowości generalnej) część

Populacja generalna (zbiorowość generalna) zbiór obejmujący wszystkie elementy będące przedmiotem badań Próba (podzbiór zbiorowości generalnej) część Populacja generalna (zbiorowość generalna) zbiór obejmujący wszystkie elementy będące przedmiotem badań Próba (podzbiór zbiorowości generalnej) część populacji, którą podaje się badaniu statystycznemu

Bardziej szczegółowo

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH 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

Bardziej szczegółowo

Następnie przypominamy (dla części studentów wprowadzamy) podstawowe pojęcia opisujące funkcje na poziomie rysunków i objaśnień.

Następnie przypominamy (dla części studentów wprowadzamy) podstawowe pojęcia opisujące funkcje na poziomie rysunków i objaśnień. Zadanie Należy zacząć od sprawdzenia, co studenci pamiętają ze szkoły średniej na temat funkcji jednej zmiennej. Na początek można narysować kilka krzywych na tle układu współrzędnych (funkcja gładka,

Bardziej szczegółowo

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny.

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny. Filtracja nieliniowa może być bardzo skuteczną metodą polepszania jakości obrazów Filtry nieliniowe Filtr medianowy Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy

Bardziej szczegółowo

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

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

Bardziej szczegółowo