Julie Scholler
février 2020
M Éc E n
I. Introduction
Boosting
Idée
concentrer ses efforts sur les observations les plus difficiles à ajuster
Méthode
• appliquer de façon successive le même algorithme à des versions de l’échantillon initial d’apprentissage qui sont modifiées à chaque étape pour tenir compte des erreurs de classement éventuelles
• combiner les modèles (éventuellement faiblement prédictifs)
Remarque
Risque de surapprentissage à contrôler
Adaboost - Algorithme
1. Initialisation des poids des individus : wi(1) = 1 2. Répéter pour m de 1 à M n
2. ajuster un modèle bfm à valeurs dans {−1 ; 1} sur l’échantillon pondéré
2. calculs de l’erreur et du coefficient du modèle
• taux d’erreur : εm = Pn
i=1wi(m)1{ˆfm(xi)6=yi} Pn
i=1wi(m)
• coefficient du modèle : αm = ln
1−ε
m
εm
2. mise à jour des poids : si εm < 0.5 (sinon on réinitialise), on pose ˜wi(m+1) = wi(m) ×eαm1{ˆfm(xi)6=yi}
puis on obtient wi(m+1) en normalisant pour que la somme des poids fasse 1
3. Agrégation pondérée des modèles :
Fb(x) = sign
M
X
m=1
αmfbm(x)
!
II. Boosting pour la classification
Application
+ +
+
+ +
−
− −
−
−
5
8
1
2 3 6
7
10 4
9
Ét1
x
x x
+
+
−
− −
−
−
5
8
1
2 3 6
7
10 4
9
+ + +
Ét2
x
x x
− −
−
+
+ +
+
+
−
− 5
8
1
2 3 6
7
10 4
9
x
Ét3x
x
+ +
+
+ +
−
− −
−
−
5
8
1
2 3 6
7
10 4
9
+ − + −
− +
0.05 0.10 0.15 0.20
0 250 500 750 1000
Nombre d'arbres greffés
Erreur
type
apprentissage test
Boosting avec 1000 arbres complets
II. Boosting pour la classification
0.05 0.10 0.15 0.20
0 100 200 300
Nombre d'arbres greffés
Erreur
type
apprentissage test
Boosting avec 300 arbres complets
0.00 0.05 0.10 0.15 0.20
0 1000 2000 3000 4000 5000
Nombre d'arbres greffés
Erreur
type
apprentissage test
Boosting avec 5000 stumps
II. Boosting pour la classification
Variantes
Amélioration
Introduction d’un paramètre de pénalisation ou d’apprentissage λ (λ < 1)
˜
αm = λαm
diminue l’intensité du mécanisme d’apprentissage
Méthode Arcing
Remplacer les pondérations des individus par une modification de la constitution des échantillons d’apprentissage
0.05 0.10 0.15 0.20
0 500 1000 1500 2000
Nombre d'arbres greffés
Erreur
type
apprentissage test
Boosting avec des arbres complets et une pénalisation à 0.1
II. Boosting pour la classification
0.05 0.10 0.15 0.20
0 100 200 300 400
Nombre d'arbres greffés
Erreur
type
apprentissage test
Boosting avec des arbres complets et une pénalisation à 0.1
0.10 0.15
0 500 1000 1500 2000
Nombre d'arbres greffés
Erreur
type
apprentissage test
Boosting avec des arbres complets et une pénalisation à 0.01
II. Boosting pour la classification
0.00 0.05 0.10 0.15 0.20
0 2500 5000 7500 10000
Nombre d'arbres greffés
Erreur
type
apprentissage test
Boosting avec des stumps et une pénalisation à 0.1
0.00 0.05 0.10 0.15 0.20
0 2500 5000 7500 10000
Nombre d'arbres greffés
Erreur
type
apprentissage test
Boosting avec des stumps et une pénalisation à 0.1
II. Boosting pour la classification
Remarques
• améliore le biais
• ne diminue par forcément la variance
• risque de surapprentissage
• convergence vers une performance optimale assez lente
• éventuellement
• temps de calculs
• taille du modèle en mémoire
Trois paramètres à optimiser
• M : le nombre d’arbres (sensible à l’overfitting)
• λ : pénalisation (entre 0.1 et 0.001)
• profondeur des arbres (complexité du modèle)
erreur en test arbre élagué 0.171
Bagging 0.171
RF avec q = 4 0.162
RF avec q = 6 0.176
50 100 200 500 1000
arbres complets 0.171 0.179 0.176 0.190 0.193 stumps 0.168 0.148 0.154 0.168 0.162 arbres compl. et pén. à 0.1 0.154 0.162 0.165 0.168 0.176 arbres compl. et pén. à 0.01 0.171 0.174 0.171 0.157 0.165 stumps et pén. à 0.1 0.188 0.188 0.188 0.193 0.174
III. Comparaison des modèles d’agrégation
Comparaison des caractéristiques
Bagging et forêt aléatoire
• mécanisme aléatoire
• à chaque itération, échantillon bootstrap
• à chaque itération,
apprentissage avec tous les prédicteurs/une partie aléatoire
• à chaque itération, le
modèle doit être performant sur toutes les observations
• dans l’agrégation finale, tous les modèles ont le même poids
Boosting - Adaboost
• mécanisme adaptatif
• à chaque itération,
échantillon initial complet
• à chaque itération,
apprentissage avec tous les prédicteurs
• à chaque itération, le
modèle doit être performant sur certaines observations
• dans l’agrégation finale, les modèles sont pondérés par leur qualité
Points forts et points faibles
Bagging /forêt aléatoire
• réduction de la variance /encore plus
• perte de lisibilité
• peu efficace sur les stumps /efficace
• convergence rapide
• peut être parallélisé
• pas de surapprentissage
• moins bon que les autres /supérieur au bagging et au boosting sauf si prédicteurs discriminants rares
Boosting
• diminue le biais, diminue un peu variance sauf si
classifieur très stable
• perte de lisibilité
• très efficace sur les stumps
• convergence lente
• ne peut pas être parallélisé
• risque de surapprentissage
• plus efficace que le bagging sauf sur les données bruitées, similaire aux forêts
aléatoires
IV. Régression
Arbre de régression - Y quantitatif
Critère de désordre
X
i∈N
(yi − yN)2
Règle d’affectation
valeur moyenne des observations de la feuille
IV. Régression
Arbre de régression - MSE ' 1.912
genre = Act,Cmd
year >= 1970
length < 92
length < 104
year < 2004
4.5 n=68
5.6 n=88
5.9 n=69
5.9 n=281
7.3 n=13
6.6 n=147
yes no
Forêt aléatoire en régression
• Même principe
• Nombre de variables choisies par défaut : p 3
• Règle de prédiction : moyenne des prévisions des arbres
IV. Régression
2.5 3.0 3.5 4.0
0 50 100 150 200
Nombre d'arbres
Erreur en test
model
rf1 rf2 rf3 bag
Aggrégations d'arbres de régression
●
●
●
●
●
●
●
●
votes year length genre
0.00 0.25 0.50 0.75 1.00
Méthode
●
●
% Increase MSE Increase Node Purity
Mesure d'importance des variables
IV. Régression
Boosting d’arbre en régression
λ : paramètre de pénalisation
1. Initialisation : on fixe bf (x) = 0 et ri(1) = yi pour tout i 2. Répéter pour m de 1 à M
2. ajuster un modèle bfm sur l’échantillon des données (xi,ri)i 2. mise à jour des résidus : ri(m+1) ←ri(m) −λbfm(xi)
3. Agrégation pondérée des modèles :
Fb(x) =
M
X
m=1
λbfm(x)
1.5 2.0
0 50 100 150 200
Nombre d'arbres greffés
MSE
type
apprentissage test
Boosting avec de sarbres de profondeur 3 et une pénalisation de 0.1
IV. Régression
MSE en test
arbre complet 2.470
arbre élagué 2.215
Bagging d’arbres complets 0.271 RF d’arbres profonds avec
q = 1
2.106
RF d’arbres profonds avec q = 2
2.208
RF d’arbres profonds avec q = 3
2.245
Boosting avec n = 150 des arbres de profondeur 3 et de pénalisation 0.05
2.102
Protocole d’étude
• Préparation des données
• récolter et agréger les données
• étude descriptive uni et/ou multidimensionnelle (incohérences, variables non significatives)
• transformation de données
• Mise de côté d’un échantillon de test tiré aléatoirement
• Apprentissage de modèles sur la partie restante de l’échantillon
• Comparaison finale des qualités de prévision sur la base du seul échantillon de test
V. Protocole d’étude
Préparation des données
• phase longue
• laborieuse
• mais très importante
Choix de la méthode
• précision, lisibilité, concision
• quantité de données
• type de données
• données manquantes
Différentes méthodes d’imputation
1. Imputation par la moyenne (ou mode) au sein de sous-groupes homogènes déterminés, par exemple, par classification non supervisée
2. Utilisation des méthodes d’analyse factorielle
package missMDA et les fonctions imputePCA et imputeMCA 3. Prédiction : construire un modèle à partir des individus
complètement renseignés et l’utiliser pour prédire les données correspondant aux données manquantes
• régression linéaire : package VIM et fonction regressionImp, package mice et une des fonctions mice.impute.norm...
• algorithme des k plus proche voisins package VIM et fonction kNN
• CART ou random forest
• package et fonction missForest
• package mice, la fonction mice et l’argument method="cart"
ou method="rf"