Est-ce que Random Forest est trop habillé?

24

J'ai lu autour de Random Forests, mais je ne peux pas vraiment trouver une réponse définitive au problème du sur-ajustement. Selon le document original de Breiman, ils ne devraient pas suremballer lors de l'augmentation du nombre d'arbres dans la forêt, mais il semble qu'il n'y ait pas de consensus à ce sujet. Cela me crée une certaine confusion sur la question.

Peut-être que quelqu'un de plus expert que moi peut me donner une réponse plus concrète ou me diriger dans la bonne direction pour mieux comprendre le problème.

markusian
la source
3
Tous les algorithmes seront surdimensionnés dans une certaine mesure. Il ne s'agit pas de choisir quelque chose qui ne convient pas, il s'agit de considérer attentivement la quantité de sur-ajustement et la forme du problème que vous résolvez pour maximiser les mesures plus pertinentes.
indico
1
ISTR que Breiman avait une preuve basée sur la loi des grands nombres. Quelqu'un a-t-il découvert une faille dans cette preuve?
JenSCDC
@AndyBlankertz ISTR = internetslang.com/ISTR-meaning-definition.asp ?
Hack-R

Réponses:

22

Chaque algorithme ML avec une complexité élevée peut être surchargé. Cependant, le PO demande si un RF ne s'adaptera pas lors de l'augmentation du nombre d'arbres dans la forêt.

En général, les méthodes d'ensemble réduisent la variance de prédiction à presque rien, améliorant la précision de l'ensemble. Si nous définissons la variance de l'erreur de généralisation attendue d'un modèle aléatoire individuel comme:

De , la variance de l'erreur de généralisation attendue d'un ensemble correspond à:

p(x)est le coefficient de corrélation de Pearson entre les prédictions de deux modèles randomisés formés sur les mêmes données de deux graines indépendantes. Si nous augmentons le nombre de DT dans le RF, plus grand M, la variance de l'ensemble diminue quand ρ(x)<1. Par conséquent, la variance d'un ensemble est strictement inférieure à la variance d'un modèle individuel.

En résumé, l'augmentation du nombre de modèles randomisés individuels dans un ensemble n'augmentera jamais l'erreur de généralisation.

tashuhka
la source
1
C'est certainement ce que Leo Breiman et la théorie disent, mais empiriquement, il semble qu'ils font vraiment de l'overfit. Par exemple, j'ai actuellement un modèle avec un CV MSE 10 fois supérieur à 0,02, mais mesuré par rapport à la vérité du terrain, le CV MSE est de 0,4. OTOH si je réduit la profondeur et le nombre d'arbres, les performances du modèle s'améliorent considérablement.
Hack-R
4
Si vous réduisez la profondeur de l'arbre, c'est un cas différent car vous ajoutez de la régularisation, ce qui diminuera le sur-ajustement. Essayez de tracer le MSE lorsque vous augmentez le nombre d'arbres tout en gardant le reste des paramètres inchangé. Donc, vous avez MSE dans l'axe des y et num_tress dans l'axe des x. Vous verrez que lorsque vous ajoutez plus d'arbres, l'erreur diminue rapidement, puis elle présente un plateau; mais il n'augmentera jamais.
tashuhka
9

Vous voudrez peut-être vérifier la validation croisée - un site Web stachexchange pour de nombreuses choses, y compris l'apprentissage automatique.

En particulier, cette question (avec exactement le même titre) a déjà reçu plusieurs réponses. Vérifiez ces liens: /stats//search?q=random+forest+overfit

Mais je peux vous donner la réponse courte: oui, il fait trop de place, et parfois vous devez contrôler la complexité des arbres dans votre forêt, ou même tailler quand ils poussent trop - mais cela dépend de la bibliothèque que vous utilisez pour construire la forêt. Par exemple, dans randomForestR, vous ne pouvez contrôler que la complexité

Alexey Grigorev
la source
3
  1. La forêt aléatoire fait trop de place.
  2. La forêt aléatoire n'augmente pas l'erreur de généralisation lorsque davantage d'arbres sont ajoutés au modèle. La variance de généralisation va à zéro avec plus d'arbres utilisés.

J'ai fait une expérience très simple. J'ai généré les données synthétiques:

y = 10 * x + noise

J'ai formé deux modèles de forêt aléatoire:

  • une avec des arbres pleins
  • une avec des arbres taillés

Le modèle avec des arbres pleins a une erreur de train plus faible mais une erreur de test plus élevée que le modèle avec des arbres élagués. Les réponses des deux modèles:

réponses

C'est une preuve évidente de sur-ajustement. Ensuite, j'ai pris les hyper-paramètres du modèle surajusté et vérifié l'erreur tout en ajoutant à chaque arbre de l'étape 1. J'ai obtenu l'intrigue suivante:

faire pousser des arbres

Comme vous pouvez le voir, l'erreur de surajustement ne change pas lors de l'ajout d'arbres mais le modèle est surajusté. Voici le lien pour l'expérience que j'ai faite.

pplonski
la source
1

ENSEMBLE DE DONNÉES STRUCTURÉ -> ERREURS OOB TROMPEUSES

J'ai trouvé un cas intéressant de sur-ajustement RF dans ma pratique de travail. Lorsque les données sont structurées, les fréquences radio s'adaptent aux observations OOB.

Détail :

J'essaie de prédire les prix de l'électricité sur le marché au comptant de l'électricité pour chaque heure (chaque ligne de jeu de données contient les prix et les paramètres du système (charge, capacités, etc.) pour cette heure).
Les prix de l'électricité sont créés par lots (24 prix créés sur le marché de l'électricité en une seule fixation en un instant).
Donc, les observations OOB pour chaque arbre sont des sous-ensembles aléatoires d'un ensemble d'heures, mais si vous prédisez les 24 prochaines heures, vous le faites tout à la fois (au premier moment, vous obtenez tous les paramètres du système, vous prédisez 24 prix, puis il y a une fixation qui produit ces prix), il est donc plus facile de faire des prévisions OOB, puis pour le lendemain. Les obs OOB ne sont pas contenus dans des blocs de 24 heures, mais dispersés uniformément, car il y a une autocorrélation des erreurs de prédiction, il est plus facile de prédire le prix pour une seule heure qui manque alors pour tout le bloc d'heures manquantes.

plus facile à prévoir en cas d'erreur d'autocorrélation:
connu, connu, prédiction, connu, prédiction - cas OBB
plus difficile:
connu, connu, connu, prédiction, prédiction - cas de prédiction du monde réel

J'espère que c'est intéressant

Qbik
la source