Pourquoi l'estimation d'erreur OOB de la forêt aléatoire s'améliore-t-elle lorsque le nombre d'entités sélectionnées diminue?

14

J'applique un algorithme de forêt aléatoire en tant que classificateur sur un ensemble de données de microréseaux qui sont divisés en deux groupes connus avec des milliers de fonctionnalités. Après l'exécution initiale, je regarde l'importance des fonctionnalités et réexécute l'algorithme d'arbre avec les fonctionnalités les plus importantes 5, 10 et 20. Je trouve que pour toutes les fonctionnalités, top 10 et 20, l'estimation OOB du taux d'erreur est de 1,19% alors que pour les 5 meilleures fonctionnalités, elle est de 0%. Cela me semble contre-intuitif, donc je me demandais si vous pouviez expliquer si je manque quelque chose ou si j'utilise la mauvaise métrique.

J'utilise le package randomForest dans R avec ntree = 1000, nodesize = 1 et mtry = sqrt (n)

danielsbrewer
la source
2
Juste pour être clair: appliquez-vous des RF de manière itérative, c'est-à-dire en sélectionnant les fonctionnalités les mieux classées (selon l'indice de Gini ou la diminution de MSE) dans tout l'espace d'entrée? Je sais que les RF ne s'améliorent pas nécessairement avec l'augmentation du nombre d'arbres, mais ce que vous décrivez semble avoir du sens (les meilleures fonctionnalités permettent de prédire avec une précision de 100% les échantillons OOB), bien qu'il existe clairement un risque de sur-ajustement lorsque vous procédez de cette façon .
chl
Oui, c'est ce que je fais
danielsbrewer
2
@chl, pourriez-vous expliquer pourquoi il existe un risque de sur-ajustement en utilisant seulement 5 fonctionnalités?
tashuhka

Réponses:

15

Il s'agit d'une sur-sélection de fonctionnalités et cela est assez connu - voir Ambroise & McLachlan 2002 . Le problème est basé sur le fait que la RF est trop intelligente et que le nombre d'objets est trop petit. Dans ce dernier cas, il est généralement assez facile de créer un attribut au hasard qui peut avoir une bonne corrélation avec la décision. Et lorsque le nombre d'attributs est important, vous pouvez être certain que certains d'entre eux totalement non pertinents seront de très bons prédicteurs, même assez pour former un cluster qui sera capable de recréer la décision à 100%, surtout lorsque l'énorme flexibilité de RF est considéré. Et donc, il devient évident que lorsqu'on lui demande de trouver le meilleur sous-ensemble possible d'attributs, la procédure FS trouve ce cluster.
Une solution (CV) est donnée dans A & McL, vous pouvez également tester notre approche du sujet, leL'algorithme de Boruta , qui étend essentiellement l'ensemble avec des «attributs fantômes» conçus pour être aléatoires par conception et compare leur importance RF à celle obtenue pour les attributs réels afin de juger lesquels d'entre eux sont en effet aléatoires et peuvent être supprimés; ceci est répliqué plusieurs fois pour être significatif. Boruta est plutôt destiné à une tâche un peu différente, mais pour autant que mes tests l'ont montré, l'ensemble résultant est exempt du problème de surcapacité FS.


la source
2

J'ai pensé ajouter une explication intuitive à ce modèle.

Dans chaque arbre de décision comprenant la forêt aléatoire, les données sont réparties de manière itérative selon des dimensions uniques. Surtout, cette procédure implique

1) en ne considérant qu'un petit sous-ensemble sélectionné au hasard de toutes les variables explicatives, et

2) sélectionner la variable explicative la plus fortement associée dans ce sous-ensemble de variables sélectionné au hasard pour diviser les données le long.

Par conséquent, la probabilité que les n variables les plus importantes soient sélectionnées à un nœud particulier diminue à mesure que le nombre de variables explicatives augmente. Par conséquent, si l'on ajoute un grand nombre de variables qui contribuent à peu ou pas de pouvoir explicatif, cela conduit automatiquement à une augmentation du taux d'erreur de la forêt. Et inversement, le choix des seules variables les plus importantes à inclure entraînera très probablement une baisse du taux d'erreur.

Les forêts aléatoires sont assez robustes pour cela et cela nécessite généralement un très grand ajout de ces paramètres de «bruit» pour réduire significativement les performances.

mkt - Réintégrer Monica
la source