Classification incrémentale supervisée : un panel introductif
Le concept cible n’est pas toujours constant dans le temps, parfois il se modifie ou dérive,
on parle alors de dérive de concept (Michalski et al., 1986). Gama dans (Gama, 2010) divise
cette dérive en deux sous catégories : soit elle est douce on parle alors de dérive de concept
("concept drift"), soit elle est abrupte et on parle alors de saut de concept ("concept shift"). Ces
deux types de dérives correspondent à un changement de la probabilité P(Y|X)au cours du
temps. Les algorithmes de la littérature peuvent être classés selon qu’ils supportent ou non le
changement de concept.
La distribution des données peut varier au cours du temps (P(X)) sans modification des
P(Y|X), on parle alors de covariate shift (Joaquin Quinonero-Candela et al., 2009). Le “co-
variate shift” apparaît aussi dans le cas où l’on effectue une sélection d’exemples non i.i.d.
comme par exemple une sélection de données d’apprentissage artificiellement équilibrée (mais
non équilibré dans le jeu de test) ou encore dans le cadre de l’apprentissage actif (Bondu et
Lemaire, 2008). Il existe un débat sur cette notion de covariate shift, on peut en effet supposer
que la distribution sous-jacente des exemples (DX) ne change pas mais que ce sont que les
exemples que l’on observe effectivement qui changent.
Dans la suite de cet article et en particulier dans la section 6 on s’intéressera principalement
à la dérive de P(Y|X). On supposera, étant donné un contexte, qu’il n’y a pas de covariate
shift. Le lecteur intéressé trouvera dans (Joaquin Quinonero-Candela et al., 2009) et (Cornué-
jols, 2009) des éléments sur le sujet du covariate shift.
Gama dans (Gama, 2010) traite par ailleurs de la notion de contexte. Un contexte est défini
par un ensemble d’exemples pour lesquels il n’y a pas de dérive de concept. Un flux de données
peut donc être vu comme une séquence de contexte. Etre capable de traiter ce flux consiste
alors à être capable de détecter les dérives de concepts et/ou d’être capable de travailler avec
plusieurs contextes en simultané (voir Section 6).
2.1.4 Questions à se poser
Les différents paragraphes ci-dessus montrent qu’il est nécessaire, lors de la mise en place
d’un système basé sur un classifieur supervisé, de se poser certaines questions :
– Les exemples peuvent-ils être stockés en mémoire ?
– Quelle est la disponibilité des exemples : tous présents ? en flux ? visibles une seule fois ?
– Le concept est-il stationnaire ?
– L’algorithme doit-il être anytime ?
– Quel est le temps disponible pour mettre à jour le modèle ?
Les réponses à ces questions doivent permettre de sélectionner les algorithmes adaptés à la
situation et de savoir si on a besoin d’un algorithme incrémental, voire d’un algorithme spéci-
fique aux flux.
2.2 Les familles d’algorithmes d’apprentissage
La partie précédente a présenté les différentes contraintes par rapport aux exemples qui
peuvent parfois arriver en continu, en quantité et vitesse importantes. Selon ces différents cas
de figures il existe différents types d’algorithmes d’apprentissage qui peuvent être utilisés.
2.2.1 Apprentissage hors ligne
L’apprentissage hors ligne correspond à l’apprentissage d’un modèle sur un jeu de données
représentatif du problème et disponible au moment de l’apprentissage. Ce type d’apprentis-