Agregacja (uczenie maszynowe)

Z testwiki
Przejdź do nawigacji Przejdź do wyszukiwania

Agregacja, agregacja bootstrapowa, agregacja przykładów wstępnych[1] (ang. bagging, od bootstrap aggregating) – metaalgorytm uczenia maszynowego zaprojektowany w celu zwiększenia stabilności i dokładności algorytmów klasyfikacji i regresji, a także zmniejszenia wariancji i przeuczenia. Metody tej zwykle używa się wobec drzew decyzyjnych, jednak można ją stosować również wobec innych metod. Agregacja jest szczególnym przypadkiem metody uśredniania zespołowego.

Opis techniki

Dla zbioru uczącego D o liczebności n, agregacja polega na wygenerowaniu m nowych zbiorów uczących Di, każdy o rozmiarze n, poprzez pobieranie próbek z D ze zwracaniem (co oznacza, że niektóre obserwacje mogą się powtarzać). Jeśli n=n, wtedy dla dużych n, że zbiór Di będzie zawierać około 63,2% (1 – 1/e) unikalnych obserwacji, zaś reszta to duplikaty. Tego rodzaju próbkę nazywa się próbką bootstrapową. Próbkowanie ze zwracaniem sprawia, że każda próbka bootstrapowa jest niezależna od innych, ponieważ jej skład nie zależy od składu poprzednio pobranych próbek. W kolejnym kroku dopasowuje się na bazie próbek dopasowuje się m modeli, które łączy przez uśrednianie wyników (w przypadku regresji) lub za pomocą głosowania (w przypadku klasyfikacji).

Ilustracja koncepcji agregacji bootstrapowej

Bagging zwykle umożliwia „ulepszeń procedur niestabilnych”[2], do których zaliczają się na przykład sztuczne sieci neuronowe, drzewa klasyfikacyjne i regresyjne czy wybór podzbiorów w regresji liniowej. Wykazano, że agregacja usprawnia wstępne etapy rozpoznawania obrazów. Z drugiej strony może nieznacznie pogorszyć wydajność stabilnych metod, takich jak metoda k najbliższych sąsiadów[2].

Zalety i wady

Zalety:

  • Wiele słabych modeli łącznie osiąga lepsze wyniki i wykazuje mniejsze przeuczenie niż pojedynczy model bazujący na całym zbiorze.
  • Metoda zmniejsza wariancję w słabych modelach o dużej wariancji i małym obciążeniu[3], co może poprawić wydajność.
  • Metoda może wykorzystywać przetwarzanie równoległe, ponieważ każda oddzielna próba bootstrapowa może być przed agregacją przetwarzana osobno.

Wady:

  • W przypadku słabych modeli z wysokim obciążeniem, wynik zagregowany nadal będzie się charakteryzować obciążeniem[4].
  • Utrata interpretowalności modelu.
  • Algorytm może być kosztowny obliczeniowo, zależnie od zbioru danych.

Historia

Koncepcja agregacji bootstrapowej wywodzi się z koncepcji bootstrappingu opracowanej przez Bradleya Efrona[5]. Agregację bootstrapową zaproponował Leo Breiman, który ukuł również skrócony termin „bagging” (bootstrap aggregating). Breiman opracował koncepcję baggingu w 1994 r. w celu ulepszenia klasyfikacji poprzez łączenie klasyfikacji powstałych na podstawie losowo generowanych zbiorów uczących. Twierdził, że „jeśli zaburzenie zbioru uczącego się może spowodować znaczące zmiany w skonstruowanym predyktorze, to bagging może poprawić dokładność”[6].

Przypisy

Szablon:Przypisy

Zobacz także