Random forest (ou forêt aléatoire) : définition et cas d'usage
Le random forest ou forêt aléatoire est un algorithme de machine learning conçu pour obtenir une prédiction fiable grâce à un système de sous-espaces aléatoires.
Le random forest, c'est quoi ?
Utilisé en machine learning, le random forest ou forêt aléatoire est un algorithme de prédiction crée en 1995 par Ho, puis formellement proposé par les scientifiques Adele Cutler et Leo Breiman en 2001. Comme on va le voir, il combine les notions de sous-espaces aléatoires et de bagging.
Le random forest est composé de plusieurs arbres de décision, entrainés de manière indépendante sur des sous-ensembles du data set d'apprentissage (méthode de bagging). Chacun produit une estimation, et c'est la combinaison des résultats qui va donner la prédiction finale qui se traduit par une variance réduite. En somme, il s'agit de s'inspirer de différents avis, traitant un même problème, pour mieux l'appréhender. Chaque modèle est distribué de façon aléatoire en sous-ensembles d'arbres décisionnels.
Comment fonctionne un random forest de régression ?
Une forêt aléatoire permet d'appliquer une régression. Reposant sur un système de bagging (voir plus haut), le random forest de régression consiste schématiquement à calculer la moyenne des prévisions obtenues par l'ensemble des estimations des arbres décisionnels de la forêt aléatoire.
Comment fonctionne un random forest de classification ?
Dans un random forest de classification, l'estimation finale consiste à choisir la catégorie de réponse la plus fréquente. Plutôt qu'utiliser tous les résultats obtenus, on procède à une sélection en recherchant la prévision qui revient le plus souvent.
Qu'est-ce qu'un grid search ?
Le grid search est une méthode d'optimisation des hyperparamètres d'un modèle de machine learning (ou hyperparameter optimization). Dans le cas du random forest, il s'agit typiquement du nombre d'arbres et du nombre de variables.
Le grid search crée des modèles correspondant à chaque combinaison d'hyperparamètres. Ce qui peut vite faire beaucoup et par conséquent allonger le temps d'entrainement. Il est donc déconseillé d'en abuser.
Random forest vs gradient boosting
Le gradient boosting machine (GBM) fonctionne sur un modèle proche du bagging, mais contrairement à une forêt aléatoire classique, il ajuste la base d'apprentissage au fur et à mesure de l'entrainement. Il a recours au gradient de la fonction de perte (ou descente de gradient) pour corriger les erreurs de l'arbre précédent et ainsi optimiser les résultats du modèle. Le gradient boosting est notamment utilisé dans la détection d'anomalie, un cas dans lequel les données sont souvent déséquilibrées.