Rotation Forest EIN NEUES ENSEMBLE- KLASSIFIKATIONSVERFAHREN Tim Schneider EINLEITUNG Warum ein Ensemble-Klassifikator? um Vorhersagen von mehreren Klassifikatoren zu kombinieren anstelle eines einzelnen Klassifikators Motivation Verringerung der Varianz: um weniger abhängig von Besonderheiten einer einzelnen Trainingsmenge zu sein Reduzierung des Bias: lerne eine aussagekräftige Klasse anstatt eines einzigen Klassifikators Ansatz Ensembles werden aus verschiedenen Klassifikatoren aus einer Trainingsmenge gebildet Bagging (Random Forest) Leistungsbeurteilung nach Vielfalt und Genauigkeit Beste Methode ⇒ AdaBoost ⇒ große Vielfalt, aber Genauigkeitsverlust Boosting (AdaBoost) Neuer Ansatz ⇒ Rotation Forest ⇒ soll beides erreichen 1 ROTATION FOREST stützt sich beim Klassifizieren auf die Idee des Entscheidungsbaums Basis-Klassifikator ist ein Entscheidungsbaum reagieren empfindlich auf die Rotation der Parameterachsen. ⇒ Wald (Forest) nutzt zur Reduzierung der Parameter die PCA Daten werden mittels PCA transformiert Durch eine Drehung der Parameterachsen werden jeweils neue Merkmale für den Basis-Klassifikator erstellt fördert gleichzeitig eine individuelle Genauigkeit und eine Vielfalt innerhalb des Ensembles 2 IDEE Erstellung der Trainingsdaten wie folgt: 1. Merkmale zufällig in K-Teilmengen aufteilen 2. PCA auf jede Teilmenge anwenden 3. Alle Hauptkomponenten sind erforderlich, damit die Variabilität an Informationen in den Daten erhalten bleibt. 3 METHODE (1) X: Alle Objekte in den Trainingsdaten x = [x1, x2, …, xn]T Objekt mit n-Merkmalen N×n Matrix Y = [y1, y2, …, yN]T : Klassenbeschriftung der Trainingsdaten (N×1 Matrix) 4 METHODE (2) Gegeben L: die Zahl der Klassifikatoren in dem Ensemble (D1, D2, ..., DL) F: Merkmalsraum X, Y 5 METHODE (3) - TRAININGSPHASE Um für den Klassifikator Di einen Trainingsdatensatz zu konstruieren: 1. splitte F zufällig in K-Teilmengen: Fi,j F: Merkmalsraum Fi,1 Fi,K Fi,2 K-Teilmengen (Fi,j für j=1…K) jede hat M = n/K-Merkmale … Fi,3 (n stammt aus N×n Matrix) 6 METHODE (4) - TRAININGSPHASE 2. X1,1: Teilmenge X für die Merkmale in F1,1 Für jede Teilmenge Fi,j sei Xi,j der Datensatz X für die Merkmale in Fi,j F1,1 F1,2 wähle nach dem Zufallsprinzip eine … nichtleere Teilmenge an Klassen aus Xi,j F1,K F1,3 wähle aus Xi,j eine BootstrapStichprobe von 75% der Anzahl der Objekte ⇒ es entsteht X’i,j führe auf X’i,j eine PCA durch und speichere die Koeffizienten in einer Matrix Wähle zufällig eine Teilmenge an Klassen aus X1,1 Wähle eine BootstrapStichprobe von 75% aus der Anzahl der Objekte aus X1,1 um X’1,1 zu erhalten. Führe mit X’1,1 und M-Merkmalen eine PCA durch, um die Koeffizienten zu erhalten. 7 METHODE (5) - TRAININGSPHASE 3. Ordne die erhaltenen Koeffizienten in einer Rotationsmatrix Ri Um den Trainingsdatensatz für den Klassifikator Di zu berechnen, ordne die Spalten von Ri so neu an, dass sie den ursprünglichen Merkmalen aus F entsprechen und bezeichne sie mit Ria bezeichne den Trainingsdatensatz für den Klassifikator Di mit ⇒ XRia Erstelle den Klassifikator Di unter Verwendung von (XRia, Y) als Trainingsdatensatz. 8 METHODE (6) - KLASSIFIKATIONSPHASE Um ein gegebenes Objekt x zu klassifizieren, sei di,j(xRia) die Wahrscheinlichkeit, dass der Klassifikator Di annimmt, x stammt aus der Klasse Berechne das durchschnittliche Vertrauen für jede Klasse über alle Klassifikatoren mit: Satz von Klassenbeschreibungen Klassifiziere x in die Klasse mit dem größten Vertrauen 9 METHODE (6) Warum wird eine Bootstrap-Stichprobe sowie eine Zufallsauswahl der Klassen in Schritt 2 durchgeführt? man möchte voneinander verschiedene Klassifikatoren in einem Ensemble haben Beispiel: Die Möglichkeit, komplett verschiedene Klassifikatoren für ein Ensemble von L = 50, für K = 3 und n = 9 zu erhalten, ist kleiner als 0.01 10 LEISTUNGSBEURTEILUNG Vielfalt entsteht durch Merkmalsextraktion für jeden Basis-Klassifikator. Jeder Entscheidungsbaum verwendet einen unterschiedlichen Satz an Merkmalen. Genauigkeit Keine Hauptkomponenten werden verworfen. Trotz der eingefügten Randomisierung des Datensatzes wird der ganze Datensatz transformiert und anschließend für die Ausbildung des Basis-Klassifikators genutzt (mit unterschiedlich extrahierten Merkmalen). 11 ERGEBNISSE EINES EXPERIMENTS Vergleich von Rotation Forest, Bagging, AdaBoost und Random Forest Verwendung von WEKA Datensatz: UCI Machine Learning Repository (33 Datensätze) Experimenteinstellungen: Bagging, AdaBoost und Random Forest mit Standardwerten in WEKA Random Forest M = 3 Alle Ensemble-Methoden haben das gleiche L = 10 Basis-Klassifikator: Decision-Tree J48 in WEKA 12 ERGEBNISSE EINES EXPERIMENTS 13 ERGEBNISSE EINES EXPERIMENTS % Y-Achse: Prozentsatz der Datensätze mit den geringsten Fehlern unter den vier Verfahren 69,70% Diagramm für die 4 EnsembleMethoden mit ungestutzten J48 Bäumen 3,03% 24,24 % 3,03% 3.03%% X-Achse: Ensemblegröße L 14 FAZIT Rotation Forest Ensembles erstellen individuelle Klassifikatoren die genauer als jene in AdaBoost und Random Forest und vielfältiger und manchmal auch genauer als jene in Bagging sind. 15 QUELLEN http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=1677518 http://pages.bangor.ac.uk/~mas00a/papers/lkjrmcs07.pdf http://archer.ee.nctu.edu.tw/.../Rotation%20Forest.ppt http://www.ehu.eus/ccwintco/uploads/3/34/RotationForest.pdf 16
© Copyright 2024 ExpyDoc