Übung 11 Aufgabe1a AdaBoost

Moderator: Data Mining und Maschinelles Lernen

Benutzeravatar
mad_moses
Mausschubser
Mausschubser
Beiträge: 74
Registriert: 7. Mär 2008 16:19

Übung 11 Aufgabe1a AdaBoost

Beitrag von mad_moses »

Hallo,

kann jemand mir erklären, wie ich die Table für Iteration 1 erstelle, in der Muster-Lösung steht x <= wert => + und x > wert => +, was ist damit gemeint?
Wie kommt man auf den ersten Tabellen Wert?

Viele Grüße,
¯\(°_o)/¯

Micha87
Neuling
Neuling
Beiträge: 7
Registriert: 9. Mai 2009 21:13

Re: Übung 11 Aufgabe1a AdaBoost

Beitrag von Micha87 »

Zitat der Musterlösung:
Lösung: In jeder Iteration sind jeweils 10 horizontale (y ≤ Wert) und 10 vertikale Splits möglich. Jeder Split ermöglicht 2 Vergleiche, z.B. y
≤ 4 und y > 4. Für jeden dieser Vergleiche addieren wir die Gewichte der Beispiele auf, die durch den Vergleich falsch klassifiziert werden.
Anschließend wählen wir denjenigen Vergleich aus, der die geringste Summe aufweist. Wir berechnen danach die Gewichtung α m des
aus dem Vergleich resultierenden Klassifizierer (Decision Stump). Die Gewichte der Beispiele werden unter Verwendung der Gewichtung.
α[m] erhöht bzw. gesenkt, falls sie falsch bzw. richtig klassifiziert werden. Am Ende jeder Iteration werden die Gewichte der Beispiel so
normiert, daß ihre Summe eins ergibt. Die Folien 11-15 illustrieren diese Vorgehensweise.
Beim Boosting lernt man nacheinander Regeln, wobei man die Gewichtung der einzelnen Instanzen bei der Bildung der Regeln beachtet. Zu Beginn einer jeden Iteration sind alle Gewichte 1 bzw. wenn man bei 10 Beispielen normiert sind die Gewichte für jedes Beispiel 1/10.

Alle Regeln die du lernen kannst behandeln Split-Points der numerischen Attribute, d.h. du kannst entweder beim x- oder beim y-Wert splitten. Eine mögliche Regel die dabei herauskommen kann ist:
x <= 3 => +
Mit dieser Regel musst du nun die vorhandenen Beispiele überprüfen um zu sehen welche Beispiele falsch klassifiziert werden. Bei der vorliegenden Regel ist dies bei vier Instanzen der Fall:
3, 1, - (w=1/10), da es false positive ist
5, 8, + (w=1/10), da es false negative ist
6, 10, + (w=1/10), da es false negative ist
8, 7, + (w=1/10), da es false negative ist

Insgesamt kommst du für den Split an der Stelle (x<=3) auf einen Fehler von 4/10 (Bildung der Summe der Gewichte falsch klassifizierter Instanzen, ACHTUNG! Die Gewichte ändern sich mit jeder Iteration). Diese Rechnung führst du nun für jeden möglichen Split-Punkt durch (x<=1-10, x > 1-10, y<= 1-10, y>1-10) und suchst die Regel mit der geringsten Summe der Fehlergewichte. Anschließend berechnest du dann die weiteren Schritte des AdaBoost, also err und alpha(m), passt die Gewichte der einzelnen Instanzen an, normierst die Gewichte und suchst den nächsten Split-Punkt.
Zuletzt geändert von Micha87 am 17. Feb 2014 15:35, insgesamt 1-mal geändert.

Benutzeravatar
mad_moses
Mausschubser
Mausschubser
Beiträge: 74
Registriert: 7. Mär 2008 16:19

Re: Übung 11 Aufgabe1a AdaBoost

Beitrag von mad_moses »

Super, jetzt hab ich es verstanden!

Vielen denk für die ausführliche Beschreibung :)
¯\(°_o)/¯

Benutzeravatar
mad_moses
Mausschubser
Mausschubser
Beiträge: 74
Registriert: 7. Mär 2008 16:19

Re: Übung 11 Aufgabe1a AdaBoost

Beitrag von mad_moses »

Hat sich erledigt :D

Danke nochmal
¯\(°_o)/¯

Antworten

Zurück zu „Data Mining und Maschinelles Lernen“