Dariusz Brzeziński Politechnika Poznańska
Klasyfikacja strumieni danych Algorytm AUE Adaptacja klasyfikatorów blokowych do przetwarzania przyrostowego Algorytm OAUE Dlasze prace badawcze Blokowa i przyrostowa klasyfikacja w strumieniach danych 2
Strumień danych to sekwencja elementów, które napływają w sposób ciągły w zmiennych interwałach czasu. Wymagania wobec przetwarzania strumieni: ograniczony czas ograniczona pamięć reakcja na zmiany Concept drift zmiany definicji klas przewidywanych przez model w czasie. Blokowa i przyrostowa klasyfikacja w strumieniach danych 3
Blokowa i przyrostowa klasyfikacja w strumieniach danych 4
Okna przesuwne Detektory dryftu Klasyfikatory złożone Klasyfikatory pojedyncze: DDM, EDDM, CVFDT, FISH, FLORA, ADWIN Klasyfikatory złożone: SEA, AWE, BWE, DWM, ACE, HOT, Bag, Lev, Learn ++.NSE Blokowa i przyrostowa klasyfikacja w strumieniach danych 5
Reacting to Different Types of Concept Drift: The Accuracy Updated Ensemble Algorithm, D. Brzezinski and J. Stefanowski; IEEE Transactions on Neural Networks and Learning Systems, 2013. Accuracy Updated Ensemble for Data Streams with Concept Drift, - ; Proc. HAIS 2011, LNCS 6679. Główna idea: Przyrostowo aktualizować klasyfikatory bazowe zgodnie z aktualnym rozkładem danych Okresowe douczanie istniejących klasyfikatorów Najnowszy klasyfikator - idealny (MSE i = 0) Brak bufora klasyfikatorów bazowych Mechanizm ograniczania zajętości pamięciowej Blokowa i przyrostowa klasyfikacja w strumieniach danych 6
VFDT jako klasyfikatory bazowe Douczanie wcześniej stworzonych klasyfikatorów bazowych Większa niezależność od rozmiaru bloku danych Nieliniowa funkcja do ważenia składowych Wysoka trafność dla wielu typów zmian ( w i MSE r 1 MSE i ) Blokowa i przyrostowa klasyfikacja w strumieniach danych 7
12 algorytmów: ACE, HOT, AUE (dwie wersje) DDM, Win, NB AWE, DWM, Online Bagging, Lev. Bagging, Learn ++.NSE 15 zbiorów danych 11 sztucznych and 4 rzeczywiste Od 45 000 to 10 000 000 przykładów Różne typy zmian incremental, gradual, sudden, recurring, mixed, blips, no drift Badane: czas, pamięć i trafność klasyfikacji Blokowa i przyrostowa klasyfikacja w strumieniach danych 8
Wykres 1: Trafność klasyfikacji na zbiorze RBF GR (wolne, stopniowe zmiany) Blokowa i przyrostowa klasyfikacja w strumieniach danych 9
Wykres 2: Trafność klasyfikacji na zbiorze Tree S (szybkie nagłe zmiany) Blokowa i przyrostowa klasyfikacja w strumieniach danych 10
Ranking wg testu Friedmana dla trafności klasyfikacji AUE2 2,20 Oza 3,67 AUE1 4,00 Lev 5,27 HOT 5,40 AWE 6,40 DDM 6,47 ACE 7,33 Win 8,80 NB 9,07 NSE 9,60 DWM 9,80 Tabela 1: Średnia trafność klasyfikacji Zbiór ACE AWE AUE1 AUE2 HOT DDM Win Lev NB Oza DWM NSE Hyp_S 80,65 90,43 88,59 88,43 83,23 87,92 87,56 85,36 81,00 89,89 71,20 86,83 Hyp_F 84,56 89,21 88,58 89,46 83,32 86,86 86,92 87,21 78,05 89,32 76,69 85,39 RBF_B 87,34 78,82 94,07 94,77 93,79 88,30 73,07 95,28 66,97 93,08 78,11 73,02 RBF_GR 87,54 79,74 93,37 94,43 93,24 87,99 74,67 94,74 62,01 92,56 77,80 74,49 RBF_ND 84,74 72,63 92,42 93,33 91,20 87,62 71,12 92,24 72,00 91,37 76,06 71,07 SEA_S 86,39 87,73 89,00 89,19 87,07 88,37 86,85 87,09 86,18 88,80 78,30 86,23 SEA_F 86,22 86,40 88,36 88,72 86,25 87,80 85,55 86,68 84,98 88,37 79,33 85,07 Tree_S 65,77 63,74 84,35 84,94 69,68 80,58 50,15 81,69 47,88 81,67 51,19 49,37 Tree_F 45,97 45,35 52,87 45,32 40,34 42,74 41,54 33,42 35,02 43,40 29,30 33,90 LED_M 64,70 67,11 67,29 67,58 66,92 67,17 65,52 66,74 67,15 67,62 44,43 62,86 LED_ND 46,33 51,27 50,68 51,26 51,17 51,05 47,07 50,64 51,27 51,23 26,86 47,16 Elec 75,83 69,33 70,86 77,32 78,21 64,45 70,35 76,08 73,08 77,34 72,43 73,34 Cov 67,05 79,34 81,24 85,20 86,48 58,11 77,19 81,04 66,02 80,40 80,84 77,16 Poker 67,38 59,99 60,57 66,10 74,77 60,23 58,26 82,62 58,09 61,13 74,49 59,56 Airlines 66,75 63,31 63,92 67,37 66,18 65,79 64,93 63,10 66,84 66,39 61,00 63,83 Blokowa i przyrostowa klasyfikacja w strumieniach danych 11
Dobre reakcje zarówno na nagły jak i stopniowy dryft Odporność na szum i krótkotrwałe zmiany Bardzo dobra trafność w przypadku braku dryftu Średnio najlepsza trafność klasyfikacji AUE Niższe wymagania pamięciowe i czasowe względem części klasyfikatorów złożonych (NSE,HOT,Lev,Oza) Blokowa i przyrostowa klasyfikacja w strumieniach danych 12
Przetwarzanie blokowe Przetwarzanie przyrostowe Blokowa i przyrostowa klasyfikacja w strumieniach danych 13
Komplementarne podejścia: Algorytmy blokowe dobrze działają dla stopniowych zmian Algorytmy przyrostowe szybciej reagują na nagłe zmiany Elementy algorytmów blokowych można przenieść do środowisk gdzie klasyfikacja jest przyrostowa Zachęcające wyniki badań AUE? Blokowa i przyrostowa klasyfikacja w strumieniach danych 14
From Block-based Ensembles to Online Learners In Changing Data Streams: If- and How-To, D. Brzezinski and J. Stefanowski; ECML PKDD 2012 Workshop on Instant Interactive Data Mining. Analiza klasyfikatorów złożonych: Agregacja wag klasyfikatorów bazowych Wagi obliczane na podstawie trafności Okresowo nowe klasyfikatory bazowe Trzy ogólne strategie: Aktualizacja wag co przykład Klasyfikator przyrostowy w komitecie Detektor dryftu Klasyfikator bazowy Klasyfikator bazowy Klasyfikator bazowy Predykcja Blokowa i przyrostowa klasyfikacja w strumieniach danych 15
Pomysł: zamiana bloku przykładów na okno przesuwne Klasyfikatory bazowe oceniane i ważone po każdym przykładzie, nie po d przykładach Dla wydajności: nowy klasyfikator co d przykładów Przyrostowe ważenie => szybsza reakcja na dryft Blokowa i przyrostowa klasyfikacja w strumieniach danych 16
Pomysł: dodać jeden klasyfikator przyrostowy Klasyfikator przyrostowy: wysoka waga uczony co przykład Klasyfikator Klasyfikator Klasyfikator Klasyfikator przyrostowy Predykcja Uczenie przyrostowe => aktualniejsze dane, lepsza predykcja Blokowa i przyrostowa klasyfikacja w strumieniach danych 17
Pomysł: wykrywać zmiany w strumieniu Detektor dryftu: uczony przyrostowo wymusza przebudowę klasyfika- tora złożonego, gdy wykryje zmianę Detekcja dryftu => szybsze reakcje Klasyfikator Klasyfikator Klasyfikator Predykcja Klas. przyrost. + Detektor dryftu Blokowa i przyrostowa klasyfikacja w strumieniach danych 18
5/11 algorytmów: AWE + 3 modyfikacje AUE + 3 modyfikacje DWM, Online Bagging, ACE 8 zbiorów danych 6 sztucznych i 2 rzeczywiste od 45 000 do 1 000 000 przykładów Różne typy zmian Badane: czas, pamięć i trafność klasyfikacji Blokowa i przyrostowa klasyfikacja w strumieniach danych 19
Wykres 3: Trafność klasyfikacji na zbiorze RBF (stopniowe oraz nagle, nawracające zmiany) Blokowa i przyrostowa klasyfikacja w strumieniach danych 20
Aktualizacja wag co przykład poprawiła trafność AWE i AUE (2,3%) ale zwiększyła czas przetwarzania (15x) => aktualizacja wag droga, ale skuteczna Dodatkowy klasyfikator przyrostowy pomógł AWE, ale nie AUE => waga dod. klasyfikatora powinna być ustalana per algorytm Detektor dryftu pomógł AUE, ale nie AWE => okresowe douczanie zmniejsza wymagany rozmiar bloku Wyniki porównywalne z Online Bagging, lepsze niż ACE i DWM Przyrostowe douczanie i aktualizacja wag kluczowe przy transformacji klasyfikatorów blokowych Blokowa i przyrostowa klasyfikacja w strumieniach danych 21
Combining block-based and online methods in learning ensembles from concept drifting data streams, D. Brzezinski and J. Stefanowski; Information Sciences, w recenzji. Główna idea: Przyrostowo douczać i ważyć klasyfikatory bazowe zgodnie z aktualnym rozkładem danych Przyrostowe douczanie klasyfikatorów bazowych Najnowszy klasyfikator traktowany jak klasyfikator idealny Nieliniowa funkcja oceny klasyfikatorów bazowych Obliczanie wag klasyfikatorów w stałym czasie i pamięci per przykład Blokowa i przyrostowa klasyfikacja w strumieniach danych 22
Blokowa i przyrostowa klasyfikacja w strumieniach danych 23
5 algorytmów przyrostowych: ACE, DWM, Lev, Bag, OAUE 15 zbiorów danych 11 sztucznych i 4 rzeczywiste od 45 000 do 1 000 000 przykładów Różne typy zmian Badane: czas, pamięć i trafność klasyfikacji Analiza liniowych i nieliniowych funkcji wag Analiza wpływu rozmiaru okna na trafność klasyfikacji Blokowa i przyrostowa klasyfikacja w strumieniach danych 24
Ranking wg testu Friedmana dla trafności klasyfikacji OAUE Bag DWM Lev ACE 1,93 2,73 2,80 2,80 4,73 Tabela 2: Średnia trafność klasyfikacji Zbiór ACE DWM Lev Bag OAUE Airlines 64,86 64,98 62,84 64,24 67,02 CovType 69,47 89,87 92,11 88,84 90,98 Hyp_F 84,34 89,94 88,49 89,54 90,43 Hyp_S 79,62 88,48 85,43 88,35 88,95 LED_M 46,45 53,34 51,31 53,33 53,40 LED_ND 39,80 51,48 49,98 51,50 51,48 PAKKDD - 80,24 79,85 80,22 80,23 Poker 79,79 91,29 97,67 76,92 88,89 RBF_B 84,78 96,00 98,22 97,87 97,87 RBF_GR 84,16 95,49 97,79 97,54 97,42 SEA_G 85,97 88,39 89,00 88,36 88,83 SEA_S 85,98 89,15 89,26 88,94 89,33 Tree_SR 43,39 42,48 47,88 48,77 46,04 Wave - 84,02 83,99 85,51 85,50 Wave_M - 83,76 83,46 84,95 84,90 Blokowa i przyrostowa klasyfikacja w strumieniach danych 25
Wykres 4: Wykres pudełkowy trafności (a), zużycia pamięci (b), czasu przetwarzania (c) dla okien d [500; 2000]. Punkty odpowiadają procentowym odchyleniom od średniej na danych zbiorze danych Blokowa i przyrostowa klasyfikacja w strumieniach danych 26
Dobre reakcje zarówno na nagły jak i stopniowy dryft Średnio najlepsza trafność klasyfikacji OAUE Najniższe wymagania pamięciowe i bardzo niskie wymagania czasowe Brak wpływu rozmiaru okna na trafność klasyfikacji Blokowa i przyrostowa klasyfikacja w strumieniach danych 27
Analiza teoretyczna trafności zaproponowanych klasyfikatorów AUE i OAUE Można teoretycznie udowodnić wyższą trafność AUE/OAUE jeśli zapewnią negatywną kowariancję między klasyfikatorami bazowymi Nowe miary oceny trafności klasyfikatorów strumieniowych Blokowa i przyrostowa klasyfikacja w strumieniach danych 28
Algorytm AUE: blokowa aktualizacja klasyfikatorów bazowych zgodnie z rozkładem danych Strategie transformowania algorytmów blokowych do przyrostowych Algorytm OAUE: przyrostowa aktualizacja, klasyfikacja oraz ocenianie klasyfikatorów bazowych Dlasze prace: analiza teoretyczna algorytmów douczających klasyfikatory bazowe oraz propozycja innych metod ewaluacji klasyfikatorów strumieniowych Blokowa i przyrostowa klasyfikacja w strumieniach danych 29
Dziękuję za uwagę! Blokowa i przyrostowa klasyfikacja w strumieniach danych 30