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.
machine-learning
random-forest
markusian
la source
la source
Réponses:
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 là , la variance de l'erreur de généralisation attendue d'un ensemble correspond à:
où
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 grandM
, 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.
la source
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
randomForest
R, vous ne pouvez contrôler que la complexitéla source
J'ai fait une expérience très simple. J'ai généré les données synthétiques:
J'ai formé deux modèles de forêt aléatoire:
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:
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:
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.
la source
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
la source