msc-michal-maciaszek/Porownania_modeli_w_literaturze.tex

51 lines
8.4 KiB
TeX
Raw Normal View History

2021-09-21 09:55:36 +02:00
\chapter{Porównania modeli w literaturze}
\section{Wstęp}
\subsection{Cele porównania}
Wraz z~rozwojem uczenia maszynowego jako praktykowanej technologii znacznie wzrosło zapotrzebowanie na badania sprawdzające skuteczność rozwiązań w tej dziedzinie. Wybór odpowiednich algorytmów do konkretnych zadań jest kluczowy dla osiągania jak najlepszych wyników (zdolności do szybkiego uczenia się i dokładnego przewidywania).
Celem tej pracy jest porównanie dwóch trybów uczenia się: wsadowego i~strumieniowego. Z tego powodu należy wpierw przeanalizować inne badania i~źródła naukowe, aby odnaleźć czy znajdują się w nich błędy, które mogłyby na przykład podważyć skuteczność badań. Część oficjalnych opracowań korzysta z nieodpowiednich metodyk, źle klasyfikuje algorytmy, bądź po prostu niewystarczająco dokładnie je analizuje (brak różnych typów danych, zbyt mała liczba algorytmów, porównywanie algorytmów różnego typu). Z tego powodu poniżej zostaną przedstawione opracowania znalezione w~naukowej literaturze, zawierające błędy, których uniknięcie w~tej pracy, pozwoli na uzyskanie bardziej wiarygodnych wyników.
2021-10-06 15:32:40 +02:00
Warto zwrócić uwagę, że przedstawione błędy nie podważają prawdziwości prac czy ich istotności przy badaniu algorytmów. Znalezione problemy mają na celu stworzenie takiego badania, które suplementując pozostałe, stworzy szerszy i~bardziej wiarygodny obraz na porównanie trybów strumieniowych i~wsadowych.
2021-09-21 09:55:36 +02:00
\subsection{Concept drift}
2021-09-27 16:01:02 +02:00
Część z opracowań przy swoich badaniach stara się uwzględnić tzw. \emph{concept drift} i~sprawdzić pewną odporność algorytmów na jego obecność. Analiza takiej metodyki znajdzie się przy sprawdzaniu konkretnych badań, tutaj jednak zostanie opisane, czym \emph{concept drift} jest.
2021-09-21 09:55:36 +02:00
Tworzenie modelu można określić jako zmapowanie funkcji $f$ przy pomocy danych wejściowych $X$, aby przewidzieć wynik wyjściowych $Y$.
\[Y = f(X)\]
Często zakładane jest, że takie mapowanie jest statyczne. Znaczy to, że raz wyuczone z pewnych danych jest prawdziwe (i~skuteczne) dla danych, które pojawią się w~przyszłości, a~związek pomiędzy danymi wejściowymi i~wyjściowymi nie będzie się zmieniał.
W niektórych przypadkach może następować wyraźna (mniej lub bardziej) wyraźna zmiana w relacji danych wejściowych i~wejściowych. Zmiany takie należy wykrywać i~w odpowiedni sposób aktualizować model, aby ciągle był w stanie poprawnie dokonywać predykcji.
Przykładowo: model przewidujący pogodę może reagować w nieodpowiedni sposób, niezależnie od tego, jak dobrze nauczył się mapować pogodę przy pomocy prądów powietrza, poprzedniej temperatury i~innych właściwości. Po kilku latach może być on zupełnie bezużyteczny, bo nie uwzględni on zmian klimatycznych, istotnie wpływających na pogodę, które mogą sprawić, że ciepły prąd wcześniej oznaczał letni deszcz, a za parę lat może oznaczać suszę.
\section{Analiza literatury}
2021-10-06 15:32:40 +02:00
\subsection{Badanie skuteczność algorytmów przy występowaniu \emph{concept driftu}}
2021-09-21 09:55:36 +02:00
2021-10-06 15:32:40 +02:00
Artykuły dotyczące inkrementalnych metod uczenia maszynowego często zwracają szczególną uwagę na zalety nauki w takim trybie, natomiast artykuły oparte na wsadowych metodach opisują możliwość przystosowania się do danych napływających w trybie strumieniowym. Nie ma jednak wystarczającej ilości opracowań, porównujących te metody. Do tego problemu nawiązuje praca ,,Batch-Incremental versus Instance-Incremental Learning in Dynamic and Evolving Data'' \cite{inproceedings}.
2021-09-21 09:55:36 +02:00
2021-09-27 16:01:02 +02:00
Autorzy tej pracy porównują skuteczność i~czas nauki kilku klasyfikatorów --- między innymi wykorzystując klasyfikator Bayesa, drzewa Hoeffdinga, regresję logistyczną, maszyny wektorów nośnych czy algorytm k-najbliższych sąsiadów. Dbając o~wiarygodność wyników i uniwersalność w różnych poddziedzinach uczenia maszynowego, dokonują oni treningów na kilku różnych zbiorach: rzeczywistych i syntetycznych. Wśród zbiorów danych brak jednak zadań z przetwarzania języka naturalnego (NLP -- ang. \emph{Natural Language Processing}).
2021-09-21 09:55:36 +02:00
2021-10-06 15:32:40 +02:00
W artykule przy tworzeniu metodyki do porównania algorytmów poświęcono dużą uwagę do \emph{concept driftu} w~danych. Algorytmy wsadowe uczone są na pewnym oknie danych (określonej ilości próbek). Rozmiar okna dobierany jest na podstawie precyzji, czasie nauki i~kosztu obliczeniowego -- dla różnych danych może mieć inny rozmiar. Warto jednak zwrócić uwagę, że dobór okna może być w~istotny sposób zależny od używanego sprzętu badawczego. Duże rozmiary okna mogą być odrzucane ze względu na duży nakład czasowy pomimo osiągania znacznie lepszych wyników jakościowych. Wraz z~polepszaniem się technologii dopuszczalny rozmiar okna może się zmieniać, z czasem stawiając algorytmy inkrementalne w znacznie gorszej sytuacji --- nieskończenie szybki procesor może znacznie szybciej ponownie uczyć całe modele wsadowe od nowa, zamiast douczać je inkrementalnie.
2021-09-21 09:55:36 +02:00
2021-09-27 16:01:02 +02:00
Autorzy w~podsumowaniu, wnioskują, że algorytmy inkrementalne osiągają podobne wyniki do swoich wsadowych odpowiedników; robiąc to jednak szybciej i~z mniejszą ilością zasobów. Wcześniej szczegółowo opisane jest porówananie wsadowych drzew decyzyjnych i drzew Hoeffdinga --- zależnie od typu danych, jedne lub drugie działają znacznie oszczędniej zużywając zasoby. Brak jednak takich bezpośrednich porównań dla innych algorytmów: nie wiadomo z jakim klasyfikatorem używany jest Stochastyczny Spadek Gradientu, nie można więc go porównać z wsadową regresją logistyczną czy maszyną wektorów nośnych.
2021-09-21 09:55:36 +02:00
\subsection{Porównania algorytmów niezależnie od concept driftu}
Dobrą metodologię porównania algorytmów obu trybów przedstawiono w ,,An Investigation on Online versus Batch
Learning in Predicting User Behaviour``\cite{comparision}
Porównano tutaj 5 wsadowych algorytmów i 3 najpopularniejsze strumieniowe algorytmy, sprawdzając ich złożoność czasową i zdolność predykcji. Treningu i predykcji dokonano na dwa sposoby: powszechnie używany algorytm k-fold (używając 5 ,,złożeń``) oraz używając nowego podejścia przypominającego działanie w trybie strumieniowym (podobna metoda pomiaru podziału nauka/predykcja zostanie użyta w późniejszych eksperymentach).
2021-10-06 15:32:40 +02:00
W tej pracy wykazano, że algorytmy strumieniowe uczą się znacznie szybciej i często osiągają podobne rezultaty w przypadku predykcji (w tej dziedzinie przoduje głęboka sieć przekonań (ang. \emph{deep belief network}), jednocześnie będąc zdecydowanie najwolniejszym ze wszystkich badanych algorytmów). Badania zostały jednak przeprowadzone tylko na jednym zbiorze danych, ciężko więc o wnioskowanie, czy takie wyniki będą prawdziwe dla innych typów danych.
2021-09-21 09:55:36 +02:00
2021-09-27 16:01:02 +02:00
Inną pracą, w której porównywano algorytmy wsadowe i strumieniowe jest \emph{,,Single-Pass Online Learning: Performance, Voting Schemes and Online Feature Selection''}\cite{comp}. Poruszono tutaj istotną kwestię \emph{simple-pass}, występującą często podczas nauki w trybie inkrementalnym -- każda próbka wykorzystywana jest tylko raz (nie przechowujemy jej do późniejszej nauki).
2021-09-21 09:55:36 +02:00
2021-10-06 15:32:40 +02:00
Skupiono się głównie na dostosowaniu algorytmu ,,Winnow'' tak, aby wykazać, że nawet działając w trybie \emph{single pass}, może on przewyższyć wynikami algorytmy wsadowe. Dla zbiorów związanych z przetwarzaniem języka naturalnego odnosił on zdecydowanie najlepsze wyniki spośród wszystkich badanych algorytmów; jednak dla zbiorów spoza tej dziedziny osiągał znacznie słabsze wyniki. Jest to szczególnie istotne i zwraca uwagę na użycie różnych zbiorów danych przed wyciągnięciem wniosków na temat działania algorytmu.
2021-09-21 09:55:36 +02:00
2021-10-06 15:32:40 +02:00
Szerokie porównanie różnych algorytmów uczenia maszynowego zostało dokonane w "A Comparison of Prediction Accuracy, Complexity, and Training Time of Thirty-three Old and New Classification Algorithms"\cite{Lim2004ACO}.
2021-09-21 09:55:36 +02:00
2021-10-06 15:32:40 +02:00
Zostało tutaj wykorzystane trzydzieści trzy algorytmów do nauki na trzydziestu dwóch zbiorach danych. Nie zostały jednak przebadane algorytmy strumieniowe (praca ich nie dotyczy). Podczas analizy wyników zauważono, że często różnice w trafności predykcji są statystycznie nieistotne. O wiele większą uwagę należałoby w takich przypadkach przyłożyć do czasu nauki poszczególnych modeli. Z~powodu takiego podejścia praca ta przytaczana jest w tym miejscu -- szczególne zwracanie uwagi na czas treningu zostanie wykorzystane podczas kolejnych eksperymentów.