Nr wniosku: 261961, nr raportu: 18752. Kierownik (z rap.): dr inż
Transkrypt
Nr wniosku: 261961, nr raportu: 18752. Kierownik (z rap.): dr inż
Nr wniosku: 261961, nr raportu: 18752. Kierownik (z rap.): dr inż. Maciej Tadeusz Jaworski W niniejszym projekcie rozważany był problem eksploracji danych strumieniowych. Strumienie danych to potencjalnie nieskończone sekwencje danych. Z tego powodu, tradycyjne metody eksploracji danych nie mogą być w tym przypadku bezpośrednio stosowane - potrzebne są nowe metody. Ogólnie metody eksploracji danych (lub bardziej precyzyjnie metody maszynowego uczenia się) mogą zostać podzielone na metody uczenia nadzorowanego i nienadzorowanego. Uczenie nadzorowane jest używane do otrzymywania pewnej funkcji opisującej dane na podstawie danych uczących. Przykładem takiego uczenia jest klasyfikacja danych. Na podstawie zbioru uczącego system uczy się jak rozróżniać dane należące do różnych klas. Uczenie nienadzorowane natomiast, np. grupowanie danych, służy do odnajdywania pewnych struktur danych w zbiorach danych. W tym projekcie były rozważane zarówno metody nadzorowane jak i nienadzorowane. Istnieje wiele metod klasyfikacji danych używanych w eksploracji danych, np. sztuczne sieci neuronowe, algorytm k-najbliższych sąsiadów czy drzewa decyzyjne. Te ostatnie wydają się być najbardziej popularnym narzędziem używanych w kontekście danych strumieniowych. Aby wyjaśnić rezultaty uzyskane w niniejszym projekcie należy najpierw krótko zaprezentować jak działają drzewa decyzyjne. Drzewo decyzyjne hierarchicznie dzieli przestrzeń wartości danych na regiony, które powinny być tak "czyste" jak to tylko możliwe. Oznacza to, że dany region powinien zawierać elementy w których dominuje jedna z klas. Jeśli region zawiera elementy wymieszane z różnych klas, mówimy, że taki region jest "nieczysty". Ta nieczystość może być mierzona ilościowo przy użyciu różnych miar nieuporządkowania, np. entropia informacji, indeks Giniego czy błąd klasyfikacji. Ponieważ w przypadku danych strumieniowych dane docierają do systemu w sposób nieustanny, potrzebny jest w algorytmie dodatkowy element kryterium decyzyjne. Kryterium decyzyjne kontroluje tempo z jakim dokonują się podziały drzewa, tzn. kontroluje rozrost drzewa. W ramach projektu poprawiliśmy ilościowo kryteria decyzyjne związane z niektórymi miarami nieuporządkowania, np. z indeksem Giniego. Przeprowadzone badania doprowadziły do lepszego zrozumienia działania drzew decyzyjnych od strony teoretycznej. Ponadto, zaproponowanych zostało także wiele typów tzw. kryteriów hybrydowych. Drzewa decyzyjne z takimi kryteriami używają jednocześnie dwóch lub kilku miar nieuporządkowania. Symulacje numeryczne wykazały, że drzewa z hybrydowym kryterium decyzyjnym łączącym miary indeks Giniego i błąd klasyfikacji skutkują bardzo zadowalającymi wynikami jeśli chodzi o dokładność klasyfikacji danych. W projekcie opracowane zostały także nowe metody grupowania danych strumieniowych. Uzyskane metody, bazujące na popularnym algorytmie Fuzzy C-Means (FCM), mogą zostać użyte do śledzenia centrów grup danych w trakcie przetwarzania strumienia. Opracowane algorytmy mogą analizować dane zarówno o wartościach numerycznych jak i nominalnych. Algorytmy grupowania umożliwiają śledzenie zmian w rozkładzie prawdopodobieństwa analizowanych danych. Dlatego też opracowano metodę łączącą algorytmy grupowania z drzewami decyzyjnymi, otrzymując narzędzie do eksploracji danych zmiennych czasowo. Generalnie algorytmy eksploracji danych strumieniowych stanowią dziedzinę wiedzy, która ostatnio znajduje mnóstwo zastosowań w naszym codziennym życiu. Algorytmy te są często wykorzystywane w bankowości, filtrowaniu spamu, monitorowaniu sieci komputerowej, przetwarzaniu danych z sensorów oraz analizie danych naukowych.