Dans Random Forest, pourquoi un sous-ensemble aléatoire d'entités est-il choisi au niveau du nœud plutôt qu'au niveau de l'arbre?

13

Ma question: Pourquoi la forêt aléatoire considère-t-elle des sous-ensembles aléatoires de fonctionnalités pour la division au niveau du nœud dans chaque arbre plutôt qu'au niveau de l'arbre ?

Contexte: Il s'agit d'une question d'histoire. Tin Kam Ho a publié ce document sur la construction de « forêts de décision » en choisissant au hasard un sous - ensemble de fonctionnalités à utiliser pour la croissance de chaque arbre en 1998. Quelques années plus tard, en 2001, Leo Breiman a publié son séminal Random Forest papier , le sous - ensemble de fonctionnalités est aléatoire sélectionnés à chaque nœud dans chaque arbre, pas à chaque arbre. Alors que Breiman a cité Ho, il n'a pas expliqué spécifiquement le passage de la sélection des caractéristiques aléatoires au niveau de l'arbre au niveau du nœud.

Je me demande ce qui a spécifiquement motivé ce développement. Il semble que la sélection du sous-ensemble d'entités au niveau de l'arbre permettrait toujours la décorrélation souhaitée des arbres.

Ma théorie: je n'ai pas vu cela articulé ailleurs, mais il semble que la méthode du sous-espace aléatoire serait moins efficace pour obtenir des estimations de l'importance des caractéristiques. Pour obtenir des estimations d'importance variable, pour chaque arbre, les caractéristiques sont permutées au hasard une par une, et l'augmentation de la classification erronée ou de l'augmentation de l'erreur pour les observations hors du sac est enregistrée. Les variables pour lesquelles la classification erronée ou l'augmentation d'erreur résultant de cette permutation aléatoire est élevée sont celles qui ont la plus grande importance.

Si nous utilisons la méthode du sous-espace aléatoire, pour chaque arbre, nous ne considérons que des caractéristiques. Il peut falloir plusieurs arbres pour considérer tous les prédicteurs une seule fois. D'un autre côté, si nous considérons un sous-ensemble différent des entités à chaque nœud , nous considérerons chaque entité plus de fois après moins d'arbres, ce qui nous donnera une estimation plus robuste de l'importance de l'entité.p p m i pmppmip

Ce que j'ai regardé jusqu'à présent: Jusqu'à présent, j'ai lu les articles de Breiman et Ho, et j'ai effectué une large recherche en ligne pour comparer les méthodes sans trouver de réponse définitive. Notez qu'une question similaire a été posée auparavant. Cette question va un peu plus loin en incluant mes spéculations / travaux vers une solution possible. Je serais intéressé par toutes les réponses, citations pertinentes ou études de simulation comparant les deux approches. Si aucun n'est à venir, je prévois d'exécuter ma propre simulation en comparant les deux méthodes.

djlid
la source
2
Je ne citerai aucune référence, appelons donc cela un commentaire. Si vous essayez de comprendre quelles variables sont utiles, il se peut qu'une variable spécifique soit critique, mais uniquement sur une petite partie des données. Vous pouvez le découvrir en ensachant les variables au niveau du nœud. Vous ne découvririez jamais cela avec l'ensachage au niveau de l'arbre.
meh
2
Je suis sûr que Breiman a un commentaire à ce sujet dans son article fondateur (à mon humble avis), «Statistiques - Les deux cultures». Son argument est que parfois l'importance d'une variable est masquée par une autre variable. L'ensachage au niveau du nœud permettra de voir quoi et quand pour une variable.
meh
1
Merci pour les commentaires. Pour en revenir à mon idée de l'efficacité: supposons qu'une paire de variables soit liée et, comme vous l'avez dit, l'importance de l'une "masquait" l'importance de l'autre. Si nous construisions un prédicteur RF avec suffisamment d'arbres et utilisions le sous-ensemble de fonctionnalités au niveau de l'arborescence, n'aurions-nous pas finalement assez d'arbres avec la fonctionnalité "masquée" et sans la fonction "masquage" pour comprendre l'importance de la première sans l'impact de le dernier? Je pense que nous parlons à peu près de la même idée au moins. Merci!
djlid
4
Vous pourriez, mais considérez combien d'arbres vous devrez construire! Ce n'est pas clair non plus. La variable A peut provoquer des divisions telles que dans aucune d'entre elles la variable B ne brille. Il est clairement intrinsèquement plus robuste à échantillonner au niveau du nœud. Pour moi, cela concerne fondamentalement ce que devrait être l'amorçage.
meh

Réponses:

1

Supposons que nous ayons 10 entités f1, f2, ..., f9, f10, puis lorsque nous prenons un sous-ensemble pour supposer f1, f3, f4, f8 d'entités au niveau de l'arbre lui-même, puis nous construisons l'arbre entier en prenant ces 4 entités en considération.

Nous calculons l'entropie, comparons uniquement ces 4 entités à chaque nœud et prenons cette entité qui donne l'entropie maximale. Ce n'est pas très utile car nous limitons notre apprentissage de l'arborescence à ces 4 fonctionnalités uniquement. Contrairement à cela, lorsque nous prenons un sous-ensemble de fonctionnalités disons f1, f8, f9 au premier nœud, nous calculons l'entropie et les comparons entre ces 3 fonctionnalités et choisissons celle qui donne la valeur maximale. Au lieu de développer davantage l'arborescence avec les mêmes fonctionnalités, nous avons choisi un autre sous-ensemble de fonctionnalités disons f4, f7, f2 et effectuons la répartition en fonction de ces fonctionnalités. Supposons que f8 a été sélectionné au premier nœud et f2 a été sélectionné au deuxième nœud. Le modèle est capable d'apprendre la relation entre ces deux qui ne serait pas

De cette façon, le modèle peut apprendre la relation entre les différentes fonctionnalités de manière plus diversifiée. Cette approche aura un certain nombre de fonctionnalités explorées dans une seule arborescence et donc les relations entre elles sont préservées. J'espère que vous l'avez maintenant :)

Shashank Kumar Mishra
la source