Classification incrémentale supervisée : un panel introductif
Christophe Salperwyck,∗∗, Vincent Lemaire
Orange Labs
2, Avenue Pierre Marzin 22300 Lannion
∗∗ LIFL (UMR CNRS 8022) - Université de Lille 3
Domaine Universitaire du Pont de Bois
59653 Villeneuve d’Ascq Cedex
Résumé. Les dix dernières années ont été témoin du grand progrès réalisé dans
le domaine de l’apprentissage statistique et de la fouille de données. Il est pos-
sible à présent de trouver des algorithmes d’apprentissage efficaces et automa-
tiques. Historiquement les méthodes d’apprentissage faisaient l’hypothèse que
toutes les données étaient disponibles et pouvaient être chargées en mémoire
pour réaliser l’apprentissage. Mais de nouveaux domaines d’application de la
fouille de données émergent telles que : la gestion de réseaux de télécommunica-
tions, la modélisation des utilisateurs au sein d’un réseau social, le web mining...
La volumétrie des données explose et il est nécessaire d’utiliser des algorithmes
d’apprentissage incrémentaux. Cet article a pour but de présenter les principales
approches de classification supervisée incrémentale recensées dans la littérature.
Il a pour vocation de donner à un lecteur débutant des indications de lecture sur
ce sujet; sujet qui connaît déjà des applications industrielles.
1 Introduction
Les dix dernières années ont été témoin des grands progrès réalisés dans le domaine de
l’apprentissage automatique et de la fouille de données. Ces techniques ont montré leurs ca-
pacités à traiter des volumétries importantes de données et ce sur des problèmes réels (Guyon
et al., 2009; Féraud et al., 2010). Néanmoins le plus important effort a été réalisé pour des
analyses de données homogènes et stationnaires et à l’aide d’algorithmes centralisés. La plu-
part des approches d’apprentissage automatique supposent que les ressources sont illimitées,
par exemple que les données tiennent en mémoire vive. Dans ce contexte les algorithmes clas-
siques d’apprentissage utilisent des bases d’apprentissage de taille finie et produisent des mo-
dèles statiques. Cependant la volumétrie des données continue de croître et ce plus vite que les
capacités de traitement.
De nouveaux domaines d’application de la fouille de données émergent où les données ne
sont plus sous la forme de tableaux de données persistants mais plutôt sous la forme de données
"passagères". Parmi ces domaines on citera : la gestion de réseaux de télécommunications, la
modélisation des utilisateurs au sein d’un réseau social, le web mining... Le défi scientifique
principal est alors d’automatiser l’ensemble des étapes du processus d’apprentissage mais aussi
Classification incrémentale supervisée : un panel introductif
les étapes nécessaires au déploiement du modèle et ce sur des volumétries très larges. L’un des
défis techniques est de concevoir des algorithmes permettant ce passage à l’échelle. Parmi l’en-
semble des axes d’études, qui permettent ce passage à l’échelle, l’apprentissage incrémental
semble répondre naturellement à cette problématique.
Lorsque le terme d’apprentissage incrémental est utilisé en informatique il fait référence
aux algorithmes permettant d’entraîner un modèle de manière incrémentale. Au fur et à mesure
que de nouvelles informations (données) sont présentées à l’algorithme, celui-ci apprend et
ce sans avoir besoin de réapprendre le modèle à partir de zéro ni même à avoir à stocker
l’ensemble des données.
Cet article a pour but de présenter pour différents types de classifieurs supervisés une liste
de lectures introductives qui présente les principales approches de classification supervisée
incrémentale recensées dans la littérature. Il a pour vocation à donner à un lecteur débutant des
bases sur ce sujet ; sujet qui connaît déjà des applications industrielles (Almaksour et al., 2009;
Saunier et al., 2004).
La section (Section 2) qui suit cette introduction a pour but de situer l’apprentissage incré-
mental parmi les différentes familles d’algorithmes d’apprentissage existantes mais aussi de
poser un certain nombre de définitions, et notions utiles pour la compréhension de cet article.
Les notations utilisées dans la suite du document sont également détaillées dans cette section.
La troisième section décrit les principaux algorithmes d’apprentissage incrémentaux clas-
sés par typologie de classifieurs (arbre de décision, SVM...) ; ces derniers n’étant pas tous
naturellement incrémentaux. On se place ici principalement dans le cadre où les données sont
stockées seulement sur disque mais ne peuvent être toutes placées en mémoire de manière à
utiliser un algorithme hors-ligne (voir section 2.1.1).
Lorsque les données ne sont plus stockables sur disque il est alors impératif de travailler
directement sur le flux entrant des données. Dans ce cas une adaptation des algorithmes d’ap-
prentissage incrémentaux est requise. Ces adaptations sont décrites au cours de la section 4
pour les principales techniques de classification.
L’intérêt croissant de la communauté pour l’apprentissage incrémental ces dernières années
(on peut en juger par le nombre croissant de workshop ou de conférences organisés sur ce
sujet) a produit de nombreux algorithmes mais aussi différents indicateurs de comparaison
entre algorithmes. Le but de la section 5 est de présenter les métriques et/ou indicateurs de
comparaison les plus communément utilisés. Enfin avant de conclure il n’est pas possible de
parler d’apprentissage incrémental sans consacrer une section à la notion de contexte. C’est le
but de la section 6.
2 Préambule
2.1 Hypothèses et contraintes
En matière d’apprentissage automatique, il existe différentes hypothèses ou contraintes qui
portent à la fois sur les données et sur le type de concept que l’on cherche à modéliser. Cette
partie en décrit quelques unes dans le contexte de l’apprentissage incrémental de manière à
comprendre les approches présentées dans les sections 3 et 4 de cet article.
Dans la suite de cet article on s’intéresse aux problèmes de classification binaire. On ap-
pelle exemple une observation x. L’espace de tous les exemples possibles est noté X. Les
exemples sont supposés être indépendants et tirés aléatoirement au sein d’une distribution de
C. Salperwyck et al.
probabilité notée DX, et être munis de leur étiquette (y∈ {−1,+1}). On appelle modèle
un classifieur (f) qui détermine la classe qui doit être assignée à un exemple x(f:X →
{−1,+1}. Chaque exemple est décrit par un ensemble d’attributs.
2.1.1 Sur les exemples d’apprentissage
Les modèles que l’on cherche à apprendre sont basés sur des exemples représentatifs d’un
problème de classification (dans le cadre de cet article). L’algorithme d’apprentissage utilise
ces exemples de manière à entraîner le modèle. Mais ces exemples sont plus ou moins dispo-
nibles : tous dans une base de données, tous en mémoire, partiellement en mémoire, un par un
dans un flux... On trouve dans la littérature différents types d’algorithmes selon les types de
disponibilité d’exemples différents (peu d’exemples, beaucoup, énormément et en continu).
Le cas le plus simple correspond à avoir un modèle basé sur une quantité d’exemples
représentatifs qui peuvent être chargés en mémoire et exploités directement.
Dans d’autres cas, la quantité d’exemples est très importante et il est impossible de tous
les charger en mémoire. Il faut donc concevoir un algorithme qui puisse générer un modèle
sans avoir besoin que tous les exemples soient en mémoire. On peut alors chercher à découper
les données en plusieurs petits ensembles (chunks) de manière à pouvoir les traiter les uns
après les autres et ne pas avoir à tout charger en mémoire et / ou à utiliser des techniques de
parallélisation de l’algorithme d’apprentissage. Le lecteur trouvera dans (Provost et Kolluri,
1999) une étude sur les méthodes utilisées pour traiter cette problématique de volumétrie :
parallélisation, partitionnement de l’espace...
Dans le pire des cas, les données sont très volumineuses et arrivent de manière continue,
on parle alors de flux de données. Les exemples ne peuvent être vus qu’une seule fois et dans
l’ordre dans lequel ils arrivent. L’algorithme doit réaliser l’apprentissage très rapidement afin
de ne pas ralentir le flux de données.
2.1.2 Sur la disponibilité du modèle
La mise en place d’un modèle de prédiction se réalise en deux étapes : 1) une étape d’ap-
prentissage du modèle, 2) une étape d’exploitation du modèle. Dans le cas d’un apprentissage
non incrémental ces étapes sont réalisées l’une après l’autre mais dans le cas de l’apprentissage
incrémental, on repasse en phase d’apprentissage dès qu’un nouvel exemple arrive. Cette phase
peut être plus ou moins longue et il est parfois nécessaire de pouvoir en maîtriser la complexité
calculatoire. (Dean et Boddy, 1988) s’intéresse à cette problématique et définit le concept d’al-
gorithme de prédiction anytime. C’est un algorithme (i) qui est capable d’être arrêté à tout
moment et de fournir une prédiction ; et (ii) dont la qualité de la prédiction est proportionnelle
au temps consommé.
2.1.3 Sur le concept
Supposons un problème de classification supervisée où l’algorithme d’apprentissage ob-
serve une séquence d’exemples munis de leurs étiquettes. La classe d’appartenance des exemples
suit une loi de probabilité notée PY. On appelle concept cible pour un exemple xila probabilité
jointe P(xi, yi) = P(xi)P(yi|xi).
Le caractère non stationnaire du problème à résoudre peut être présent (principalement)
sous deux principales formes de dérives.
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-
C. Salperwyck et al.
sage est réalisable sur des volumes de taille faible à moyenne (jusqu’à quelques Go). Au delà
le temps d’accès et de lecture des données devient prohibitif et il devient difficile de réaliser
un apprentissage rapide (qui ne prennent pas des heures ou des jours). Ce type d’algorithme
montre ses limites dans le cas où (i) les données ne sont pas entièrement chargeables en mé-
moire ou arrive de manière continue ; (ii) la complexité calculatoire de l’algorithme d’appren-
tissage est supérieure à une complexité dite quasi-linéaire. L’apprentissage incrémental est bien
souvent une alternative intéressante face à ce genre de problème.
2.2.2 Apprentissage incrémental
L’apprentissage incrémental correspond à un système capable de recevoir et d’intégrer de
nouveaux exemples sans devoir réaliser un apprentissage complet. Un algorithme d’apprentis-
sage est incrémental si, pour n’importe quels exemples x1, ..., xnil est capable de produire des
hypothèses f1, ..., fntel que fi+1 ne dépend que de fiet de l’exemple courant xi. Par exten-
sion de la définition la notion “d’exemple courant” peut être étendu à un résumé des derniers
exemples vus, résumé utile à l’algorithme d’apprentissage utilisé. Les propriétés désirées d’un
algorithme incrémental sont un temps d’apprentissage beaucoup plus rapide par comparaison à
l’apprentissage hors ligne. Pour atteindre cet objectif les algorithmes ne lisent souvent qu’une
seule fois les exemples ce qui permet en général de traiter de plus grandes volumétries.
2.2.3 Apprentissage en ligne
Le qualificatif “en ligne” est ajouté lorsque que l’arrivée des exemples se fait de manière
continue pour réaliser cet apprentissage et que l’algorithme est capable de fournir un modèle
intégrant ce nouvel exemple. Les exigences en termes de complexité calculatoire sont plus
fortes que pour l’apprentissage incrémental. Par exemple on cherchera à obtenir une com-
plexité calculatoire constante (O(1)) si l’on désire réaliser un algorithme d’apprentissage à
partir de flux. Il s’agit d’apprendre et de prédire à la vitesse du flux. Bien souvent s’ajoutent à
cette différence essentielle des contraintes de mémoire et des problèmes de dérive de concept.
2.2.4 Apprentissage anytime
La définition de l’apprentissage anytime est ici restreinte au fait d’apprendre le meilleur
modèle possible (étant donné un critère d’évaluation) jusqu’à une interruption (qui peut être
l’arrivée d’un nouvel exemple). La famille des algorithmes par contrat est assez proche de celle
des algorithmes anytime. (Zilberstein et Russell, 1996) proposent un algorithme s’adaptant aux
ressources (temps / processeur / mémoire) qui lui sont passées en paramètres.
3 Apprentissage incrémental
3.1 Introduction
De nombreux algorithmes d’apprentissage sont adaptés au problème de la classification
supervisée. Sans tous les citer il existe : les Séparateurs à Vastes Marges (SVM), les réseaux
de neurones, les méthodes des k plus proches voisins, les arbres de décision, la régression
logistique, l’analyse discriminante linéaire, etc. L’utilisation de tel ou tel algorithme dépend
fortement de la tâche à résoudre et du désir d’interprétabilité du modèle. Dans cet article il
1 / 28 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !