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
[edytuj | edytuj kod]Dla zbioru uczącego o liczebności , agregacja polega na wygenerowaniu nowych zbiorów uczących , każdy o rozmiarze , poprzez pobieranie próbek z ze zwracaniem (co oznacza, że niektóre obserwacje mogą się powtarzać). Jeśli , wtedy dla dużych , że zbiór 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ę modeli, które łączy przez uśrednianie wyników (w przypadku regresji) lub za pomocą głosowania (w przypadku klasyfikacji).

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
[edytuj | edytuj kod]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
[edytuj | edytuj kod]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
[edytuj | edytuj kod]- ↑ Aurélien Géron , Uczenie maszynowe z użyciem Scikit-Learn i TensorFlow, Krzysztof Sawka (tłum.), Wydanie II, aktualizacja do modułu TensorFlow 2, Gliwice: Helion, 2020, s. 202, ISBN 978-83-283-6002-0 [dostęp 2025-02-16] (pol.).
- ↑ a b Leo Breiman , Bagging predictors, „Machine Learning”, 24 (2), 1996, s. 123–140, DOI: 10.1007/BF00058655, ISSN 1573-0565 [dostęp 2025-02-16] (ang.).
- ↑ Bagging (Bootstrap Aggregation) [online], Corporate Finance Institute [dostęp 2025-02-16] (ang.).
- ↑ What is Bagging (Bootstrap Aggregation)? [online], CFI [dostęp 2020-12-05] .
- ↑ B. Efron , Bootstrap Methods: Another Look at the Jackknife, „The Annals of Statistics”, 7 (1), 1979, s. 1–26, DOI: 10.1214/aos/1176344552, ISSN 0090-5364 [dostęp 2025-02-16] .
- ↑ Leo Breiman , Bagging Predictors, „Technical Report” (421), Department of Statistics, University of California Berkeley, 1994 .