Jai compris que la forêt aléatoire et les arbres extrêmement aléatoires diffèrent en ce sens que les divisions des arbres de la forêt aléatoire sont déterministes alors quils sont aléatoires dans le cas dun arbre extrêmement aléatoire (pour être plus précis, la prochaine division est la meilleure division parmi les divisions aléatoires uniformes dans les variables sélectionnées pour larbre actuel). Mais je ne comprends pas tout à fait l’impact de ces différents fractionnements 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-elles en présence de variables corrélées?
Commentaires
Réponse
Les arbres supplémentaires (aléatoires) (ET) article contient une analyse de biais-variance. À la page 16, vous pouvez voir une comparaison avec plusieurs méthodes, y compris RF sur six tests (arbre c lassification et trois régression).
Les deux méthodes sont à peu près les mêmes, lET étant un peu pire quand il y a un grand nombre dentités bruyantes (dans des ensembles de données de grande dimension).
Cela dit, à condition que la sélection de fonctionnalités (peut-être manuelle) soit presque optimale, les performances sont à peu près les mêmes, cependant, les ET peuvent être plus rapides en calcul.
Daprès larticle lui-même:
Lanalyse de lalgorithme et la détermination de la valeur optimale de K sur plusieurs variantes de problèmes de test ont montré que la valeur dépend en principe des spécificités du problème, en particulier proportion d attributs non pertinents . […] Lanalyse biais / variance a montré que les Extra-Trees fonctionnent en diminuant 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, Louis Wehenke. « Arbres extrêmement aléatoires »
Commentaires
- Toute référence (empirique ou théorique) concernant ET étant un peu pire quand il y a un nombre élevé de bruits Caractéristiques? Ou est-ce basé sur lexpérience?
- Daprès mon expérience, le contraire est vrai: Extra-Trees fait mieux avec de nombreuses fonctionnalités bruyantes. Avec la mise en garde que vous devez avoir une grande forêt (beaucoup destimateurs, n_estimators dans sklearn) et régler le nombre de caractéristiques considérées à chaque division (max_features dans sklearn) pour que cela fonctionne. Un seul Extra-Tree surajustera plus dun seul arbre forestier aléatoire, mais si vous avez plusieurs Extra-Trees, ils auront tendance à sur-ajuster de différentes manières et à ne pas sur-ajuster. Jobtiens souvent une amélioration substantielle jusquà 3000 estimateurs.
- Comme la souligné @ramhiser, ET semble conserver des performances plus élevées en présence de fonctionnalités bruyantes. Pouvez-vous ajouter des références à votre réponse?
- Les arbres des arbres supplémentaires sont-ils toujours une ‘ souche ‘ (juste une scission) ?? La lecture dautres articles donne une telle impression.
Réponse
ExtraTreesClassifier est comme un frère de RandomForest mais avec 2 importants différences.
Nous sommes construire plusieurs arbres de décision. Pour créer plusieurs arbres, nous avons besoin de plusieurs ensembles de données. La meilleure pratique est que nous ne formons pas les arbres de décision sur lensemble de données complet, mais nous nous entraînons uniquement sur une fraction de données (environ 80%) pour chaque arbre. Dans une forêt aléatoire, nous dessinons des observations avec remplacement. Nous pouvons donc répéter observations dans une forêt aléatoire. Dans un ExtraTreesClassifier, nous dessinons des observations sans remplacement, donc nous naurons pas de répétition dobservations comme dans une forêt aléatoire.
La division est le processus de conversion dun nœud parent non homogène en 2 nœuds enfants homogènes (le mieux possible). Dans RandomForest, il sélectionne la meilleure division 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 densemble classées de variance élevée à faible, se terminant par ExtraTreesClassifier.
1.Arbre de décision (variance élevée)
Un arbre de décision unique surpasse généralement les données dont il apprend car il apprend dune seule voie de les décisions. Les prédictions issues dun seul arbre décisionnel ne font généralement pas de prédictions précises sur les nouvelles données.
2. Forêt aléatoire (variance moyenne)
Les modèles forestiers aléatoires réduisent le risque de surajustement en introduisant le hasard en:
- construction de plusieurs arbres (n_estimators)
- dessin dobservations avec remplacement (cest-à-dire un échantillon amorcé)
- division des nœuds sur la meilleure répartition parmi un sous-ensemble aléatoire des entités sélectionnées à chaque nœud . Le fractionnement est un processus pour convertir un nœud parent non homogène en 2 nœuds enfants homogènes (meilleur possible).
3. Extra Trees (faible variance)
Extra Trees est comme une forêt aléatoire, en ce sens quil construit plusieurs arbres et divise les nœuds en utilisant des sous-ensembles aléatoires de caractéristiques, mais avec deux différences clés: il ne bootstrap pas les observations (ce qui signifie quil échantillonne sans remplacement), et les nœuds sont divisés sur des divisions aléatoires, pas les meilleures divisions. Donc, en résumé, ExtraTrees:
- construit plusieurs arbres avec bootstrap = False par défaut, ce qui signifie quil échantillonne sans remplacement
- les nœuds sont divisés en fonction de divisions aléatoires dans un sous-ensemble aléatoire des caractéristiques sélectionnées à chaque nœud
Dans Extra Trees, laléatoire ne vient pas du bootstrap des données, mais vient plutôt des divisions aléatoires de toutes les observations. ExtraTrees est nommé pour (Arbres extrêmement aléatoires).
Commentaires
- [Bootstrapping] ( fr .wikipedia.org / wiki / Bootstrapping_ (statistics) échantillonne avec remplacement.
Réponse
Merci beaucoup pour les réponses! Comme javais encore des questions, jai effectué quelques simulations numériques pour avoir plus dinformations sur le comportement de ces deux méthodes.
- Extra les arbres semblent conserver de meilleures performances en présence dentités bruyantes.
Limage ci-dessous montre les performances (évaluées par validation croisée) car des colonnes aléatoires sans rapport avec la cible sont ajoutées à lensemble de données. la cible étant simplement une combinaison linéaire des trois premières colonnes.
-
Lorsque toutes les variables sont pertinentes, les deux méthodes semblent atteindre les mêmes performances ce,
-
Les arbres supplémentaires semblent trois fois plus rapides que la forêt aléatoire (au moins, dans limplémentation de scikit learn)
Sources
Lien vers larticle complet: forêt aléatoire vs arbres supplémentaires .
Commentaires
- 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. »
Réponse
La réponse est que cela dépend. Je vous suggère dessayer à la fois une forêt aléatoire et des arbres supplémentaires sur votre problème. Essayez une grande forêt (1000 – 3000 arbres / estimateurs, n_estimators dans sklearn) et ajustez le nombre dentités considérées à chaque division (max_features dans sklearn) ainsi que les échantillons minimum par division (min_samples_split dans sklearn) et la profondeur maximale de larbre ( max_depth dans sklearn). Cela dit, vous devez garder à lesprit que sur le réglage peut être une forme de surajustement.
Voici deux problèmes sur lesquels jai travaillé personnellement et où des arbres supplémentaires se sont révélés utiles avec des données très bruyantes:
Une prédiction efficace des troubles protéiques distribués avec des échantillons collés
uniform split
?