www.wikidata.de-de.nina.az
Dieser Artikel behandelt Boosting im Zusammenhang mit Informatik zu Boosting als Abart von Doping siehe Boosting Sport Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit Belegen beispielsweise Einzelnachweisen ausgestattet Angaben ohne ausreichenden Beleg konnten demnachst entfernt werden Bitte hilf Wikipedia indem du die Angaben recherchierst und gute Belege einfugst Artikel komplett unbelegt 217 186 67 100 17 16 28 Okt 2012 CET Boosting engl Verstarken ist ein Ensemble learning Algorithmus der mehrere aufeinander aufbauende Klassifikations oder Regressionsmodelle zu einem einzigen Modell verschmilzt Die Idee des Boosting wurde 1990 von Robert Schapire eingefuhrt 1 1997 veroffentlichten Yoav Freund und Schapire den AdaBoost Algorithmus 2 Der Name kommt von der Art wie der Algorithmus mit den Fehlern der schwacheren Klassifizierer umgeht Er passt sich diesen an engl adjusts adaptively indem jedes nachfolgende Modell das vorhergehende Modell verbessert Klassifizierung in funf Klassen Der durch Boosting erzeugte Klassifikator klassifiziert nur in zwei Klassen Inhaltsverzeichnis 1 Bedeutung 2 Funktionsweise 2 1 Grundlagen 2 2 Schrittweise Optimierung 2 3 Schwache Klassifikatoren 3 Unterarten von Boosting 4 Siehe auch 5 EinzelnachweiseBedeutung BearbeitenDie Technik liefert akzeptable Ergebnisse und lasst sich einfach in ein Computerprogramm umsetzen das sparsam im Speicherbedarf und schnell in der Laufzeit ist Funktionsweise BearbeitenVorgegeben ist eine Reihe von Objekten und eine Reihe schwacher Klassifikatoren Gesucht ist ein Klassifikator der die Objekte moglichst fehlerfrei in zwei Klassen einteilt Boosting kombiniert die vorhandenen schwachen Klassifikatoren so dass der entstehende neue Klassifikator moglichst wenige Fehler macht Schwache Klassifikatoren auch base classifiers engl Basisklassifikatoren oder weak learners engl schwache Lerner genannt sind sehr einfach aufgebaut und berucksichtigen meist nur ein einziges Merkmal der Objekte Fur sich genommen liefern sie deswegen einerseits schlechte Ergebnisse konnen aber andererseits sehr schnell ausgewertet werden Boosting fuhrt alle schwachen Klassifikatoren so mit einer Gewichtung zusammen dass die starkeren unter den schwachen Klassifikatoren besonders berucksichtigt die wirklich schwachen hingegen ignoriert werden Grundlagen Bearbeiten Gegeben ist ein Merkmalsraum M displaystyle M nbsp beliebiger Dimension und darin eine Trainingsstichprobe T displaystyle T nbsp der Grosse n displaystyle n nbsp also eine Menge von Mustervektoren x 1 x n displaystyle x 1 dots x n nbsp Von jedem dieser Mustervektoren ist bekannt in welche Klasse er gehort das heisst zu jedem x i displaystyle x i nbsp ist ein y i 1 1 displaystyle y i in 1 1 nbsp gegeben das angibt in welche der beiden Klassen 1 oder 1 der Mustervektor gehort Ferner sind m displaystyle m nbsp primitive Klassifikatoren f 1 f 2 f m M 1 1 displaystyle f 1 f 2 dots f m M rightarrow 1 1 nbsp gegeben die jeweils den Merkmalsraum in die beiden Klassen 1 displaystyle 1 nbsp und 1 displaystyle 1 nbsp aufspalten Gesucht sind die m Gewichtungsfaktoren w 1 w m displaystyle w 1 dots w m nbsp des Klassifikators F M 1 1 displaystyle F M rightarrow 1 1 nbsp der uber die Vorzeichenfunktion sgn displaystyle operatorname sgn nbsp durch F x sgn i 1 m w i f i x displaystyle F x operatorname sgn left sum i 1 m w i f i x right nbsp gegeben ist Die Gewichtungsfaktoren sollen so optimiert werden dass F displaystyle F nbsp moglichst wenige Fehler macht Fur die Optimierung bietet sich eine uber die Exponentialfunktion e displaystyle mathrm e nbsp definierte sogenannte exponentielle Verlustfunktion L als Optimierungskriterium an L 1 n i 1 n e y i F x i min displaystyle L frac 1 n sum i 1 n mathrm e y i F x i rightarrow text min nbsp L displaystyle L nbsp wird umso kleiner je weniger Objekte F displaystyle F nbsp falsch klassifiziert Das Ziel ist also die Gewichtungsfaktoren so zu wahlen dass L displaystyle L nbsp minimal wird Diese Optimierung wird schrittweise uber m displaystyle m nbsp ausgefuhrt das heisst zunachst wird nur w 1 displaystyle w 1 nbsp optimiert dann w 2 displaystyle w 2 nbsp dann w 3 displaystyle w 3 nbsp und so weiter bis alle Gewichtungsfaktoren optimal sind Die Optimierung wird im nachsten Abschnitt erlautert Schrittweise Optimierung Bearbeiten Die schrittweise Optimierung benotigt m Durchlaufe um alle Gewichtungsfaktoren fur F zu optimieren In jedem Durchlauf wird ein Klassifikator Fs erzeugt indem zum bisher erzeugten Klassifikator Fs 1 ein schwacher Klassifikator hinzugenommen wird Das bedeutet dass der Benutzer die Berechnung nach jedem Durchlauf abbrechen kann falls das Zwischenergebnis bereits seinen Anspruchen genugt Vor jedem Durchlauf wird beurteilt welche Mustervektoren mit dem bislang erstellten Klassifikator gut eingeordnet werden konnen und welche nicht Diejenigen Mustervektoren die noch nicht gut klassifiziert werden werden im nachsten Durchlauf besonders stark berucksichtigt Dazu werden in jedem Durchlauf s n Hilfsvariablen ts 1 ts n benotigt Je hoher der Wert von ts i desto starker geht der Mustervektor xi in den aktuellen Durchgang ein Die Nummer des Durchgangs ist s 1 Gewichte aktualisieren Im ersten Durchlauf s 1 werden alle Hilfsvariablen auf den Wert 1 n gesetzt t1 1 t1 n 1 n somit werden im ersten Durchgang alle Mustervektoren gleich stark berucksichtigt In allen folgenden Durchlaufen s gt 1 werden die Hilfsvariablen wie folgt gesetzt t s i t s 1 i e y i w s 1 f s 1 x i displaystyle t s i t s 1 i mathrm e y i w s 1 f s 1 x i nbsp dd Damit werden alle Mustervektoren die vom eben betrachteten schwachen Klassifikator fs 1 falsch klassifiziert wurden in diesem Durchlauf mit einem besonders hohen Hilfsgewicht versehen alle anderen mit einem besonders geringen 2 Gewichteten Trainingsfehler bestimmen In diesem Durchgang wird der schwache Klassifikator fs hinzugenommen Der gewichtete Trainingsfehler ist ein Mass dafur wie schlecht dieser primitive Klassifikator fur sich genommen abschneidet Fur jeden von fs falsch klassierten Mustervektor xi summiert er die zugehorige Hilfsvariable ts i auf e r r s i f s x i y i t s i displaystyle err s sum i f s x i neq y i t s i nbsp dd Ist der gewichtete Trainingsfehler 0 so klassifiziert fs alle Mustervektoren richtig ist er 1 so klassifiziert fs alles falsch Ist errs 1 2 so klassifiziert fs genauso gut als wurde er bei jedem Mustervektor bloss raten oder eine Munze werfen 3 Nachsten Gewichtungsfaktor optimieren Der Gewichtungsfaktor ws des in diesem Durchgang hinzugenommenen primitiven Klassifikators fs wird aus der folgenden Formel bestimmt w s 1 2 log 1 e r r s e r r s displaystyle w s frac 1 2 log left frac 1 err s err s right nbsp dd Nach der Formel wird fs genau dann mit positivem Gewicht zum Endergebnis hinzugenommen wenn errs lt gilt das heisst der schwache Klassifikator besser ist als blosses Raten Gilt exakt errs so folgt ws 0 das heisst fs wird ignoriert Gilt hingegen errs gt so ist der schwache Klassifikator durchaus brauchbar er ist nur falsch gepolt das heisst er klassifiziert genau falsch herum indem er mit einem negativen Gewicht hinzugenommen wird kann dieser Formfehler ausgeglichen werden und der umgedrehte Klassifikator mit verstarkendem Effekt hinzugenommen werden 4 Zwischenergebnis aufstellen Das Zwischenergebnis Fs ergibt sich aus der Formel F s x i 1 s w i f i x displaystyle F s x sum i 1 s w i f i x nbsp dd Es wird also genauso berechnet wie das eigentliche Ziel F nur dass statt aller m schwachen Klassifikatoren nur die ersten s bereits optimierten berucksichtigt werden Diese Schritte werden in dieser Reihenfolge wiederholt bis alle schwachen Klassifikatoren berucksichtigt wurden also s m ist oder der Benutzer den Fortgang abbricht Schwache Klassifikatoren Bearbeiten Typische schwache Klassifikatoren sind sogenannte decision stumps engl Entscheidungsstumpfe Diese Funktionen vergleichen den Wert einer einzelnen Koordinate j mit einem Schwellwert l und begrunden damit ihre Entscheidung fur 1 oder 1 Ist x x1 xd M ein Mustervektor im d dimensionalen Merkmalsraum M so hat ein solcher primitiver Klassifikator f im Allgemeinen die Form f x f x 1 x 2 x d 1 falls x j l 1 falls x j lt l displaystyle f x f x 1 x 2 dots x d begin cases 1 amp text falls x j geqslant l 1 amp text falls x j lt l end cases nbsp Genauer gesagt unterteilt f den Merkmalsraum mit einer Hyperebene in zwei Klassen Der Name spielt auf die Analogie zu Entscheidungsbaumen an Der erzeugte Gesamtklassifikator F kann als Entscheidungsbaum angesehen werden Jeder schwache Klassifikator ist ein innerer Knoten dieses Baumes an dem ein Unterbaum vgl engl stump Baum Stumpf hangt Die endgultige Klassifizierung in einem der Blatter des Baums wird als Folge binarer Entscheidungen engl decision erreicht Solche decision stumps sind als Grundlage fur Boosting sehr beliebt denn sie sind einfach zu handhaben und konnen extrem schnell ausgewertet werden Zudem mussen sie nicht von Anfang an vorgegeben sein sondern konnen erstellt werden wahrend der Algorithmus lauft Unterarten von Boosting BearbeitenAdaBoost AsymBoost BrownBoost DiscreteAB FloatBoost GentleAB GloBoost KLBoost LogitBoost RealAB WeightBoost GradientBoost zum Beispiel XGBoost Siehe auch BearbeitenBaggingEinzelnachweise Bearbeiten Robert Schapire The strength of weak learnability In Machine Learning Band 5 Nr 2 1990 S 197 227 doi 10 1007 BF00116037 Yoav Freund Robert E Schapire A Decision Theoretic Generalization of On Line Learning and an Application to Boosting In Journal of Computer and System Sciences Band 55 Nr 1 1997 S 119 139 doi 10 1006 jcss 1997 1504 Abgerufen von https de wikipedia org w index php title Boosting amp oldid 230741158