Différence entre une forêt aléatoire et des arbres extrêmement randomisés


44

J'ai compris que Random Forest et Extremely Randomized Trees diffèrent en ce sens que les divisions des arbres de Random Forest sont déterministes, alors qu'elles sont aléatoires dans le cas d'arbres extrêmement aléatoires (pour être plus précis, la division suivante est la meilleure parmi les divisions uniformes aléatoires dans les variables sélectionnées pour l’arbre actuel). Mais je ne comprends pas bien l’impact de ces différentes scissions dans diverses situations.

  • Comment se comparent-ils en termes de biais / variance?
  • Comment se comparent-ils en présence de variables non pertinentes?
  • Comment se comparent-ils en présence de variables corrélées?

2
(a) Les TRE peuvent parfois être plus biaisés en raison de scissions moins optimales / Les TRE réduiront parfois la variance en raison d'une décorrélation plus poussée des arbres; (b) Je suppose la même chose, pas sûr; (c) Je suppose la même chose, pas sûr. Extra: je n’appellerais pas la scission déterministe des RF à cause de l’échantillonnage de variables aléatoires, et les arbres ne sont bien sûr pas dus à l’amorçage.
Soren Havelund Welling

Qu'est - ce qu'un uniform split?
octavian

Réponses:


31

Le extra- (répartition aléatoire) -trees (ET) L' article contient une analyse biais-variance. À la page 16, vous pouvez voir une comparaison avec plusieurs méthodes, y compris RF, sur six tests (classification des arbres et trois régressions).

Les deux méthodes sont à peu près les mêmes, l'ET étant un peu pire lorsqu'il y a un grand nombre de caractéristiques bruitées (dans des ensembles de données de grande dimension).

Cela dit, à condition que la sélection des fonctionnalités (peut-être manuelle) soit presque optimale, les performances sont à peu près les mêmes, toutefois, les ET peuvent être plus rapides en calcul.

De l'article lui-même:

L'analyse de l'algorithme et la détermination de la valeur optimale de K sur plusieurs variantes du problème de test ont montré que cette valeur dépend en principe des spécificités du problème, en particulier de la proportion d' attributs non pertinents . [...] L'analyse biais / variance a montré que les extra-arbres agissent en réduisant la variance tout en augmentant le biais . [...] Lorsque la randomisation est augmentée au-dessus du niveau optimal, la variance diminue légèrement tandis que le biais augmente souvent de manière significative.

Pas de solution miracle, comme toujours.


Pierre Geurts, Damien Ernst et Louis Wehenke. "Arbres extrêmement aléatoires"


3
Y a-t-il des références (empiriques ou théoriques) selon lesquelles le temps d’extraction est un peu pire s’il ya un grand nombre de caractéristiques bruitées? Ou est-ce basé sur l'expérience?
Ramhiser

1
D'après mon expérience, l'inverse est vrai: Extra-Trees réussit mieux avec de nombreuses fonctionnalités bruyantes. Avec l'avertissement que vous devez avoir une grande forêt (de nombreux estimateurs, n_estimateurs dans sklearn) et ajuster le nombre d'entités prises en compte à chaque division (max_features dans sklearn) pour que cela fonctionne. Un seul extra-arbre surajoutera plus d'un seul arbre forestier aléatoire, mais si vous avez plusieurs extra-arbres, ils auront tendance à sur-adapter de différentes manières et non sur-adapter. J'obtiens souvent des améliorations substantielles jusqu'à 3000 estimateurs.
denson

Comme @ramhiser l'a souligné, ET semble conserver une performance supérieure en présence de caractéristiques bruyantes. Pouvez-vous ajouter quelques références à votre réponse?
Goncalo Peres soutient Monica

3

La réponse est que cela dépend. Je vous suggère d'essayer à la fois des forêts aléatoires et des arbres supplémentaires pour résoudre votre problème. Essayez une grande forêt (1 000 à 3 000 arbres / estimateurs, n_estimateurs dans Sklearn) et réglez le nombre d'entités prises en compte à chaque division (max_features dans Sklearn) ainsi que le nombre minimal d'échantillons par division (min_samples_split dans Sklearn) et la profondeur maximale de l'arbre ( max_depth in sklearn). Cela dit, gardez à l’esprit que le sur-réglage peut être une forme de surajustement.

Voici deux problèmes sur lesquels j'ai personnellement travaillé: des arbres supplémentaires se sont révélés utiles avec des données très bruitées:

Forêts décisionnelles pour la classification par apprentissage automatique de grands ensembles de caractéristiques de fond marin bruyants

Une prédiction efficace des troubles protéiques distribués avec des échantillons collés


3

Merci beaucoup pour les réponses! Comme j'avais toujours des questions, j'ai effectué des simulations numériques pour mieux comprendre le comportement de ces deux méthodes.

  • Les arbres supplémentaires semblent conserver de meilleures performances en présence de caractéristiques bruyantes.

L'image ci-dessous montre la performance (évaluée avec validation croisée) au fur et à mesure que des colonnes aléatoires non pertinentes pour la cible sont ajoutées à l'ensemble de données. La cible étant juste une combinaison linéaire des trois premières colonnes. forêt aléatoire vs arbres supplémentaires en présence de variables non pertinentes

  • Lorsque toutes les variables sont pertinentes, les deux méthodes semblent atteindre la même performance,

  • Les arbres supplémentaires semblent trois fois plus rapides que la forêt aléatoire (au moins, dans la mise en œuvre de scikit learn)

Sources

Lien vers l'article complet: forêt aléatoire vs arbres supplémentaires .


1
De votre article lié: "En bleu sont présentés les résultats de la forêt aléatoire et en rouge pour les arbres supplémentaires."
Tomsv

2

ExtraTreesClassifier est comme un frère de RandomForest mais avec 2 différences importantes.

entrez la description de l'image ici

Nous construisons plusieurs arbres de décision. Pour construire plusieurs arbres, nous avons besoin de plusieurs jeux de données. La meilleure pratique consiste à ne pas former les arbres de décision sur l'ensemble de données complet, mais uniquement sur une fraction de données (environ 80%) pour chaque arbre. Dans une forêt aléatoire, nous tirons des observations avec remplacement. Ainsi, nous pouvons avoir des répétitions d'observations dans une forêt aléatoire. Dans un ExtraTreesClassifier, nous tirons des observations sans les remplacer. Par conséquent, les observations ne seront pas répétées comme dans une forêt aléatoire.

La scission consiste à convertir un nœud parent non homogène en 2 nœuds enfants homogènes (au mieux). Dans RandomForest, il sélectionne le meilleur fractionnement pour convertir le parent en deux nœuds enfants les plus homogènes. Dans un ExtraTreesClassifier, il sélectionne une division aléatoire pour diviser le nœud parent en deux nœuds enfants aléatoires.

Regardons quelques méthodes d'ensemble ordonnées de variance élevée à faible, se terminant par ExtraTreesClassifier.

1. Arbre de décision (grande variance)

Un arbre de décision unique sur-exploite généralement les données dont il tire l’apprentissage, car il n’apprend qu’à partir d’un seul processus décisionnel. Les prévisions d'un seul arbre de décision ne font généralement pas de prévisions précises sur les nouvelles données.

2. Forêt aléatoire (Variance moyenne)

Les modèles de forêt aléatoires réduisent le risque de surajustement en introduisant le caractère aléatoire comme suit:

  • construction de plusieurs arbres (n_estimateurs)
  • tirer des observations avec remplacement (c.-à-d. un échantillon initialisé)
  • diviser les nœuds sur la meilleure répartition entre un sous-ensemble aléatoire des fonctionnalités sélectionnées sur chaque nœud. La scission consiste à convertir un nœud parent non homogène en 2 nœuds enfants homogènes (au mieux).

3. Arbres supplémentaires (faible variance)

Extra Trees ressemble à une forêt aléatoire, en ce sens qu'il crée plusieurs arbres et divise des nœuds à l'aide de sous-ensembles aléatoires d'entités, mais avec deux différences essentielles: il n'amorce pas les observations (c'est-à-dire qu'il échantillonne sans remplacement) et les nœuds sont fractionnés sur des fractionnements aléatoires. pas mieux divise. Donc, en résumé, ExtraTrees:

  • construit plusieurs arbres avec bootstrap = False par défaut, ce qui signifie qu’il échantillonne sans remplacement
  • les nœuds sont divisés en fonction de divisions aléatoires parmi un sous-ensemble aléatoire des entités sélectionnées sur chaque nœud

Dans Extra Trees, le caractère aléatoire ne provient pas de l'initialisation des données, mais de la division aléatoire de toutes les observations. ExtraTrees est nommé pour (arbres extrêmement randomisés).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.