Version [91439]
Dies ist eine alte Version von AdaBoost erstellt von Tobias Dietz am 2018-09-28 02:22:37.
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
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:
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.
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.
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
File | Last modified | Size |
---|---|---|
AdaBoost.PNG | 2023-10-06 18:35 | 21Kb |
Error_Verteilung.png | 2023-10-06 18:35 | 75Kb |