Qu'est-ce qui est hors erreur de sac dans les forêts aléatoires? [fermé]

qu'est-Ce que dans le sac d'erreur dans les Forêts Aléatoires? Est-il optimal de paramètres pour trouver le bon nombre d'arbres dans une Forêt Aléatoire?

37
demandé sur Max 2013-08-31 01:46:13

2 réponses

je vais prendre une tentative d'expliquer:

supposons que notre ensemble de données de formation soit représenté par T et supposons que l'ensemble de données ait des caractéristiques M (ou des attributs ou des variables).

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

et

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

yi is the label (or output or class). 

résumé des RF:

Forêts Aléatoires l'algorithme est un classificateur basé sur principalement deux méthodes:

  • Ensachage
  • méthode subspatiale aléatoire.

supposons que nous décidions de S nombre d'arbres dans la forêt puis nous créons d'abord S ensembles de données "same size as original" créé à partir d'un rééchantillonnage aléatoire de données en T avec-remplacement (n fois pour chaque ensemble de données). Il en résultera {T1, T2, ... TS} ensembles de données. Chacun d'eux est appelé un ensemble de données bootstrap. En raison de "avec-remplacement" chaque ensemble de données Ti peut avoir des enregistrements de données en double et Ti peut manquer plusieurs enregistrements de données des ensembles de données originaux. Ceci est appelé Bootstrapping. (en.wikipedia.org/wiki/Bootstrapping_(statistiques))

la mise en sac est le processus qui consiste à prendre des bootstraps et ensuite à agréger les modèles appris sur chaque bootstrap.

maintenant, RF crée S arbres et utilise m (=sqrt(M) or =floor(lnM+1)) sous-Configurations aléatoires à partir de M fonctionnalités possibles pour créer n'importe quel arbre. C'est ce qu'on appelle la méthode aléatoire subspatiale.

Donc, pour chaque Ti bootstrap dataset vous créez un arbre Ki. Si vous voulez classer des données d'entrée D = {x1, x2, ..., xM} vous le laissez passer à travers chaque arbre et produire S sorties (une pour chaque arbre) qui peuvent être dénotées par Y = {y1, y2, ..., ys}. La prédiction finale est un vote majoritaire sur cet ensemble.

Hors-de-sac d'erreur:

après avoir créé les classificateurs (S arbres), pour chaque (Xi,yi) à l'origine, de formation c'est à dire T, sélectionnez Tk qui ne comprend pas (Xi,yi). Ce sous-ensemble, attention, est un ensemble d'ensembles de données boostrap qui ne contient pas un enregistrement particulier de l'ensemble de données original. Cet ensemble est appelé-de-sac exemple. Il y a n ces sous-ensembles (un pour chaque enregistrement de données dans l'ensemble de données original T). OOB classifier est l'agrégation des votes seulement sur Tk telle qu'elle ne contient pas (xi,yi).

Hors-de-sac de l'estimation de l'erreur de généralisation est le taux d'erreur de l'out-of-bag classificateur sur l'ensemble de la formation (comparer avec connu yi').

Pourquoi est-ce important? L'étude des estimations d'erreurs pour les classificateurs ensachés dans Breiman [1996b], donne des résultats empiriques des preuves démontrant que l'estimation du nombre de sacs perdus est aussi exacte que l'utilisation d'un ensemble d'essais de la même taille que l'ensemble d'entraînement. Par conséquent, l'utilisation de l'estimation de l'erreur de sortie du sac élimine la nécessité d'un test de mise de côté.

(Merci @ Rudolf pour les corrections. Ses commentaires ci-dessous.)

96
répondu Manoj Awasthi 2015-05-20 09:14:49

dans L'implémentation originale de Breiman de l'algorithme de la forêt aléatoire, chaque arbre est formé sur environ 2/3 des données totales de formation. Au fur et à mesure que la forêt est construite, chaque arbre peut donc être testé (de manière similaire à laisser une validation croisée) sur les échantillons non utilisés dans la construction de cet arbre. Il s'agit de l'estimation de l'erreur hors sac - une estimation de l'erreur interne d'une forêt aléatoire au moment de sa construction.

31
répondu eagle34 2013-09-24 04:09:22