Forêts aléatoires et sélection d’architectures

Effectué

L’expérimentation avec des architectures est souvent l’un des principaux objectifs de la création de modèles modernes efficaces. Nous l’avons fait à un niveau de base avec des arbres de décision, mais la seule limite est notre imagination, et peut-être la mémoire de l’ordinateur. En fait, une réflexion plus étendue sur les arbres de décision a entraîné une architecture de modèle très populaire qui réduit la tendance des arbres de décision à surajuster les données.

Qu’est-ce qu’une forêt aléatoire ?

Une forêt aléatoire est un regroupement d’arbres de décision qui sont utilisés ensemble pour estimer l’étiquette à attribuer à un échantillon. Par exemple, si nous devions entraîner une forêt aléatoire pour prédire des vainqueurs de médailles, nous pourrions entraîner 100 arbres de décision différents. Pour effectuer une prédiction, nous utiliserions tous les arbres indépendamment. Ils « voteraient » pour déterminer si l’athlète remporterait une médaille, en apportant une décision finale.

Comment une forêt aléatoire est-elle entraînée ?

Les forêts aléatoires reposent sur l’idée que lorsqu’un arbre de décision unique a un biais élevé, ou est surajusté, si nous entraînons plusieurs arbres de décision, ceux-ci auront des biais différents. Pour y parvenir, chaque arbre doit être entraîné indépendamment, et chacun sur un ensemble d’entraînement légèrement différent.

Pour entraîner un arbre de décision unique, un certain nombre d’échantillons (les athlètes dans notre scénario) sont extraits de l’ensemble d’entraînement complet. Chaque échantillon peut être sélectionné plusieurs fois, et cette sélection est aléatoire. L’arbre est ensuite entraîné de manière standard. Ce processus est répété pour chaque arbre. Chaque arbre étant une combinaison différente d’échantillons d’apprentissage, l’entraînement et le biais de chaque arbre finissent par être différents d’un arbre à l’autre.

Avantages de la forêt aléatoire

Les performances des forêts aléatoires sont souvent impressionnantes et souvent comparées à juste titre à celles des réseaux neuronaux, un autre type de modèle populaire et très performant. Contrairement aux réseaux neuronaux, les modèles de forêts aléatoires sont faciles à entraîner : les infrastructures modernes fournissent des méthodes utiles qui vous permettent de le faire en seulement quelques lignes de code. L’apprentissage des forêts aléatoires se fait également rapidement ; elles n’ont pas besoin d’ensembles de données volumineux pour fonctionner correctement. Cela les distingue des réseaux neuronaux, dont l’entraînement prend souvent plusieurs minutes ou plusieurs jours, qui requièrent une expérience importante et nécessitent souvent des ensembles de données très volumineux. Les décisions architecturales pour les forêts aléatoires sont, bien que plus complexes que les modèles tels que la régression linéaire, bien plus simples que pour les réseaux neuronaux.

Inconvénients de la forêt aléatoire

Le principal inconvénient des forêts aléatoires est qu’elles sont difficiles à comprendre. Plus précisément, bien que ces modèles soient entièrement transparents (chaque arbre peut être inspecté et compris), ils contiennent souvent un si grand nombre d’arbres que c’est pratiquement impossible.

Comment puis-je personnaliser ces architectures ?

Comme plusieurs modèles, les forêts aléatoires disposent de plusieurs options architecturales. La plus facile à prendre en compte est la taille de la forêt, soit le nombre d’arbres impliqués, ainsi que la taille de ces arbres. Par exemple, il serait possible de demander à une forêt de 100 arbres, chacun avec une profondeur maximale de six nœuds, de prédire des vainqueurs de médailles. Cela signifie que la décision finale quant à la possibilité pour un athlète de remporter une médaille ne doit pas dépasser six instructions « if ».

Comme nous l’avons déjà appris, augmenter la taille d’un arbre (en termes de profondeur ou de nombre de feuilles) le rend plus susceptible de surajuster les données sur lesquelles il est entraîné. Cette limitation vaut également pour les forêts aléatoires. Toutefois, avec des forêts aléatoires, nous pouvons remédier à cela en accroissant le nombre d’arbres, en supposant que chaque arbre ait un biais différent. Nous pouvons également limiter chaque arbre à un certain nombre de caractéristiques, ou interdire la création de feuilles lorsque cela ne ferait qu’une différence marginale en termes de performances d’entraînement. Une forêt aléatoire ne peut pas faire des prédictions correctes à l’infini. À un moment donné, l’augmentation de la taille et du nombre d’arbres n’apporte aucune amélioration supplémentaire en raison de la quantité limitée de données d’entraînement dont nous disposons.