# Bootstrap aggregating

En intelligence artificielle, plus précisément en apprentissage automatique, le bootstrap aggregating, également appelé bagging (de bootstrap aggregating), est une méthode d'apprentissage introduite par Breiman en 1994. L'idée est d'entraîner plusieurs modèles puis de produire un modèle final qui combine leurs sorties. Le bagging est un cas particulier de l'approche d'apprentissage ensembliste.
Le bagging est généralement appliqué avec un algorithme d'apprentissage d'arbres de décision : cela donne l'algorithme des forêts aléatoires. Mais il peut en fait être utilisé avec n'importe quel algorithme d'apprentissage pour produire les modèles intermédiaires : on dit que c'est un méta-algorithme.
Le bagging peut améliorer la stabilité et la précision des prédictions par rapport à un modèle obtenu à partir d'un algorithme d'apprentissage. Il aide à réduire la variance et éviter le surapprentissage.

## Description de la méthode

Considérons un ensemble d'entraînement standard $D$ de taille $n$. La méthode est composée de trois étapes.
* Le bagging commence par générer $m$ nouveaux ensembles d'entraînement $D_{i}$, chacun de taille $n'\,$, par échantillonnage uniforme et avec remise à partir de $D$. En échantillonnant avec remplacement, certaines observations peuvent être répétées dans chaque $D_{i}$ . Si $n'\,=n$, alors pour $n$ grand, l'ensemble $D_{i}$ tend à avoir la fraction $1-1/e$ (≈63,2%) d'exemples uniques de $D$, le reste étant des doublons. Ce type d'échantillon est appelé échantillon de bootstrap.
* Ensuite, $m$ modèles sont entraînés pour chacun des $m$ ensembles d'échantillons de bootstrap.
* Pour finir, la prédiction du méta-modèle est obtenue en calculant la moyenne des sorties (pour de la régression) ou par vote majoritaire (pour de la classification) des $m$ modèles.

## Résultats et applications

Le bagging conduit à des «améliorations pour les procédures instables» (Breiman, 1996), qui incluent, par exemple, les réseaux de neurones artificiels, les arbres de décision et la sélection de sous-ensembles en régression linéaire (Breiman, 1994). Le bagging peut-être appliqué à la réduction de bruit au cours du pre-processing de données, avec une amélioration de l'apprentissage$^,$.
D'un autre côté, le bagging peut légèrement dégrader les performances de méthodes stables telles que les K-plus proches voisins (Breiman, 1996).

## Exemple : données sur l'ozone

L'exemple suivant illustre les principes de base du principe de bagging, sur une analyse de la relation entre l'ozone et la température (données de Rousseeuw et Leroy (1986), analyse effectuée en R).
La relation entre la température et l'ozone dans cet ensemble de données est apparemment non linéaire. Pour décrire mathématiquement cette relation, des lisseurs LOESS (avec une bande passante de 0,5) sont utilisés. Au lieu de créer un seul lissage à partir de l'ensemble de données complet, 100 échantillons bootstrap des données ont été tirés. Chaque échantillon est différent de l'ensemble de données d'origine, mais lui ressemble en termes de distribution et de variabilité. Un lisseur LOESS est ajusté pour chaque échantillon de bootstrap. Des prédictions à partir de ces 100 lisseurs ont ensuite été faites sur l'ensemble des données. Les 10 premiers ajustements lisses prévus apparaissent sous forme de lignes grises dans la figure ci-dessous. On remarque que les lignes grises sont saccadées et surapprennent les données.
En prenant la moyenne de 100 lissages, chacun ajusté à un sous-ensemble de l'ensemble de données d'origine, on obtient un meta-estimateur (ligne rouge). Cet estimateur est plus stable et il y a moins de surapprentissage.

## Histoire

Le bagging (bootstrap aggregating) a été proposé par Leo Breiman en 1994 pour améliorer la classification en combinant des classifications d'ensembles d'entraînement générés aléatoirement.