Boosting jest ogólną metodą służącą zwiększeniu skuteczności dowolnego algorytmu uczenia. Idea Budowanie “mocnego i złożonego klasyfikatora” ze “słabych i prostych klasyfikatorów”. \pause\block
Leslie Valiant i Michael Kearns byli pierwszymi, którzy pokazali, że “słabe” algorytmy uczące, których skuteczność jest nawet niewiele lepsza niż losowe zgadywanie, mogą być wykorzystane do stworzenia dowolnie skutecznego “silnego” klasyfikatora.
Robert Schapire jako pierwszy przedstawił algorytm wzmacniania działający w czasie wielomianowym.
Yoav Freund zaproponował znacznie bardziej efektywny algorytm wzmacniania, który mimo tego, że był w pewnym sensie optymalny, miał pewne istotne w praktyce wady.
Pierwsze eksperymenty z tymi wczesnymi algorytmami wzmacniania zostały przeprowadzone przez zespół Drucker, Schapire, Simard i dotyczyły zadania OCR (ang. optical character recognition), w którym sieci neuronowe były użyte jako “proste” klasyfikatory.
Freund i Schapire przedstawili algorytm AdaBoost, który rozwiązał wiele
praktycznych trudności wcześniejszych algorytmów wzmacniania.
Algorytm na wejściu otrzymuje zbiór treningowy
AdaBoost (Adaptive Boosting) wywołuje wybrany “słaby” algorytm uczący w serii T iteracji.
Zakładamy, że błąd uzyskiwanych klasyfikatorów na zbiorze treningowym jest mniejszy niż
Jedną z głównych idei algorytmu jest strojenie rozkładu (lub wag elementów) dla zbioru
treningowego. Wagę
Początkowo wszystkie wagi są ustawione na równe wartości;
Po każdej iteracji, wagi elementów źle klasyfikowanych są zwiększane. Dzięki temu mamy możliwość skierowania uwagi “słabego” klasyfikatora na pewne elementy (trudne do wyuczenia) ze zbioru treningowego.
Zadaniem “słabego” algorytmu uczącego jest zbudowanie klasyfikatora (ang. hypothesis)
Skuteczność takiego klasyfikatora jest mierzona przez jego błąd (z uwzględnieniem rozkładu
W praktyce “słaby” algorytm uczący może być algorytmem, który uwzględnia rozkład
Kiedy AdaBoost dostaje klasyfikator
Rozkład
Dane:
Inicjalizacja:
for
<+->
Wykorzystując “słaby” algorytm uczący zbuduj klasyfikator
(uwzględniając rozkład
<+->
<+->
<+-> Uaktualnij wagi elementów zbioru treningowego:
Wynikowy klasyfikator powstaje za pomocą ważonego głosowania klasyfikatorów
1 | 2 | |||
słabe klasyfikatory | ||||
wagi | ||||
Treść automatycznie generowana z plików źródłowych LaTeXa za pomocą oprogramowania wykorzystującego LaTeXML.
strona główna | webmaster | o portalu | pomoc
© Wydział Matematyki, Informatyki i Mechaniki UW, 2009-2010. Niniejsze materiały są udostępnione bezpłatnie na licencji Creative Commons Uznanie autorstwa-Użycie niekomercyjne-Bez utworów zależnych 3.0 Polska.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.
Projekt współfinansowany przez Ministerstwo Nauki i Szkolnictwa Wyższego i przez Uniwersytet Warszawski.