Agregacja Bootstrap — Bootstrap aggregating

Bootstrap agregację , zwany również pakująca (z b ootstrap agg Regat ie ) jest maszyna uczenia obsady meta algorytm mający na celu poprawę stabilności i dokładności maszyny uczenia algorytmów używanych w klasyfikacji statystycznej i regresji . Zmniejsza również wariancję i pomaga uniknąć nadmiernego dopasowania . Chociaż zwykle stosuje się go do metod drzew decyzyjnych , można go używać z dowolnym typem metody. Bagging jest szczególnym przypadkiem podejścia uśredniania modelu .

Opis techniki

Przy danym standardowym zbiorze uczącym o rozmiarze n , pakietowanie generuje m nowych zbiorów uczących , każdy o rozmiarze n′ , przez jednorodne próbkowanie z D i zastępowanie . Pobierając próbki z wymianą, niektóre obserwacje można powtórzyć w każdym . Jeśli n ' = n , a następnie na dużą n zestaw oczekuje się, że część (1 - 1 / e ) (≈63.2%) unikalnych przykłady D , reszta jest dwukrotnie. Ten rodzaj próbki jest znany jako próbka bootstrap . Próbkowanie z wymianą zapewnia, że ​​każdy bootstrap jest niezależny od swoich odpowiedników, ponieważ nie jest zależny od poprzednio wybranych próbek podczas próbkowania. Następnie m modeli dopasowuje się przy użyciu powyższych m próbek bootstrap i łączy przez uśrednienie danych wyjściowych (dla regresji) lub głosowanie (dla klasyfikacji).

Ilustracja koncepcji agregacji bootstrap


Bagging prowadzi do „ulepszeń dla niestabilnych procedur”, które obejmują na przykład sztuczne sieci neuronowe , drzewa klasyfikacji i regresji oraz selekcję podzbiorów w regresji liniowej . Wykazano, że pakowanie poprawia uczenie się przedobrazowania. Z drugiej strony może nieznacznie obniżyć wydajność stabilnych metod, takich jak K-najbliżsi sąsiedzi.

Proces algorytmu

Oryginalny zbiór danych

Oryginalny zbiór danych zawiera kilka wpisów próbek od s1 do s5. Każda próbka ma pięć cech (Gene 1 do Gene 5). Wszystkie próbki są oznaczone jako Tak lub Nie w przypadku problemu z klasyfikacją.

Próbki Gen 1 Gen 2 Gen 3 Gen 4 Gene 5 Wynik
s1 1 0 1 0 0 Nie
s2 1 0 0 0 1 Nie
s3 0 1 1 0 1 tak
s4 1 1 1 0 1 tak
s5 0 0 0 1 1 Nie

Tworzenie bootstrapowanych zbiorów danych

Biorąc pod uwagę powyższą tabelę, aby sklasyfikować nową próbkę, najpierw należy utworzyć początkowy zestaw danych przy użyciu danych z oryginalnego zestawu danych. Ten początkowy zestaw danych ma zazwyczaj rozmiar oryginalnego zestawu danych lub mniejszy.

W tym przykładzie rozmiar to pięć (od s1 do s5). Zestaw danych początkowych jest tworzony przez losowe wybieranie próbek z oryginalnego zestawu danych. Dozwolone są powtarzające się wybory. Wszelkie próbki, które nie zostały wybrane do zestawu danych początkowego, są umieszczane w oddzielnym zestawie danych zwanym zestawem danych poza workiem.

Zobacz przykładowy zestaw danych początkowych poniżej. Ma pięć wpisów (taki sam rozmiar jak oryginalny zbiór danych). Istnieją zduplikowane wpisy, takie jak dwa s3, ponieważ wpisy są wybierane losowo z zamianą.

Próbki Gen 1 Gen 2 Gen 3 Gen 4 Gene 5 Wynik
s1 1 0 1 0 0 Nie
s3 0 1 1 0 1 tak
s2 1 0 0 0 1 Nie
s3 0 1 1 0 1 tak
s4 1 1 1 0 1 tak


Ten krok zostanie powtórzony, aby wygenerować m zestawów danych z rozruchem początkowym.

Tworzenie drzew decyzyjnych

Nowe drzewo zestawu danych Bootstrap

Drzewo decyzyjne jest tworzone dla każdego początkowego zestawu danych przy użyciu losowo wybranych wartości kolumn do podziału węzłów.

Przewidywanie przy użyciu wielu drzew decyzyjnych

Przykład nowego wpisu w tabeli bazowej Gdy do tabeli zostanie dodana nowa próbka, początkowy zestaw danych jest używany do określenia wartości klasyfikatora nowego wpisu.

Nowe drzewotestowe wpisu

Nowa próbka jest testowana w losowym lesie utworzonym przez każdy ładowany zestaw danych, a każde drzewo generuje wartość klasyfikatora dla nowej próbki. Do klasyfikacji stosuje się proces zwany głosowaniem, aby określić ostateczny wynik, gdzie wynik najczęściej uzyskiwany przez losowy las jest wynikiem podanym dla próbki. W przypadku regresji próbie przypisuje się średnią wartość klasyfikatora wytworzoną przez drzewa.

Tabela Końcowa

Po przetestowaniu próbki w losowym lesie wartość klasyfikatora jest przypisywana do próbki i dodawana do tabeli.

Algorytm (klasyfikacja)

Schemat blokowy algorytmu workowania, gdy jest używany do klasyfikacji

Do klasyfikacji użyj zestawu uczącego , Induktora i liczby próbek ładowania początkowego jako danych wejściowych. Wygeneruj klasyfikator jako wynik

  1. Twórz nowe zestawy treningowe , z zastępstwem
  2. Klasyfikator jest budowany z każdego zestawu przy użyciu do określenia klasyfikacji zestawu
  3. Wreszcie klasyfikator jest generowany przy użyciu wcześniej utworzonego zbioru klasyfikatorów na pierwotnym zbiorze danych , klasyfikacja przewidywana najczęściej przez podklasyfikatory jest klasyfikacją końcową
for i = 1 to m {
    D' = bootstrap sample from D    (sample with replacement)
    Ci = I(D')
}
C*(x) = argmax    Σ 1               (most often predicted label y)
         y∈Y   i:Ci(x)=y

Przykład: dane ozonu

Aby zilustrować podstawowe zasady workowania, poniżej znajduje się analiza związku między ozonem a temperaturą (dane Rousseeuw i Leroy (1986), analiza wykonana w R ).

Zależność między temperaturą a ozonem wydaje się być nieliniowa w tym zestawie danych, na podstawie wykresu punktowego. Aby matematycznie opisać tę zależność, używane są wygładzacze LOESS (o przepustowości 0,5). Zamiast budować jeden gładszy dla całego zestawu danych, narysowano 100 próbek bootstrap . Każda próbka składa się z losowego podzbioru oryginalnych danych i zachowuje podobieństwo rozkładu i zmienności zbioru głównego. Do każdej próbki bootstrap pasował wygładzacz LOESS. Prognozy z tych 100 wygładzających zostały następnie wykonane w całym zakresie danych. Czarne linie reprezentują te wstępne przewidywania. Linie nie zgadzają się w swoich przewidywaniach i mają tendencję do nadmiernego dopasowania punktów danych, co widać po chwiejnym przepływie linii.

Ozon.png

Biorąc średnią ze 100 elementów wygładzających, z których każdy odpowiada podzbiorowi oryginalnego zestawu danych, otrzymujemy jeden predyktor w workach (czerwona linia). Przepływ czerwonej linii jest stabilny i nie jest nadmiernie zgodny z żadnymi punktami danych.

Zalety i wady

Zalety:

  • Wielu słabych uczniów zagregowanych zazwyczaj osiąga lepsze wyniki niż jednego uczącego się w całym zestawie i ma mniej nadużycia
  • Usuwa wariancję u słabego ucznia o wysokiej wariancji i niskim odchyleniu
  • Może być wykonywany równolegle , ponieważ każdy oddzielny bootstrap może być przetwarzany samodzielnie przed połączeniem

Niedogodności:

  • W przypadku słabego ucznia z wysokim odchyleniem, bagging również przeniesie wysokie odchylenia do swojej sumy
  • Utrata interpretacji modelu.
  • Może być kosztowny obliczeniowo w zależności od zestawu danych

Historia

Koncepcja agregacji bootstrap wywodzi się z koncepcji bootstrappingu opracowanej przez Bradleya Efrona. Bootstrap agregowania została zaproponowana przez Leo Breiman który również ukuł skrócone określenie „pakowanie” ( b ootstrap agg Regat ing ). Breiman opracował koncepcję workowania w 1994 roku, aby poprawić klasyfikację poprzez połączenie klasyfikacji losowo generowanych zestawów treningowych. Argumentował: „Jeśli zakłócenie zbioru uczącego może spowodować znaczące zmiany w skonstruowanym predyktorze, to workowanie może poprawić dokładność”.

Zobacz też

Bibliografia

Dalsza lektura