Ensemble Lernen

Bayes optimal classifierEdit

Der Bayes optimal Classifier ist eine Klassifikationstechnik. Es ist ein Ensemble aller Hypothesen im Hypothesenraum. Im Durchschnitt kann kein anderes Ensemble es übertreffen. Der Naive Bayes-Optimalklassifikator ist eine Version davon, die davon ausgeht, dass die Daten von der Klasse bedingt unabhängig sind, und die Berechnung durchführbarer macht. Jede Hypothese erhält eine Stimme proportional zur Wahrscheinlichkeit, dass der Trainingsdatensatz aus einem System entnommen würde, wenn diese Hypothese wahr wäre. Um Trainingsdaten endlicher Größe zu erleichtern, wird die Wahrscheinlichkeit jeder Hypothese auch mit der vorherigen Wahrscheinlichkeit dieser Hypothese multipliziert. Der Bayes-Optimalklassifikator kann mit der folgenden Gleichung ausgedrückt werden:

y = a r g m a x c j ∈ C ∑ h i ∈ H P (c j | h i ) P (T | h i ) P (h i ) {\displaystyle y={\Untermenge {c_{j}\in C}{\mathrm {argmax} }}\Summe _{h_{i}\in H}{P(c_{j}|h_{i})P(T|h_{i})P(h_{i})}}

wobei y { \displaystyle y} ist die vorhergesagte Klasse, C {\displaystyle C} ist die Menge aller möglichen Klassen, H {\displaystyle H} ist der Hypothesenraum, P {\displaystyle P} bezieht sich auf eine Wahrscheinlichkeit und T {\displaystyle T} ist die Trainingsdaten. Der Bayessche Optimalklassifikator stellt als Ensemble eine Hypothese dar, die nicht notwendigerweise in H {\displaystyle H} enthalten ist. Die Hypothese, die durch den Bayes-Optimalklassifikator repräsentiert wird, ist jedoch die optimale Hypothese im Ensembleraum (der Raum aller möglichen Ensembles, der nur aus Hypothesen in H {\displaystyle H} besteht).

Diese Formel kann mit dem Satz von Bayes angepasst werden, der besagt, dass der Posterior proportional zur Wahrscheinlichkeit mal dem Prior ist:

P ( h i | T ) ∝ P (T | h i ) P (h i ) {\displaystyle P(h_{i}|T)\propto P(T|h_{i})P(h_{i})}

daher ist

y = ein r g m a x c j ∈ C ∑ h i ∈ H P (c j | h i ) P (h i | T ) {\displaystyle y={\underset {c_{j}\in C}{\ mathrm {argmax} }}\sum _{h_{i}\in H}{P(c_{j} | h_{i})P(h_{i}|T)}}

Bootstrap-Aggregation (Absacken)Bearbeiten

Hauptartikel: Bootstrap-Aggregation

Beim Bootstrap-Aggregieren, oft abgekürzt als Absacken, wird jedes Modell im Ensemble mit dem gleichen Gewicht bewertet. Um die Modellvarianz zu fördern, trainiert Bagging jedes Modell im Ensemble mit einer zufällig gezeichneten Teilmenge des Trainingssatzes. Zum Beispiel kombiniert der Random Forest-Algorithmus zufällige Entscheidungsbäume mit Bagging, um eine sehr hohe Klassifizierungsgenauigkeit zu erreichen.

Beim Absacken werden die Proben so erzeugt, dass sich die Proben voneinander unterscheiden, ein Austausch ist jedoch zulässig. Replacement bedeutet, dass eine Instanz in mehreren Samples mehrmals vorkommen kann oder in einigen Samples überhaupt nicht vorkommen kann. Diese Proben werden dann an mehrere Lernende gegeben und dann werden die Ergebnisse von jedem Lernenden in Form von Abstimmungen kombiniert.

BoostingEdit

Hauptartikel: Boosting (Meta-Algorithmus)

Boosting beinhaltet den schrittweisen Aufbau eines Ensembles, indem jede neue Modellinstanz trainiert wird, um die Trainingsinstanzen hervorzuheben, die frühere Modelle falsch klassifiziert haben. In einigen Fällen hat sich gezeigt, dass Boosting eine bessere Genauigkeit liefert als Bagging, aber es ist auch wahrscheinlicher, dass es die Trainingsdaten übertrifft. Die bei weitem häufigste Implementierung von Boosting ist Adaboost, obwohl einige neuere Algorithmen berichten zufolge bessere Ergebnisse erzielen.

Beim Boosten wird den Beispieltrainingsdaten (z. B. D1) gleich zu Beginn der Runde ein gleiches Gewicht (gleichmäßige Wahrscheinlichkeitsverteilung) zugewiesen. Diese Daten (D1) werden dann einem Basislernenden (z. B. L1) gegeben. Den falsch klassifizierten Instanzen von L1 wird ein höheres Gewicht zugewiesen als den korrekt klassifizierten Instanzen, wobei jedoch zu berücksichtigen ist, dass die Gesamtwahrscheinlichkeitsverteilung gleich 1 ist. Diese verstärkten Daten (z. B. D2) werden dann dem zweiten Basislernenden (z. B. L2) usw. gegeben. Die Ergebnisse werden dann in Form von Abstimmungen zusammengefasst.

Bayesian Model averagingEdit

Bayesian Model Averaging (BMA) macht Vorhersagen unter Verwendung eines Durchschnitts über mehrere Modelle mit Gewichten, die durch die posteriore Wahrscheinlichkeit jedes Modells angesichts der Daten gegeben sind. Es ist bekannt, dass BMA im Allgemeinen bessere Antworten gibt als ein einzelnes Modell, das z. B. durch schrittweise Regression erhalten wird, insbesondere wenn sehr unterschiedliche Modelle im Trainingssatz nahezu identische Leistungen aufweisen, ansonsten jedoch möglicherweise ganz unterschiedliche Leistungen erbringen.

Die naheliegendste Frage bei jeder Technik, die Bayes ‚Theorem verwendet, ist der Prior, dh eine Spezifikation der Wahrscheinlichkeit (subjektiv, vielleicht), dass jedes Modell für einen bestimmten Zweck am besten geeignet ist. Konzeptionell kann BMA mit jedem Prior verwendet werden. Die ensembleBMA- und BMA-Pakete für R verwenden den Prior, der durch das Bayesian Information Criterion (BIC) nach Raftery (1995) impliziert wird. Das BAS-Paket für R unterstützt die Verwendung der von Akaike Information Criterion (AIC) implizierten Priors und anderer Kriterien gegenüber den alternativen Modellen sowie Priors gegenüber den Koeffizienten.

Der Unterschied zwischen BIC und AIC ist die Stärke der Präferenz für Sparsamkeit. Die Strafe für die Modellkomplexität ist ln ⁡ (n ) k {\displaystyle \ln(n)k} für den BIC und 2 k {\displaystyle 2k} für den AIC. Die asymptotische Theorie der großen Stichprobe hat festgestellt, dass BIC, wenn es ein bestes Modell gibt, mit zunehmender Stichprobengröße stark konsistent ist, dh es mit ziemlicher Sicherheit finden wird, während AIC dies möglicherweise nicht tut, da AIC möglicherweise weiterhin eine übermäßige posteriore Wahrscheinlichkeit auf Modelle legt, die komplizierter sind als sie sein müssen. Wenn wir uns andererseits mehr mit Effizienz befassen, d.h., minimaler mittlerer quadratischer Vorhersagefehler, dann asymptotisch, AIC und AICc sind „effizient“, während BIC nicht ist.

Burnham und Anderson (1998, 2002) trugen wesentlich dazu bei, ein breiteres Publikum in die Grundideen der Bayes’schen Modellmittelung einzuführen und die Methodik zu popularisieren. Die Verfügbarkeit von Software, einschließlich anderer kostenloser Open-Source-Pakete für R, die über die oben genannten hinausgehen, trug dazu bei, die Methoden einem breiteren Publikum zugänglich zu machen.

Haussler et al. (1994) zeigten, dass bei Verwendung von BMA zur Klassifizierung der erwartete Fehler höchstens doppelt so hoch ist wie der erwartete Fehler des Bayes-Optimalklassifikators.

Bayesian Model Combinationbearbeiten

Die Bayesian Model Combination (BMC) ist eine algorithmische Korrektur zur Bayesian Model Averaging (BMA). Anstatt jedes Modell im Ensemble einzeln abzutasten, wird aus dem Raum möglicher Ensembles abgetastet (wobei die Modellgewichtungen zufällig aus einer Dirichlet-Verteilung mit einheitlichen Parametern gezogen werden). Diese Modifikation überwindet die Tendenz von BMA, einem einzigen Modell das gesamte Gewicht zu geben. Obwohl BMC etwas rechenintensiver ist als BMA, führt es tendenziell zu dramatisch besseren Ergebnissen. Es wurde gezeigt, dass die Ergebnisse von BMC im Durchschnitt (mit statistischer Signifikanz) besser sind als BMA und Absacken.

Die Verwendung des Bayes’schen Gesetzes zur Berechnung der Modellgewichte erfordert die Berechnung der Wahrscheinlichkeit der Daten für jedes Modell. In der Regel entspricht keines der Modelle im Ensemble genau der Verteilung, aus der die Trainingsdaten generiert wurden, sodass alle Modelle für diesen Term korrekt einen Wert nahe Null erhalten. Dies würde gut funktionieren, wenn das Ensemble groß genug wäre, um den gesamten Modellraum abzutasten, aber dies ist selten möglich. Folglich bewirkt jedes Muster in den Trainingsdaten, dass sich das Ensemble-Gewicht in Richtung des Modells im Ensemble verschiebt, das der Verteilung der Trainingsdaten am nächsten kommt. Es reduziert sich im Wesentlichen auf eine unnötig komplexe Methode zur Modellauswahl.

Die möglichen Gewichtungen für ein Ensemble können als auf einem Simplex liegend visualisiert werden. An jedem Scheitelpunkt des Simplexes wird das gesamte Gewicht einem einzelnen Modell im Ensemble zugewiesen. BMA konvergiert zu dem Scheitelpunkt, der der Verteilung der Trainingsdaten am nächsten liegt. Im Gegensatz dazu konvergiert BMC zu dem Punkt, an dem diese Verteilung auf den Simplex projiziert. Mit anderen Worten, anstatt das eine Modell auszuwählen, das der generierenden Verteilung am nächsten liegt, wird die Kombination von Modellen gesucht, die der generierenden Verteilung am nächsten liegt.

Die Ergebnisse von BMA können oft durch Kreuzvalidierung angenähert werden, um das beste Modell aus einem Bucket von Modellen auszuwählen. Ebenso können die Ergebnisse von BMC durch Kreuzvalidierung angenähert werden, um die beste Ensemblekombination aus einer zufälligen Stichprobe möglicher Gewichtungen auszuwählen.

Bucket of modelsEdit

Ein „Bucket of models“ ist eine Ensemble-Technik, bei der ein Modellauswahlalgorithmus verwendet wird, um das beste Modell für jedes Problem auszuwählen. Beim Testen mit nur einem Problem kann ein Bucket von Modellen keine besseren Ergebnisse liefern als das beste Modell im Set, aber wenn es über viele Probleme hinweg bewertet wird, wird es normalerweise im Durchschnitt viel bessere Ergebnisse liefern als jedes Modell im Set.

Der gebräuchlichste Ansatz für die Modellauswahl ist die Kreuzvalidierungsauswahl (manchmal auch als „Bake-Off-Wettbewerb“ bezeichnet). Es wird mit folgendem Pseudocode beschrieben:

For each model m in the bucket: Do c times: (where 'c' is some constant) Randomly divide the training dataset into two datasets: A, and B. Train m with A Test m with BSelect the model that obtains the highest average score

Die Kreuzvalidierungsauswahl kann wie folgt zusammengefasst werden: „Probieren Sie alle mit dem Trainingssatz aus und wählen Sie den aus, der am besten funktioniert“.

Gating ist eine Verallgemeinerung der Kreuzvalidierungsauswahl. Dabei wird ein anderes Lernmodell trainiert, um zu entscheiden, welches der Modelle im Eimer am besten zur Lösung des Problems geeignet ist. Oft wird ein Perzeptron für das Gating-Modell verwendet. Es kann verwendet werden, um das „beste“ Modell auszuwählen, oder es kann verwendet werden, um den Vorhersagen aus jedem Modell im Eimer ein lineares Gewicht zu verleihen.

Wenn ein Bucket von Modellen mit einer großen Anzahl von Problemen verwendet wird, kann es wünschenswert sein, das Training einiger der Modelle zu vermeiden, deren Training lange dauert. Landmark Learning ist ein Meta-Learning-Ansatz, der dieses Problem lösen soll. Dabei werden nur die schnellen (aber ungenauen) Algorithmen im Bucket trainiert und dann die Leistung dieser Algorithmen verwendet, um festzustellen, welcher langsame (aber genaue) Algorithmus am wahrscheinlichsten am besten geeignet ist.

StackingEdit

Stacking (manchmal auch Stacked generalization genannt) beinhaltet das Trainieren eines Lernalgorithmus, um die Vorhersagen mehrerer anderer Lernalgorithmen zu kombinieren. Zuerst werden alle anderen Algorithmen unter Verwendung der verfügbaren Daten trainiert, dann wird ein Kombinatoralgorithmus trainiert, um eine endgültige Vorhersage unter Verwendung aller Vorhersagen der anderen Algorithmen als zusätzliche Eingaben zu treffen. Wenn ein beliebiger Kombinatoralgorithmus verwendet wird, kann das Stapeln theoretisch jede der in diesem Artikel beschriebenen Ensemble-Techniken darstellen, obwohl in der Praxis häufig ein logistisches Regressionsmodell als Kombinator verwendet wird.

Stacking liefert typischerweise eine bessere Leistung als jedes einzelne der trainierten Modelle. Es wurde erfolgreich sowohl für überwachte Lernaufgaben (Regression, Klassifikation und Fernunterricht ) als auch für unbeaufsichtigtes Lernen (Dichteschätzung) eingesetzt. Es wurde auch verwendet, um die Fehlerrate des Absackens zu schätzen. Es wurde berichtet, dass es die bayes’sche Modellmittelung übertrifft.Die beiden Top-Performer im Netflix-Wettbewerb verwendeten das Mischen, was als eine Form des Stapelns angesehen werden kann.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.