Revision [4b42f8c]
Letzte Änderung am 2018-09-28 02:25:10 durch Tobias Dietz
ADDITIONS
Zu beginn bekommt jeder Merkmalsvektor _x_ der Trainingsmenge die gleiche Gewichtung _D(x)_ .
Danach wiederholt der Algorithmus _T_ Iterationen das folgende Vorgehen:
1) Mit der Trainingsmenge und der zugehörigen Verteilung durch die Gewichtung erstellt der Basis-Lerner eine Hypothese _h_ .
2) Aus dieser Hypthese wird der Gewichtet Reklassifikationsfehler _eta_ gebildet.
3) Aus eta wird die Gewichtung der Hypothese gebildet, diese entspricht _alpha_ .
4) Gewichtungen _D(x)_ der Merkmalsvektoren werden aktualisiert.
Die Entscheidung beruht auf einem gewichteten Mehrheitsvotum durch die Signumfunktion.
![text](/uploads/AdaBoost/Error_Verteilung.png?width=800)
Quelle: [4] vgl. Formeln in [5]
Die Abbildung zeigt, dass alpha für kleine Reklassifikationsfehler groß wird. Nimmt der Fehler zu, sinkt alpha.
Der zweite Teil der Abbildung zeigt, wie das Verhältnis zwischen _alpha_ und der Verteilung _D(x)_ ist, abhängig davon ob der Merkmalsvektor _x_ richtig oder falsch klassifiziert wurde.
[5] Zhu J., Zou H., Rosset S., Hastie T. (2006): Multi-class AdaBoost; 1085 South University
DELETIONS
Zu beginn bekommt jeder Merkmalsvektor x der Trainingsmenge die gleiche Gewichtung D(x).
Danach wiederholt der Algorithmus T Iterationen das folgende Vorgehen:
Mit der Trainingsmenge und der zugehörigen Verteilung durch die Gewichtung erstellt der Basis-Lerner eine Hypothese h.
Aus dieser Hyptohese wird der Gewichtet Reklassifikationsfehler gebildet.
[5] Zhu J., Zou H., Rosset S., Hastie T. (2006): Multi-class AdaBoost; 1085 South University

Revision [ac5ab58]
Die älteste bekannte Version dieser Seite wurde von Tobias Dietz am 2018-09-27 21:38:27 erstellt
ADDITIONS
# AdaBoost
## Idee
Die Idee hinter AdaBoost ist das erstellen mehrere Modelle mit der gleichen Hypothesenklasse als Grundlage. Dies bedeutet die Basis jedes Modells ist beispielsweise immer der gleiche Entscheidungsbaum mit den gleichen Parametern. Die verschiedenen Modelle werden dabei so trainiert, dass das jetzige Modell adaptiv auf den Fehler des vorherigen Modells reagiert. Am Ende bilden alle Modelle durch ihre Genauigkeit gewichtet eine Entscheidung. So versucht der Algorithmus, durch viele Iterationen, den Gesamtfehler zu minimieren und damit eine optimale Entscheidung zu treffen.[1][2][3]
## Algorithmus
![text](/uploads/AdaBoost/AdaBoost.PNG)
Quelle: [4] vgl.[1][3]
## Erklärungen
Zu beginn bekommt jeder Merkmalsvektor x der Trainingsmenge die gleiche Gewichtung D(x).
Danach wiederholt der Algorithmus T Iterationen das folgende Vorgehen:
Mit der Trainingsmenge und der zugehörigen Verteilung durch die Gewichtung erstellt der Basis-Lerner eine Hypothese h.
Aus dieser Hyptohese wird der Gewichtet Reklassifikationsfehler gebildet.
## Ausblick
Diese Version kann keine Multi-klassen-Probleme lösen.Die Lösungsansätze verfolgen entweder one-versus-all oder one-versus-one Methoden zur Klassifikation. Hierfür werden die Gewichtungen und die Hypothesen anders berechnet.
Ein beispiel hierfür ist der Samme.R Algorithmus. Dieser hat eine ähnliche Abfolge wie der AdaBoost-Algorithmus, reagiert aber stärker auf die Fehler der vorherigen Hypothesen. Genauere Erläuterungen zu Funktionsweise und mathematischen Hintergrund sind in [5] zu finden. Der Ablauf ist ebenfalls in [4] beschrieben.
## Literatur
[1] Freund Y., Schapire R. E. (1999): A Short Introduction to Boosting; AT & T Labs - Research
[2] Schapire R. E. (unbekannt): Explaining AdaBoost; Princeton University, Dept. of Computer Science
[3] Zhou, Zhi-Hua (2012): Ensemble Methods: Foundations and Algorithms; Taylor & Francis Ltd
[4] Dietz T. (2018): Bachelorarbeit "Automatisches rechnerbasiertes Lernen mit Ensemble-Methoden ”, Hochschule Schmalkalden
[5] Zhu J., Zou H., Rosset S., Hastie T. (2006): Multi-class AdaBoost; 1085 South University