Une introduction à l’ensachage dans l’apprentissage automatique
Lorsque la relation entre un ensemble de variables prédictives et une variable de réponse est linéaire, nous pouvons utiliser des méthodes telles que la régression linéaire multiple pour modéliser la relation entre les variables.
Cependant, lorsque la relation est plus complexe, nous devons souvent recourir à des méthodes non linéaires.
L’une de ces méthodes est celle des arbres de classification et de régression (souvent abrégés CART), qui utilisent un ensemble de variables prédictives pour créer des arbres de décision qui prédisent la valeur d’une variable de réponse.
Cependant, l’inconvénient des modèles CART est qu’ils ont tendance à souffrir d’ une variance élevée . Autrement dit, si nous divisons un ensemble de données en deux moitiés et appliquons un arbre de décision aux deux moitiés, les résultats pourraient être très différents.
Une méthode que nous pouvons utiliser pour réduire la variance des modèles CART est connue sous le nom d’ensachage , parfois appelée agrégation bootstrap .
Qu’est-ce que l’ensachage ?
Lorsque nous créons un seul arbre de décision, nous n’utilisons qu’un seul ensemble de données de formation pour construire le modèle.
Cependant, l’ensachage utilise la méthode suivante :
1. Prenez b échantillons bootstrapés à partir de l’ensemble de données d’origine.
- Rappelons qu’un échantillon bootstrapé est un échantillon de l’ensemble de données d’origine dans lequel les observations sont prises avec remplacement.
2. Créez un arbre de décision pour chaque échantillon bootstrap.
3. Faites la moyenne des prédictions de chaque arbre pour obtenir un modèle final.
- Pour les arbres de régression, on prend la moyenne de la prédiction faite par les arbres B.
- Pour les arbres de classification, nous prenons la prédiction la plus courante faite par les arbres B.
Le bagging peut être utilisé avec n’importe quel algorithme d’apprentissage automatique, mais il est particulièrement utile pour les arbres de décision, car ils ont intrinsèquement une variance élevée et le bagging est capable de réduire considérablement la variance, ce qui entraîne une réduction des erreurs de test.
Pour appliquer l’ensachage aux arbres de décision, nous cultivons B des arbres individuels en profondeur sans les tailler. Il en résulte des arbres individuels présentant une variance élevée, mais un faible biais. Ensuite, lorsque nous prenons les prévisions moyennes de ces arbres, nous sommes en mesure de réduire la variance.
En pratique, les performances optimales sont généralement obtenues avec 50 à 500 arbres, mais il est possible d’ajuster des milliers d’arbres pour produire un modèle final.
Gardez simplement à l’esprit que l’ajustement d’un plus grand nombre d’arbres nécessitera plus de puissance de calcul, ce qui peut ou non poser un problème en fonction de la taille de l’ensemble de données.
Estimation des erreurs hors sac
Il s’avère que nous pouvons calculer l’erreur de test d’un modèle ensaché sans compter sur une validation croisée k fois .
La raison en est qu’il peut être démontré que chaque échantillon bootstrap contient environ les 2/3 des observations de l’ensemble de données d’origine. Le tiers restant des observations non utilisées pour ajuster l’arbre ensaché est appelé observations hors sac (OOB) .
Nous pouvons prédire la valeur de la ième observation dans l’ensemble de données d’origine en prenant la prédiction moyenne de chacun des arbres dans lesquels cette observation était OOB.
Nous pouvons utiliser cette approche pour faire une prédiction pour toutes les n observations de l’ensemble de données d’origine et ainsi calculer un taux d’erreur, qui est une estimation valide de l’erreur de test.
L’avantage d’utiliser cette approche pour estimer l’erreur de test est qu’elle est beaucoup plus rapide que la validation croisée k fois, en particulier lorsque l’ensemble de données est volumineux.
Comprendre l’importance des prédicteurs
Rappelez-vous que l’un des avantages des arbres de décision est qu’ils sont faciles à interpréter et à visualiser.
Lorsque nous utilisons à la place l’ensachage, nous ne sommes plus en mesure d’interpréter ou de visualiser un arbre individuel puisque le modèle final ensaché est le résultat de la moyenne de nombreux arbres différents. Nous gagnons en précision de prédiction au détriment de l’interprétabilité.
Cependant, nous pouvons toujours comprendre l’importance de chaque variable prédictive en calculant la réduction totale du RSS (somme résiduelle des carrés) due à la répartition sur un prédicteur donné, en moyenne sur tous les arbres B. Plus la valeur est grande, plus le prédicteur est important.
De même, pour les modèles de classification, nous pouvons calculer la réduction totale de l’indice de Gini due à la répartition sur un prédicteur donné, en moyenne sur tous les arbres B. Plus la valeur est grande, plus le prédicteur est important.
Ainsi, même si nous ne pouvons pas interpréter exactement un modèle global final, nous pouvons toujours avoir une idée de l’importance de chaque variable prédictive lors de la prédiction de la réponse.
Aller au-delà de l’ensachage
L’avantage du bagging est qu’il offre généralement une amélioration du taux d’erreur de test par rapport à un arbre de décision unique.
L’inconvénient est que les prédictions issues de la collecte d’arbres ensachés peuvent être fortement corrélées s’il existe un prédicteur très puissant dans l’ensemble de données.
Dans ce cas, la plupart ou la totalité des arbres mis en sac utiliseront ce prédicteur pour la première division, ce qui donnera des arbres similaires les uns aux autres et ayant des prédictions hautement corrélées.
Une façon de contourner ce problème consiste à utiliser des forêts aléatoires, qui utilisent une méthode similaire à celle du bagging mais sont capables de produire des arbres décorrélés, ce qui conduit souvent à des taux d’erreur de test plus faibles.
Vous pouvez lire une introduction simple aux forêts aléatoires ici .
Ressources additionnelles
Une introduction aux arbres de classification et de régression
Comment effectuer l’ensachage dans R (étape par étape)