Motivation derrière les étapes de l'algorithme de forêt aléatoire


11

La méthode que je connais pour construire une forêt aléatoire est la suivante: (à partir de http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm )

Pour construire un arbre dans la forêt, nous:

  1. Bootstrap un échantillon de taille N où N est la taille de notre ensemble d'entraînement. Utilisez cet exemple amorcé comme ensemble de formation pour cet arbre.
  2. À chaque nœud de l'arbre, sélectionnez au hasard m de nos M entités. Sélectionnez le meilleur de ces m fonctionnalités pour partager. (où m est un paramètre de notre forêt aléatoire)
  3. Faites pousser chaque arbre dans toute la mesure du possible, c'est-à-dire sans élagage.

Bien que cet algorithme soit logique au niveau procédural et produise certainement de bons résultats, je ne sais pas quelle est la motivation théorique derrière les étapes 1, 2 et 3. Quelqu'un pourrait-il expliquer ce qui a motivé quelqu'un à proposer cette procédure et pourquoi fonctionne si bien?

Par exemple: pourquoi devons-nous effectuer l'étape 1? Il ne semble pas que nous démarrions pour son objectif habituel de réduction de variance.

Réponses:


9

Les méthodes d'ensemble (telles que les forêts aléatoires) nécessitent un élément de variation dans les ensembles de données sur lesquels les classificateurs de base individuels sont développés (sinon les forêts aléatoires se retrouveraient avec une forêt d'arbres trop similaires). Comme les arbres de décision sont très sensibles aux observations dans l'ensemble d'apprentissage, la variation des observations (à l'aide du bootstrap) était, je suppose, une approche naturelle pour obtenir la diversité requise. L'alternative évidente consiste à varier les fonctionnalités utilisées, par exemple former chaque arbre sur un sous-ensemble des fonctionnalités originales. L'utilisation des échantillons bootstrap nous permet également d'estimer le taux d'erreur hors du sac (OOB) et l'importance variable.

2 est essentiellement une autre façon d'injecter le hasard dans la forêt. Cela a également un impact sur la réduction de la corrélation entre les arbres (en utilisant une faible valeur minimale), le compromis étant (potentiellement) aggravant le pouvoir prédictif. L'utilisation d'une valeur trop élevée de gibier rendra les arbres de plus en plus similaires les uns aux autres (et à l'extrême vous vous retrouverez avec l'ensachage)

Je crois que la raison de ne pas tailler est plus due au fait que ce n'est pas nécessaire qu'autre chose. Avec un seul arbre de décision, vous le taillez normalement car il est très sensible au sur-ajustement. Cependant, en utilisant les échantillons bootstrap et en cultivant de nombreux arbres, les forêts aléatoires peuvent produire des arbres qui sont forts individuellement, mais pas particulièrement corrélés les uns aux autres. Fondamentalement, les arbres individuels sont surajustés mais à condition que leurs erreurs ne soient pas corrélées, la forêt doit être raisonnablement précise.

La raison pour laquelle cela fonctionne bien est similaire au théorème du jury de Condorcet (et à la logique derrière des méthodes telles que le boost). Fondamentalement, vous avez beaucoup d'apprenants faibles qui n'ont besoin que de performances légèrement meilleures que les suppositions aléatoires. Si cela est vrai, vous pouvez continuer à ajouter des apprenants faibles et, à la limite, vous obtiendrez des prédictions parfaites de votre ensemble. Il est clair que cela est limité en raison des erreurs de corrélation entre les apprenants, ce qui empêche l'amélioration des performances de l'ensemble.


Belle réponse, et l'association avec le théorème du jury de Condorcet est logique. Formellement cependant, la raison pour laquelle cela fonctionne bien est à cause de l'inégalité de Jensen!
JEquihua
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.