Appeler SMS WhatsApp Email

Définition Forests (Random Decision Forests)

Forests (Random Decision Forests)

Le terme Forests (Random Decision Forests), plus communément appelé Forêts Aléatoires ou Random Forests en anglais, désigne un algorithme d’apprentissage automatique supervisé très populaire et puissant, appartenant à la catégorie des méthodes d’ensemble. Il est utilisé pour résoudre des problèmes de classification (prédire une catégorie) et de régression (prédire une valeur numérique continue). Fondamentalement, une forêt aléatoire construit une multitude d’arbres de décision individuels lors de la phase d’entraînement et produit la classe qui est le mode des classes (classification) ou la prédiction moyenne (régression) des arbres individuels pour faire une prédiction finale.

Les concepts fondamentaux derrière les forêts aléatoires reposent sur deux idées principales : l’apprentissage d’ensemble via le Bagging et l’introduction d’une randomisation supplémentaire lors de la construction des arbres. Le Bagging, acronyme de Bootstrap Aggregating, consiste à créer de multiples sous-ensembles de données d’entraînement par tirage aléatoire avec remise (bootstrap). Un arbre de décision est ensuite entraîné indépendamment sur chacun de ces sous-ensembles. La deuxième source d’aléa intervient lors de la construction de chaque arbre : à chaque nœud de l’arbre, au lieu de chercher la meilleure division parmi toutes les caractéristiques (variables), l’algorithme sélectionne aléatoirement un sous-ensemble de caractéristiques et ne cherche la meilleure division que parmi celles-ci. Cette double randomisation (sur les données et sur les caractéristiques) est essentielle pour décorréler les arbres de la forêt.

Le principe essentiel est que, bien que chaque arbre de décision individuel puisse être sujet au surapprentissage (overfitting) et sensible aux variations des données d’entraînement, la combinaison d’un grand nombre d’arbres décorrélés réduit considérablement la variance globale du modèle sans augmenter excessivement le biais. Pour une tâche de classification, la prédiction finale est déterminée par un vote majoritaire parmi tous les arbres de la forêt. Pour une tâche de régression, la prédiction finale est la moyenne des prédictions de tous les arbres. Cette agrégation permet d’obtenir un modèle plus robuste et plus généralisable que ne le serait un unique arbre de décision.

L’importance des forêts aléatoires dans le domaine de l’apprentissage automatique est considérable. Elles sont reconnues pour leur grande précision sur de nombreux types de problèmes, leur robustesse face au bruit et aux données manquantes, et leur capacité à gérer des jeux de données de grande dimension (avec de nombreuses caractéristiques) sans nécessiter une sélection préalable extensive des variables. Leur relative simplicité de mise en œuvre et leur résistance au surapprentissage, comparées à un arbre de décision unique, en ont fait un outil de référence pour de nombreux praticiens et chercheurs. Leur impact se mesure par leur adoption généralisée dans l’industrie et la recherche pour obtenir rapidement des modèles performants.

Les applications pratiques des forêts aléatoires sont extrêmement variées. En finance, elles sont utilisées pour la détection de transactions frauduleuses, l’évaluation du risque de crédit ou la prédiction des mouvements boursiers. Dans le domaine médical, elles aident au diagnostic de maladies en analysant les données cliniques, à la prédiction de la réponse des patients aux traitements ou à l’identification de gènes importants dans les études génomiques. En vision par ordinateur, elles servent à la reconnaissance d’objets dans les images, la segmentation sémantique ou la reconnaissance de gestes (par exemple avec les capteurs Kinect). D’autres exemples incluent la prédiction du désabonnement client (churn) en marketing, la modélisation de la distribution des espèces en écologie, ou encore la détection d’intrusions dans les réseaux informatiques.

Il existe plusieurs nuances et variations de l’algorithme de base des forêts aléatoires. Les Extremely Randomized Trees (ou ExtraTrees) poussent la randomisation encore plus loin en choisissant non seulement un sous-ensemble aléatoire de caractéristiques à chaque nœud, mais aussi en sélectionnant les seuils de division de manière aléatoire, plutôt que de chercher le seuil optimal. Cela peut réduire davantage la variance au prix d’une légère augmentation du biais. Une autre variante notable est l’Isolation Forest, spécifiquement conçue pour la détection d’anomalies (outlier detection) en exploitant la tendance des anomalies à être plus facilement isolées dans les partitions aléatoires de l’espace des caractéristiques. Les performances et le comportement d’une forêt aléatoire dépendent également de plusieurs hyperparamètres clés, tels que le nombre d’arbres dans la forêt (n_estimators), la profondeur maximale autorisée pour chaque arbre (max_depth), le nombre de caractéristiques à considérer à chaque division (max_features), et le critère utilisé pour mesurer la qualité d’une division (par exemple, l’indice de Gini ou l’entropie pour la classification, l’erreur quadratique moyenne pour la régression).

Plusieurs concepts sont étroitement liés aux forêts aléatoires. L’élément de base est l’arbre de décision, un modèle prédictif qui utilise une structure arborescente pour prendre des décisions basées sur les valeurs des caractéristiques. Le Bagging est la technique d’ensemble sous-jacente qui combine plusieurs modèles entraînés sur des échantillons bootstrap. Les forêts aléatoires sont une instance spécifique du Bagging appliquée aux arbres de décision avec une randomisation supplémentaire des caractéristiques. Elles contrastent avec d’autres méthodes d’ensemble comme le Boosting (par exemple, AdaBoost, Gradient Boosting Machines), qui construit les modèles séquentiellement, chaque nouveau modèle tentant de corriger les erreurs des précédents. Le terme « Forêts Aléatoires » est un synonyme direct de « Random Decision Forests ». La validation croisée est souvent utilisée pour évaluer la performance du modèle et régler ses hyperparamètres.

L’origine des forêts aléatoires est principalement attribuée aux travaux de Leo Breiman et Adele Cutler. Bien que l’idée d’utiliser des ensembles d’arbres ait émergé progressivement, avec des contributions antérieures comme la méthode de « random subspace » de Tin Kam Ho (1998) et le Bagging de Breiman lui-même (1996), c’est l’article « Random Forests » de Breiman publié en 2001 qui a formalisé l’algorithme tel qu’il est largement connu et utilisé aujourd’hui, en combinant le Bagging avec la randomisation des caractéristiques à chaque nœud. Depuis lors, l’algorithme a connu une adoption massive et est devenu un incontournable dans la boîte à outils de l’apprentissage automatique.

Les avantages des forêts aléatoires sont nombreux. Elles offrent généralement une excellente précision prédictive « out-of-the-box », souvent sans nécessiter un réglage fin des hyperparamètres. Elles sont très robustes au surapprentissage, surtout en comparaison avec les arbres de décision uniques. Elles gèrent nativement les variables continues et catégorielles. Elles peuvent traiter efficacement des jeux de données avec un grand nombre de variables et d’observations. Certaines implémentations gèrent les valeurs manquantes de manière interne. Un avantage notable est leur capacité intrinsèque à estimer l’importance de chaque caractéristique dans la prédiction, ce qui peut aider à la compréhension du problème et à la sélection de variables. Enfin, l’entraînement des différents arbres étant indépendant, l’algorithme est naturellement parallèleisable, ce qui permet d’accélérer l’entraînement sur des machines multi-cœurs ou des clusters.

Cependant, les forêts aléatoires présentent aussi des inconvénients et des limitations. Le principal inconvénient est leur manque d’interprétabilité directe. Contrairement à un arbre de décision unique dont la logique est facilement visualisable et compréhensible, une forêt composée de centaines ou de milliers d’arbres devient une « boîte noire », rendant difficile l’explication du raisonnement derrière une prédiction spécifique. Bien qu’elles soient moins sujettes au surapprentissage que les arbres uniques, elles peuvent toujours surapprendre sur des jeux de données très bruités si les arbres sont trop profonds ou le nombre d’arbres insuffisant. Elles peuvent être plus gourmandes en ressources (mémoire vive et temps de calcul) que d’autres algorithmes, notamment pour la prédiction qui nécessite l’évaluation de chaque arbre. De plus, elles peuvent avoir tendance à favoriser les caractéristiques ayant un grand nombre de niveaux ou de modalités lorsqu’elles sont utilisées avec des données catégorielles. Enfin, sur certains problèmes où la structure sous-jacente est très forte et peut être capturée par des modèles plus lisses, des méthodes comme les machines à support de vecteur (SVM) ou le Gradient Boosting peuvent parfois offrir de meilleures performances.