Politechnika Poznańska Wydział Informatyki Streszczenie rozprawy doktorskiej mgr inż. Dariusz Brzeziński Blokowe i przyrostowe klasyfikatory złożone dla strumieni danych ze zmienną definicją klas Promotor: dr hab. inż. Jerzy Stefanowski, prof. PP 1 Wstęp Zakres rozprawy mieści się w dyscyplinie informatyki i obejmuje zagadnienia z tematyki uczenia maszynowego i eksploracji danych (ang. machine learning and data mining) [11, 9]. W szczególności, badania dotyczą problematyki systemów uczących się ze strumieni danych w ramach nadzorowanej klasyfikacji obiektów (ang. supervised learning). Klasyfikacja jest rozumiana jako proces przydzielania obiektów do predefiniowanych klas za pomocą funkcji automatycznie wyuczonej z danych, zwanej klasyfikatorem. Tradycyjnie proces uczenia klasyfikatorów odbywa się w oparciu o statyczne zbiory danych w postaci wstępnie przygotowanych baz danych. Jednakże, ze względu na nowe rodzaje zastosowań informatyki, takie jak monitorowanie sieci komputerowych czy analiza danych giełdowych, coraz częściej klasyfikatory są uczone i wykorzystywane w aplikacjach, w których przetwarzane informacje przyjmują postać strumieni danych. Strumień danych może być postrzegany jako sekwencja elementów (np. pakietów sieciowych, wiadomości e-mail, odczytów z czujników), które napływają w sposób asynchroniczny ze zmienną intensywnością. Strumienie, podobnie jak inne duże wolumeny danych, mogą być przedmiotem eksploracji danych, a w szczególności ich klasyfikacji. Jednakże, ze względu na rozmiar i intensywność strumieni danych, ich klasyfikacja musi spełniać ograniczenia na czas przetwarzania oraz wykorzystywaną pamięć operacyjną [3]. Co więcej, strumienie danych podlegają zjawisku dryftu, czyli zmianom rozkładów prawdopodobieństwa definicji klas decyzyjnych pozwalających generować nowe przykłady. Do typowych rodzajów dryftu należą stopniowa zmiana definicji (stopniowy dryft), gwałtowna zmiana definicji (nagły dryft) oraz czasowo zanikająca klasa [5]. Niestety tradycyjne metody eksploracji danych nie potrafią skutecznie klasyfikować danych z dryftem przy zachowaniu ograniczeń czasowych i pamięciowych. Istnieje zatem konieczność propozycji nowych algorytmów klasyfikacji, przystosowanych do przetwarzania strumieniowego. Wśród propozycji nowych metod klasyfikacji, dostosowanych do danych strumieniowych, jedną z najczęściej wykorzystywanych technik są klasyfikatory złożone. Klasyfikatory złożone (ang. classifier ensembles) to zbiory pojedynczych klasyfikatorów, zwanych 1
klasyfikatorami składowymi, które wspólnie (z reguły przez głosowanie) przewidują klasę decyzyjną. Modularna budowa klasyfikatorów złożonych sprawia, że mają one wiele cech przydatnych w przetwarzaniu strumieni danych. Ważenie głosów klasyfikatorów składowych pozwala dynamicznie reagować na zmiany. Budowanie nowych klasyfikatorów składowych z nadchodzących obiektów (przykładów) pozwala stopniowo polepszać działanie klasyfikatora bez przebudowywania wcześniej nauczonych fragmentów. Ponadto analiza literaturowa wskazuje, że klasyfikatory złożone są wykorzystywane zarówno w środowiskach strumieniowych gdzie przykłady przetwarzane są grupami (blokowo), jak i w środowiskach gdzie klasyfikacja odbywa się po każdym przykładzie bez możliwości analizy danych historycznych (przyrostowo). Ogólne właściwości, zdolności predykcyjne oraz wydajność blokowych i przyrostowych klasyfikatorów złożonych stanowią główny temat rozprawy doktorskiej. 1.1 Motywacje Uczenie klasyfikatorów ze strumieni danych ma coraz większe znaczenie praktyczne, szczególnie w takich dziedzinach jak energetyka, telekomunikacja czy bankowość, gdzie tempo napływania danych wymusza korzystanie z algorytmów efektywnych czasowo i pamięciowo. Są to równocześnie dziedziny, w których problem klasyfikacji podlega zjawisku dryftu i klasyczne algorytmy eksploracji danych nie potrafią zagwarantować wysokiej trafności predykcji nowych obiektów. Na podstawie analizy literaturowej istniejących rozwiązań można wysnuć wniosek, że dla obu opisanych sposobów przetwarzania strumieni wciąż brakuje elastycznych algorytmów zdolnych do reagowania równocześnie na wiele typów zmian. Proponowane do tej pory algorytmy skupiały się zwykle na jednym typie zmian, np. tylko na nagłym lub tylko na stopniowym dryfcie. Widać również wyraźny podział algorytmy skupiające się na reakcjach na nagłe zmiany były proponowane dla przetwarzania przyrostowego, a algorytmy ewoluujące wraz ze stopniowo zmieniającymi się strumieniami dominowały wśród algorytmów blokowych. Ponadto przegląd aktualnej literatury wskazuje, że należałoby dokładniej zbadać czynniki odpowiedzialne za sukces rozwiązań dla poszczególnych typów zmian w obu środowiskach przetwarzania i przeanalizować możliwość połączenia tych czynników, by stworzyć algorytm nadający się do klasyfikacji strumieni niezależnie od typu dryftu. W celu stworzenia takiego algorytm, należy rozważyć tworzenie klasyfikatorów złożonych, gdyż to podejście jest wspólne dla obu analizowanych sposobów przetwarzania danych. Jednocześnie można zauważyć, że obecnie w klasyfikacji strumieni danych dostępnych jest znacznie mniej miar oceny trafności klasyfikatorów niż w tradycyjnej eksploracji danych [8]. Jest to szczególnie widoczne w przypadku analizy niezrównoważonych danych (ang. imbalanced data). W przypadku tradycyjnej eksploracji danych oprócz najczęściej wykorzystywanej trafności klasyfikacji (ang. accuracy), wyliczanej jako stosunek poprawnie zaklasyfikowanych obiektów do wszystkich zaklasyfikowanych obiektów, istnieje szereg innych miar takich jak precision, recall, F-score, G-mean, czy pole pod krzywą ROC (ang. area under the ROC curve), które znacznie lepiej sprawdzają się w przypadku niezrówno- 2
ważonych danych [7]. Szczególnie ostatnia z wymienionych miar, pole pod krzywą ROC (w skrócie nazywana AUC), posiada szereg pozytywnych własności. Miara AUC jest między innymi niezależna od rozkładu klas, a zatem i od zmian w ich rozkładzie, oraz jest równoważna testowi statystycznemu Manna-Whitneya-Wilcoxona [13]. Jednakże, ze względu na skomplikowaną i kosztowną procedurę obliczania AUC, miara ta nie znalazła szerszego zastosowania w ocenie klasyfikatorów strumieniowych. Niemniej jednak przystosowanie miary AUC do przetwarzania strumieniowego byłoby niezwykle przydatne przy ocenie trafności klasyfikatorów uczących się z niezrównoważonych strumieni danych. 1.2 Cele pracy Podstawowym celem pracy jest zaproponowanie nowych metod konstrukcji klasyfikatorów złożonych, które będą reagować na różne typy zmian zachodzących w strumieniach danych. Metody te powinny działać zarówno w środowiskach gdzie przykłady przetwarzane są blokowo jak i przyrostowo oraz być konkurencyjne w stosunku do istniejących rozwiązań pod względem trafności predykcji, czasu działania i wymagań pamięciowych. W ramach tego celu zdefiniowano cztery cele szczegółowe: 1. Zaproponowanie nowego klasyfikatora blokowego. Istniejące klasyfikatory złożone dla przetwarzania blokowego skupiają się na reakcjach na stopniowe zmiany, głównie poprzez okresową wymianę klasyfikatorów składowych. W rozprawie zostanie zaproponowany algorytm Accuracy Updated Ensemble (AUE), który czerpie inspiracje z algorytmów przyrostowych, by lepiej reagować na nagłe, stopniowe i nawracające dryfty w środowiskach blokowych. Celem zaproponowanego algorytmu jest porównywalna, wysoka trafność klasyfikacji dla wielu typów zmian w strumieniu przy niskim zużyciu pamięci oraz krótkim czasie przetwarzania. 2. Analiza zależności między klasyfikatorami blokowymi i przyrostowymi. Kolejnym celem jest zbadanie czy istnieje możliwość przenoszenia elementów rozwiązań istniejących w klasyfikatorach blokowych do metod działających przyrostowo. W tym celu zaproponowane i ocenione zostaną trzy strategie dostosowujące algorytmy blokowe do środowisk przyrostowych: a) wykorzystanie metody okien przesuwnych do przyrostowego oceniania i ważenia głosów klasyfikatorów składowych, b) dodanie pojedynczego klasyfikatora przyrostowego do blokowych klasyfikatorów składowych, c) wykorzystanie detektora dryftu do wcześniejszego reagowania na nagłe zmiany w strumieniu. 3. Zaproponowanie nowego klasyfikatora przyrostowego. W oparciu o analizę wymienionych trzech strategii przekształcania klasyfikatorów blokowych w przyrostowe, zaproponowany zostanie algorytm Online Accuracy Updated Ensemble (OAUE). Algorytm OAUE przeznaczony będzie do uczenia się ze strumieni gdzie 3
przykłady przetwarzane są przyrostowo, a nie blokowo. Zaproponowany algorytm będzie przyrostowo uczył i oceniał klasyfikatory składowe zgodnie z najlepszymi strategiami reakcji na nagłe i stopniowe typy zmian. 4. Zaproponowanie sposobu oceny klasyfikatorów strumieniowych uczonych z danych niezrównoważonych. Ostatnim celem szczegółowym rozprawy jest zaproponowanie nowej miary oceny klasyfikatorów, przystosowanej do przyrostowego przetwarzania strumieni o niezrównoważonych rozkładach klas. W tym celu najpierw wskazane zostaną problemy w zastosowaniu i interpretacji istniejących metod oceny klasyfikatorów dla strumieni danych, a następnie zaproponowana zostanie nowa metoda obliczania pola pod krzywą ROC o nazwie Prequential AUC. Zaproponowana metoda zostanie przeanalizowana pod względem efektywności obliczeniowej i porównana z istniejącymi metodami obliczania AUC, znanymi z tradycyjnej eksploracji danych. W drugim rozdziale rozprawy przedstawione zostały podstawowe definicje związane z uczeniem z danych strumieniowych. Wyjaśnione zostały m.in. pojęcia klasyfikacji, strumienia danych, uczenia blokowego i przyrostowego, oraz dryftu. Ponadto rozdział drugi zawiera przegląd algorytmów klasyfikacji strumieni danych. W ramach przeglądu przeanalizowano trzy podstawowe grupy algorytmów: okna przesuwne, detektory dryftu, klasyfikatory złożone. Kolejne rozdziały rozprawy zawierają oryginalne badania autora. W celu ułatwienia czytelnikowi polskojęzycznemu zapoznanie się z dysertacją, w kolejnych punktach omówiono pokrótce zawartość i główne osiągnięcia rozdziałów 3, 4, 5 i 6, opisujących wyniki realizacji czterech szczegółowych celów rozprawy. 2 Algorytm Accuracy Updated Ensemble W rozdziale trzecim wprowadzono nowy klasyfikator blokowy o nazwie Accuracy Updated Ensemble (AUE) zaprojektowany by równie dobrze reagować na nagłe jak i powolne zmiany w strumieniu. Algorytm ten stara się łączyć mechanizmy charakterystyczne dla przetwarzania blokowego z elementami uczenia przyrostowego. Jego podstawowe cechy to: Algorytm AUE tworzy nowy klasyfikator składowy wraz z każdym kolejnym blokiem przykładów, podobnie jak większość klasyfikatorów blokowych takich jak AWE [12], SEA [10] czy Learn++.NSE [2]. Dzięki temu zaproponowany algorytm powinien dobrze reagować na powolne zmiany zachodzące w strumieniu. W przeciwieństwie do algorytmów blokowych, AUE korzysta z przyrostowych klasyfikatorów składowych. Tym samym zaproponowany algorytm może douczać wcześniej stworzone klasyfikatory składowe. Takie podejście pozwala korzystać z mniejszych bloków do tworzenia klasyfikatorów, gdyż z czasem mogą zyskać na trafności po douczeniu się nowych przykładów. Oznacza to również, że AUE będzie w stanie reagować na nagłe zmiany w strumieniu szybciej niż typowe algorytmy blokowe. 4
Ostateczna predykcja AUE jest uzyskiwana poprzez ważone głosowanie wszystkich klasyfikatorów składowych. Ważność głosu każdego klasyfikatora składowego określana jest na podstawie jego błędu średnio kwadratowego klasyfikacji (ang. mean square error). W tym celu została zaproponowana nowa funkcja określająca ważność klasyfikatora składowego w ij : MSE ij = 1 B j {x,y} B j (1 f iy (x)) 2 MSE r = y p(y)(1 p(y)) 2 w ij = 1 MSE r + MSE ij + ɛ Funkcja f iy (x) oznacza prawdopodobieństwo określone przez klasyfikator składowy C i, że przykład x jest instancją klasy y. MSE ij szacuje błąd klasyfikatora składowego C i na bloku obiektów B j, MSE r to błąd klasyfikatora losowego określany na podstawie rozkładu klas y w ostatnim bloku danych, a ɛ to bardzo mała wartość dodatnia umożliwiająca obliczenie w ij nawet gdy MSE r i MSE ij są równe zero. Celem tak skonstruowanej funkcji ważącej jest połączenie informacji o trafności klasyfikatora z informacją o aktualnym rozkładzie klas. Waga nowo stworzonego klasyfikatora składowego, tzw. klasyfikatora kandydującego (ang. candidate classifier), jest określana w inny sposób niż klasyfikatorów składowych stworzonych na wcześniejszych blokach danych. Klasyfikator kandydujący otrzymuje wagę w C zdefiniowaną jako: w C = 1 MSE r + ɛ W przeciwieństwie do wcześniej zaproponowanych algorytmów, klasyfikator kandydujący jest oceniany jak idealny klasyfikator, tj. taki dla którego MSE ij wynosi zero. Takie podejście oparte jest na założeniu, że klasyfikator składowy nauczony na najświeższych przykładach najlepiej reprezentuje aktualny rozkład danych. Ponadto taka funkcja pozwala bardzo szybko wyliczyć wagę klasyfikatora składowego, gdyż, w przeciwieństwie do wcześniej zaproponowanych metod, nie wymaga oceny krzyżowej (ang. cross-validation). Algorytm AUE kontroluje zużycie pamięci i w przypadku przekroczenia określonego przez użytkownika limitu, zmniejsza rozmiar klasyfikatorów składowych poprzez usunięcie najrzadziej wykorzystywanych elementów (ang. classifier pruning). Opisane powyżej cechy charakterystyczne zaproponowanego algorytmu zostały wybrane na podstawie analizy eksperymentalnej. Rozdział 3. rozprawy zawiera opis badań różnych funkcji ważących oraz strategii douczania klasyfikatorów składowych. Wyniki eksperymentów sugerują, że wszystkie klasyfikatory składowe powinny być douczane po każdym bloku obiektów. Takie podejście tworzy silne pod względem trafności klasyfikatory 5
składowe. Powyższe wyniki zdają się być zbieżne z wynikami zaprezentowanymi w [2], potwierdzając tym samym, że zmienne strumienie danych w naturalny sposób dywersyfikują składowe klasyfikatorów złożonych. Algorytm AUE został eksperymentalnie porównany z 11 algorytmami obejmującymi pojedyncze klasyfikatory, detektory dryftu oraz złożone klasyfikatory blokowe i przyrostowe. Wyniki eksperymentów wykazały wyższość zaproponowanego algorytmu nad konkurencyjnymi pod względem trafności klasyfikacji. AUE średnio uzyskiwał najlepszą trafność klasyfikacji testowaną na 15 zbiorach danych symulujących różne typy zmian w strumieniu. Istotność tego wyniku została potwierdzona testami statystycznymi Friedmana, Bonferroniego-Dunna i Wilcoxona przy poziomie istotności α = 0.05. Ponadto zaproponowany algorytm uczył się nowych obiektów szybciej niż inne klasyfikatory złożone oraz zużywał od nich mniej pamięci. 3 Sposoby transformacji klasyfikatorów blokowych w przyrostowe W czwartym rozdziale rozprawy przeanalizowany został problem przystosowywania algorytmów blokowych do przetwarzania strumieni przyrostowo, przykład po przykładzie. W tym celu zaproponowane zostały trzy ogólne (tj. niezależne od zmienianego algorytmu) strategie przekształcające klasyfikatory blokowe w czysto przyrostowe. Pierwsza strategia wykorzystuje okno przesuwne, aby po każdym nowym obiekcie nadchodzącym ze strumienia móc obliczyć wagi każdego klasyfikatora składowego. W ten sposób wagi klasyfikatorów składowych zmieniają się przyrostowo co sprawia, że mogą reagować szybciej na nagłe zmiany w strumieniu. Ze względu na koszty obliczeniowe nowe klasyfikatory składowe nadal są tworzone co blok, a nie po każdym przykładzie. Druga strategia opiera się na wzbogaceniu przekształcanego algorytmu blokowego o pojedynczy klasyfikator przyrostowy. Taki klasyfikator może uczyć się co przykład i tym samym wspomagać algorytm blokowy przy klasyfikacji kolejnych przykładów. Aby dodatkowy klasyfikator składowy miał odpowiednią siłę podczas tworzenia ostatecznej predykcji, jego waga została ustalona jako maksimum wag pozostałych klasyfikatorów składowych. Taki sposób obliczania wagi dodatkowego klasyfikatora przyrostowego pozostaje niezależny od przekształcanego algorytmu, co było jednym z wymagań postawionych przed proponowanymi strategiami. Trzecia z zaproponowanych strategii wykorzystuje detektor dryftu, aby wykrywać nagłe zmiany zachodzące w strumieniu. W przypadku wykrycia dryftu klasyfikator złożony zostaje przebudowany, a pamięć detektora wyczyszczona. Wyniki eksperymentów sprawdzających działanie wszystkich trzech strategii na algorytmach AUE (zaproponowanym w rozdziale trzecim rozprawy) i AWE [12] wykazały, że każda z nich pozytywnie wpływa na trafność klasyfikacji przekształconych klasyfikatorów. Jednakże nie wszystkie strategie okazały się równie skuteczne. Zaobserwowano, że wykorzystanie okna przesuwnego było najlepszym przekształceniem pod względem trafności klasyfikacji. Niestety była to również najkosztowniejsza strategia pod względem czasu 6
przetwarzania, gdyż wymagała wielokrotnego klasyfikowania tych samych przykładów. Zauważono ponadto, że elementy uczenia przyrostowego były kluczowym elementem przy poprawie trafności klasyfikacji dla algorytmu AWE który korzysta z statycznych, nie przyrostowych, klasyfikatorów składowych, strategia polegająca na dodaniu klasyfikatora przyrostowego była zdecydowanie najlepsza. Choć w mniejszym stopniu, detektory dryftu również poprawiały trafność klasyfikacji, lecz było to w znacznie większej mierze uzależnione od zmian zachodzących w strumieniu. Najważniejszą obserwacją z przeprowadzonej analizy zaproponowanych strategii była wyraźna różnica wpływu każdej strategii na algorytmy AWE i AUE. To pokazuje, że choć ogólne strategie przekształcania algorytmów blokowych w przyrostowe mogą być w pewnym stopniu skuteczne, to strategie dopasowane do zmienianego algorytmu powinny działać znacznie lepiej. Ten problem był szczególnie widoczny w przypadku strategii wykorzystującej okno przesuwne. Choć samo przekształcenie poprawiało trafność klasyfikacji obu algorytmów, odbywało się to wysokim kosztem obliczeniowym będącym konsekwencją ogólności proponowanego rozwiązania. 4 Algorytm Online Accuracy Updated Ensemble Na podstawie analizy ogólnych strategii przekształcania klasyfikatorów blokowych w przyrostowe, w rozdziale piątym rozprawy zaproponowano nowy klasyfikator przyrostowy o nazwie Online Accuracy Updated Ensemble (OAUE). Zaproponowany algorytm nie tylko klasyfikuje, ale również aktualizuje klasyfikatory składowe przyrostowe. Podstawowe cechy algorytmu OAUE to: OAUE tworzy nowe klasyfikatory składowe co określoną przez użytkownika liczbę przykładów d. Taki mechanizm jest zaczerpnięty z działania klasyfikatorów blokowych i ma zapewnić utrzymanie dobrej trafności klasyfikacji w przypadku powolnych zmian zachodzących w strumieniu. Algorytm OAUE korzysta z przyrostowych klasyfikatorów składowych, które douczane są po każdym przykładzie. Takie podejście jest kluczowe do uzyskania wysokiej trafności klasyfikacji przy przetwarzaniu przyrostowym. Ponadto przy douczaniu po każdym przykładzie klasyfikator szybciej reaguje na nagłe zmiany w strumieniu. Zaproponowany algorytm korzysta z nowej funkcji ważącej, która ocenia błąd średnio kwadratowy klasyfikatorów składowych w oparciu o d ostatnich predykcji. Różnica w stosunku do algorytmu AUE polega na tym że ocena ta odbywa się przyrostowo, a co ważniejsze w stałym czasie i przy stałej pamięci. Waga klasyfikatora składowego C i w momencie t obliczana jest jako w t i : MSEi t = MSEi t 1 + et i d et d id, t τ i > d t τ i 1 MSEi t 1 + et i, t τ i t τ i 0, t τ i = 0 7 1 t τ i d
e t i = (1 f t iy(x t )) 2 MSE MSEr t r t 1 r t 1 (y t ) r t 1 (y t d ) + r t (y t ) + r t (y t d ), t > d = r t (y), t = d y r t (y) = p t (y)(1 p t (y)) 2 w t i = 1 MSE t r + MSE t i + ɛ gdzie τ i oznacza moment stworzenia klasyfikatora C i, a f t iy (xt ) to funkcja zwracająca prawdopodobieństwo określone przez klasyfikator składowy C i, że przykład x t jest instancją klasy y t. W praktyce przedstawiona funkcja ważąca jest oparta na funkcji zaproponowanej dla algorytmu AUE, ale potrafi ważyć klasyfikatory składowe przyrostowo. Podobnie jak algorytm AUE, OAUE traktuje klasyfikatory kandydujące jak klasyfikatory idealne oraz ogranicza rozmiar klasyfikatorów składowych w przypadku gdy zużycie pamięci jest większe niż maksymalne ustalone przez użytkownika. Rozdział piąty rozprawy bada również własności zaproponowanego algorytmu. Sprawdzone zostały różnice pomiędzy wykorzystaniem liniowej a nieliniowej funkcji ważącej. Zauważono, że funkcja liniowa lepiej zachowywała się przy zmianach nagłych, ale była bardziej wrażliwa na szum. Funkcja nieliniowa z kolei lepiej reagowała na powolne dryfty i zapewniała wyższą trafność klasyfikacji dla strumieni danych niezawierających żadnych zmian. Ponadto został zbadany wpływ parametru d (rozmiaru okna przesuwnego) na trafność klasyfikacji OAUE. Porównanie siedmiu rozmiarów okien z przedziału d [500; 2000] pokazało, że zmiany w trafności klasyfikacji dla tych rozmiarów nie są statystycznie istotne przy poziomie istotności α = 0.05. Zgodnie z oczekiwaniami, większy rozmiar okna przesuwnego miał natomiast wpływ na liniowo większe zużycie pamięci i czas przetwarzania. Algorytm OAUE został eksperymentalnie porównany z 4 konkurencyjnymi klasyfikatorami przyrostowymi. Klasyfikatory blokowe nie były brane pod uwagę, gdyż przy przetwarzaniu przyrostowym osiągają znacznie gorsze wyniki niż klasyfikatory przyrostowe. Wyniki eksperymentów wykazały wysoką trafność klasyfikacji zaproponowanego algorytmu, lepszą lub porównywalną z konkurencyjnymi rozwiązaniami. OAUE średnio uzyskiwał najlepszą trafność klasyfikacji testowaną na 16 zbiorach danych symulujących różne typy dryftów. Ponadto zaproponowany algorytm uczył się nowych przykładów szybciej niż konkurencyjne klasyfikatory złożone oraz zużywał od nich mniej pamięci. 5 Miary oceny klasyfikatorów dla niezrównoważonych strumieni danych Rozdział szósty powiązany jest z ostatnim celem szczegółowym rozprawy. W tym rozdziale został wykonany przegląd miar wykorzystywanych do oceny algorytmów uczonych 8
ze strumieni danych. Celem przeglądu było wskazanie wad istniejących miar w przypadku stosowania ich do oceny klasyfikatorów uczonych ze strumieni o niezrównoważonym rozkładzie klas. Niezrównoważenie rozumiane jest tutaj jako sytuacja, w której przykłady jednej z klas występują znacznie rzadziej (lub częściej) niż przykłady innych klas. W takim wypadku część miar, jak na przykład globalna trafność klasyfikacji, dokonuje zbyt optymistycznej oceny klasyfikatorów. Z tego względu w eksploracji tradycyjnych danych statycznych zaleca się korzystanie z innych miar. Najpopularniejszą miarą przystosowaną do niezrównoważonych danych jest AUC, czyli pole pod krzywą ROC (ang. area under the Receiver Operator Characteristic curve). Jednakże ze względu na kosztowną procedurę obliczeniową, wykorzystanie tej miary było ograniczone do małych strumieni danych, a sama ocena nie odbywała się przyrostowo. W rozdziale szóstym rozprawy przedstawiono nowy sposób szacowania pola pod krzywą ROC, który jest przystosowany do strumieni danych ze zmienną definicją klas. Zaproponowany algorytm, o nazwie Prequential AUC, okazał się wydajny obliczeniowo i przydatny przy ocenianiu trafności predykcji klasyfikatorów strumieniowych. Prędkość działania, wizualizacje w dziedzinie czasu jak i przydatność przedstawionej metody przy detekcji dryftów zostały pozytywnie porównane z dwoma najczęściej wykorzystywanymi miarami oceny klasyfikatorów strumieniowych miarą κ [1] i trafnością klasyfikacji [3]. Wykazano również, że dla strumieni nie zawierających żadnych zmian Prequential AUC uśrednione po całym strumieniu jest statystycznie spójne i porównywalnie dyskryminujące [6] z AUC liczonym tradycyjnie na całym strumieniu naraz. To porównanie uwzględniało również liczenie AUC blokowo, jednak ta metoda okazała się gorsza zarówno pod względem spójności jak i stopnia dyskryminacji. Algorytm Prequential AUC został wykorzystany podczas porównywania klasyfikatorów przyrostowych na strumieniach danych o niezrównoważonym rozkładzie klas. Zbadano również szereg nowych, nierozważanych do tej pory, typów zmian jakimi są nagłe i stopniowe zmiany rozkładu klas. Zaproponowana metoda oceny okazała się znacznie przydatniejsza niż dotychczas wykorzystywana w literaturze trafność klasyfikacji. Metoda Prequential AUC była w stanie wyraźnie pokazać zarówno nagłe jak i stopniowe zmiany rozkładu klas zachodzące w strumieniu, podczas gdy trafność klasyfikacji nie była w stanie tych różnic pokazać. Korzystając z algorytmu Prequential AUC zauważono również, że zaproponowane do tej pory klasyfikatory nie są przygotowane do reagowania ani na nagłe, ani na stopniowe zmiany rozkładu klas. Tym samym problem uczenia klasyfikatorów ze strumieni ze zmieniającym się rozkładem klas stanowi interesujący temat przyszłych badań. 6 Podsumowanie i wnioski W rozprawie rozważano problem uczenia klasyfikatorów blokowych i przyrostowych ze strumieni danych zmieniających się w czasie. Autor rozprawy uważa, że cel główny dysertacji, a także cele szczegółowe zdefiniowane w rozdziale pierwszym, zostały osiągnięte. Poniżej wymieniono główne osiągnięcia pracy. 9
1. Zaproponowano klasyfikator blokowy AUE, który trafnie reaguje na wiele typów dryftu, przy zachowaniu ograniczeń pamięciowych i czasowych. W ramach prac nad algorytmem zauważono, że elementy uczenia przyrostowego mogą być przydatne również przy przetwarzaniu blokowym oraz że douczane powinny być wszystkie klasyfikatory składowe. 2. Przedstawiono i przeanalizowano trzy skuteczne strategie przekształcające algorytmy blokowe w przyrostowe. Wykazano zalety i wady każdej strategii oraz zauważono, że aby osiągnąć najlepsze efekty strategie należy dostosowywać do konkretnych algorytmów. 3. Zaproponowano klasyfikator przyrostowy OAUE, który trafnie reaguje na wiele typów zmian i działa szybciej niż konkurencyjne algorytmy. Cechą charakterystyczną przedstawionego algorytmu jest możliwość oceny błędu średnio kwadratowego klasyfikatorów składowych bez konieczności przetwarzania przykładów blokami. 4. Przeanalizowano istniejące miary oceny klasyfikatorów strumieniowych i zaproponowano nową metodę o nazwie Prequential AUC. Zaproponowana metoda może być wykorzystywana do oceny klasyfikatorów uczących się ze strumieni zrównoważonych, niezrównoważonych oraz ze zmieniającym się rozkładem klas. Wykazano przy tym, że w przypadku strumieni, w których nie zachodzą zmiany, Prequential AUC jest statystycznie spójna z miarą AUC znaną z tradycyjnej eksploracji danych, a przy tym przystosowana do wymagań narzuconych przez przetwarzanie strumieniowe. Powyższe osiągnięcia otwierają wiele możliwości dalszych badań. Jak pokazały eksperymenty w 3. rozdziale rozprawy, połączenia wielu typów zmian mogą stanowić interesujące tematy badawcze. Obecnie klasyfikatory strumieniowe są projektowane głównie z myślą o pojedynczych, oddzielonych od siebie zmianach. Jednakże, jak pokazały przeprowadzone w rozprawie eksperymenty, kombinacje nagłych i powolnych zmian są wyjątkowo trudne do prawidłowej klasyfikacji. Powyższy przykład stanowi tylko jedno możliwe połączenie i wiele innych może być wartych przeanalizowania. Zauważono również, że zmiany rozkładu klas stanowią wyzwanie dla obecnych metod uczenia się ze strumieni danych. Wedle wiedzy autora, tego typu zmiany nie były do tej pory rozważane w literaturze. Niemniej jednak, w przypadku analizy danych z wielu strumieni, tego typu zmiany rozkładu klas mogą być obserwowane w praktyce. Przykładowo, gdy część czujników w monitorowanym procesie przestanie działać, klasyfikator pozostanie tylko z fragmentem danych [4]. To z kolei może spowodować zmianę rozkładu klas, która, jak zostało zaobserwowane w rozdziale 6. rozprawy, może zmniejszyć trafność klasyfikacji algorytmu uczącego. W związku z tym problem tworzenia klasyfikatorów odpornych na zmiany rozkładu klas można uznać za interesujący temat do dalszych badań. Również propozycja algorytmu Prequential AUC powinna otworzyć wiele nowych możliwości związanych z oceną klasyfikatorów strumieniowych [8]. Po pierwsze zaproponowana metoda powinna ułatwić ocenę, a tym samym rozwój, klasyfikatorów uczonych z niezrównoważonych strumieni danych. Ponadto efektywny sposób przyrostowego obliczania AUC z 10
zapominaniem może znaleźć zastosowanie w optymalizacji klasyfikatorów strumieniowych. Dla przykładu, wiele obecnie proponowanych klasyfikatorów złożonych dla strumieni danych wykorzystuje trafność klasyfikacji do ważenia i selekcji klasyfikatorów składowych. Dzięki Prequential AUC takie operacje będą mogły być wykonywane z wzięciem pod uwagę stabilniejszej miary oceny. Temat ten jest szczególnie interesujący, gdyż w tradycyjnej eksploracji danych AUC jest uznawane za lepszą miarę optymalizacyjną niż trafność klasyfikacji [6]. 11
Bibliografia [1] Albert Bifet and Eibe Frank. Sentiment knowledge discovery in twitter streaming data. In Proceedings of the 13th Discovery Science International Conference, volume 6332 of Lecture Notes in Computer Science, pages 1 15. Springer, 2010. [2] Ryan Elwell and Robi Polikar. Incremental learning of concept drift in nonstationary environments. IEEE Trans. Neural Netw., 22(10):1517 1531, Oct. 2011. [3] João Gama. Knowledge Discovery from Data Streams. Chapman and Hall/CRC, 2010. [4] João Gama and Mohamed M. Gaber. Learning from Data Streams: Processing Techniques in Sensor Networks. New generation computing. Springer, 2007. [5] João Gama, Indrė Žliobaitė, Albert Bifet, Mykola Pechenizkiy, and Abdelhamid Bouchachia. A survey on concept drift adaptation. ACM Computing Surveys, 46(4), 2014. [6] Jin Huang and Charles X. Ling. Using AUC and accuracy in evaluating learning algorithms. IEEE Trans. Knowl. Data Eng., 17(3):299 310, 2005. [7] Nathalie Japkowicz and Mohak Shah. Evaluating Learning Algorithms: A Classification Perspective. Cambridge University Press, 2011. [8] Georg Krempl, Indrė Žliobaitė, Dariusz Brzezinski, Eyke Hüllermeier, Mark Last, Vincent Lemaire, Tino Noack, Ammar Shaker, Sonja Sievi, Myra Spiliopoulou, and Jerzy Stefanowski. Open challenges for data stream mining research. SIGKDD Explorations, 16(1):1 10, 2014. [9] Tom M. Mitchell. Machine learning. McGraw Hill series in computer science. McGraw-Hill, 1997. [10] W. Nick Street and YongSeog Kim. A streaming ensemble algorithm (SEA) for largescale classification. In Proceedings of the 7th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pages 377 382, 2001. [11] Pang-Ning Tan, Michael Steinbach, and Vipin Kumar. Introduction to Data Mining. Addison Wesley, May 2005. 13
[12] Haixun Wang, Wei Fan, Philip S. Yu, and Jiawei Han. Mining concept-drifting data streams using ensemble classifiers. In Proceedings of the 9th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pages 226 235. ACM, 2003. [13] Shaomin Wu, Peter A. Flach, and Cèsar Ferri Ramirez. An improved model selection heuristic for AUC. In Proceedings of the 8th European Conference on Machine Learning, volume 4701 of Lecture Notes in Computer Science, pages 478 489. Springer, 2007. 14