33

Was ist aus Sack Fehler in Random Forests? Ist dies der optimale Parameter zum Ermitteln der richtigen Anzahl von Bäumen in einer zufälligen Gesamtstruktur?Was ist aus Sack Fehler in Random Forests?

+5

Wenn diese Frage nicht Implementierung spezifisch ist, sollten Sie Ihre Frage an http://stats.stackexchange.com/ – Sentry

Antwort

76

Ich werde einen Versuch, um zu erklären:

unser Trainingsdatensatz Angenommen wird durch T und suppose Datensatz repräsentiert hat M-Funktionen (oder Attribute oder Variablen).

T = {(X1,y1), (X2,y2), ... (Xn, yn)}

und

Xi is input vector {xi1, xi2, ... xiM} 

yi is the label (or output or class). 

Zusammenfassung der RF:

Random Forests-Algorithmus ist ein Klassifikator auf hauptsächlich zwei Methoden basieren -

  • Absackung
  • Zufalls Subraum m ethod.

Angenommen, entscheiden wir S Anzahl der Bäume in unserem Wald haben dann zunächst S Datensätze von "same size as original" erstellen wir aus zufälligen Resampling von Daten in T mit-Ersatz (n-mal für jeden Datensatz) erstellt. Dies führt zu {T1, T2, ... TS} Datensätzen. Jeder von diesen wird als Bootstrap-Dataset bezeichnet. Aufgrund von "with-replacement" kann jeder Datensatz Ti doppelte Datensätze enthalten und Ti kann mehrere Datensätze aus Originaldatensätzen enthalten. Dies wird Bootstrapping genannt. (en.wikipedia.org/wiki/Bootstrapping_(statistics))

Bagging ist der Prozess der Bootstraps & dann Aggregation der Modelle gelernt auf jedem Bootstrap.

Nun erstellt RF S Bäume und verwendet m (=sqrt(M) or =floor(lnM+1)) zufällige Unterfunktionen aus M möglichen Funktionen, um jeden Baum zu erstellen. Dies wird als zufällige Unterraummethode bezeichnet.

So erstellen Sie für jedes Bootstrap-Dataset Ti einen Baum Ki. Wenn Sie einige Eingabedaten D = {x1, x2, ..., xM} klassifizieren möchten, lassen Sie sie durch jeden Baum laufen und produzieren S Ausgaben (eine für jeden Baum), die durch Y = {y1, y2, ..., ys} gekennzeichnet werden können. Die endgültige Voraussage ist eine Mehrheitsabstimmung über diesen Satz.

Out-of-Tasche Fehler:

Nachdem die Klassifizierer zu schaffen (S Bäume), für jeden (Xi,yi) in dem ursprünglichen Trainingssatz heißt T, all Tk auswählen, die nicht (Xi,yi) enthält. Diese Teilmenge, beachten Sie, ist eine Reihe von Bootrap-Datensätzen, die keinen bestimmten Datensatz aus dem ursprünglichen Datensatz enthält. Dieser Satz wird als Out-of-Bag-Beispiele bezeichnet. Es gibt n solche Teilmengen (eine für jeden Datensatz im ursprünglichen Datensatz T).OOB Classifier ist die Aggregation von Votes NUR über Tk, so dass sie (xi,yi) nicht enthält.

Out-of-Bag-Schätzung für den Generalisierungsfehler ist die Fehlerrate des Out-of-Bag-Klassifikators auf dem Trainingssatz (vergleiche es mit bekannten yi).

Warum ist es wichtig? Die Untersuchung von Fehlerschätzungen für Bagged-Klassifikatoren in Breiman [1996b] liefert empirische Beweise, die zeigen, dass die Out-of-Bag-Schätzung genauso genau ist wie die Verwendung eines Testsatzes derselben Größe wie der Trainingssatz. Daher wird durch die Verwendung der Außer-Haus-Fehlerschätzung die Notwendigkeit eines Testsatzes für die Außer-Haus-Anordnung beseitigt.

(Danke @Rudolf für Korrekturen. Seine Kommentare unten).

+2

Wunderbare Erklärung @Manoj Awasthi –

+0

Dank @RushdiShams –

+2

Schöne Erklärung, es wäre besser, wenn kürzer – bourneli

28

In Breiman's ursprünglicher Implementierung des Random Forest Algorithmus wird jeder Baum auf ungefähr 2/3 der gesamten Trainingsdaten trainiert. Wenn der Wald gebaut wird, kann jeder Baum so getestet werden (vergleichbar mit der Validierung eines Kreuzes), dass er auf den Proben verwendet wird, die nicht zum Aufbau dieses Baumes verwendet werden. Dies ist die Fehlerbudgetschätzung - eine interne Fehlerschätzung einer zufälligen Gesamtstruktur, während sie erstellt wird.

+1

Vielen Dank für das posten prägnante und klare Antwort. – ays0110