Boosting
# Boosting

Le boosting est un domaine de l'apprentissage automatique (branche de l'intelligence artificielle). C'est un principe qui regroupe de nombreux algorithmes qui s'appuient sur des ensembles de classifieurs binaires : le boosting optimise leurs performances.

Le principe est issu de la combinaison de classifieurs (appelés également hypothèses). Par itérations successives, la connaissance d'un classifieur faible - weak classifier - est ajoutée au classifieur final - strong classifier.

On appelle apprenant faible un algorithme qui fournit des classifieurs faibles, capables de reconnaître deux classes au moins aussi bien que le hasard ne le ferait (c’est-à-dire qu'il ne se trompe pas plus d'une fois sur deux en moyenne, si la distribution des classes est équilibrée). Le classifieur fourni est pondéré par la qualité de sa classification : mieux il classe, plus il sera important. Les exemples mal classés sont boostés pour qu'ils aient davantage d'importance vis-à-vis de l'apprenant faible au prochain tour, afin qu'il pallie le manque.

Un des algorithmes les plus utilisés en boosting s'appelle AdaBoost, abréviation de adaptative boosting.

Le boosting s'appuie sur la théorie de l'apprentissage PAC.

## Principales méthodes liées au boosting

* Bootstraping
* Bagging
* Boosting
* AdaBoost
* DiscreteAB
* RealAB
* GentleAB
* WeightBoost
* BrownBoost
* LogitBoost
* AsymBoost
* KLBoost
* FloatBoost
* GloBoost
* RankBoost

La méthode Adaboost peut être vue comme un cas particulier de la méthode des poids multiplicatifs.

## Autres méthodes apparentées

* ADDEMUP
* arcing: adaptive recombination of classifiers
* bagging: bootstrap aggregation
* bag-stacking: bagging plus stacking
* cascading
* combination of classifiers
* committees of networks
* consensus theory
* cragging: cross aggregation (like k-fold cross validation)
* dagging: disjoint-sample aggregation
* dag-stacking: dagging plus stacking
* divide and conquer classifiers
* hagging: half-sample aggregation
* mixture of experts
* multiple classifier systems:
* multi-stage and multi-level classifiers
* OLC: optimal linear combination
* pandemonium of reflective agents
* sieving algorithms
* stacking: feeding outputs of several models (and possibly the the original inputs) into a second-level model
* voting

## Liens

* Fabien Torre, notes de cours en apprentissage automatique, université de Lille
* Exemple d'application: Méthode de Viola et Jones
