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.