Apprentissage supervisé Marc Boullé Séminaire TSI – 28/09/2006 research & development Plan de la présentation Exemple introductif Méthodologie Quelques techniques de modélisation Exemple final Conclusion Séminaire TSI 28/09/2006 / Marc Boullé – p 2 research & development France Telecom Group Exemple introductif Séminaire TSI 28/09/2006 / Marc Boullé – p 3 research & development France Telecom Group Spécifier un objectif Manger des champignons, en évitant de mourir donc savoir discerner • les champignons comestibles • des champignons empoisonnés Séminaire TSI 28/09/2006 / Marc Boullé – p 4 research & development France Telecom Group Collecter les données Cueillette de champignons Etiquetage par un pharmacien Séminaire TSI 28/09/2006 / Marc Boullé – p 5 research & development France Telecom Group Préparer les données Mesurer une série d'indicateurs Hauteur/largeur du pied/chapeau Couleur du pied/chapeau Type de sol Odeur Poids Présence d'un bulbe Séminaire TSI 28/09/2006 / Marc Boullé – p 6 research & development France Telecom Group Modéliser Après analyse des indicateurs, la règle suivante est retenue: Si un champignon est rouge ou jaune alors il est empoisonné Séminaire TSI 28/09/2006 / Marc Boullé – p 7 research & development France Telecom Group Evaluer les résultats Test de la règle apprise sur une nouvelle cueillette Séminaire TSI 28/09/2006 / Marc Boullé – p 8 research & development France Telecom Group Déployer la solution Suite à l'évaluation peu concluante, il n'y a pas eu de déploiement Séminaire TSI 28/09/2006 / Marc Boullé – p 9 research & development France Telecom Group Méthodologie Séminaire TSI 28/09/2006 / Marc Boullé – p 10 research & development France Telecom Group Méthodologie CRISP-DM CRISP-DM: Cross-Industry Standard Process for Data Mining Méthodologie proposée par Daimler-Chrysler, SPSS et NCR Etapes du processus Spécification d'un objectif Collecte des données Préparation des données Modélisation Evaluation Déploiement Séminaire TSI 28/09/2006 / Marc Boullé – p 11 research & development France Telecom Group Spécification d'un objectif Définition précise d'un objectif métier Recensement des critères de succès (amélioration d'au moins 50% de l'efficacité d'un ciblage) des ressources disponibles (SI, expertise…) des contraintes (problèmes légaux, intelligibilité des résultats…) … Formulation en projet Data Mining Par exemple: améliorer le ciblage des clients intéressés par une nouvelle offre Classification supervisé, régression Définition d'un plan préalable pour atteindre les objectifs Séminaire TSI 28/09/2006 / Marc Boullé – p 12 research & development France Telecom Group Collecte des données Identifier les sources de données disponibles Décrire macroscopiquement les données (volumétrie…) Explorer les données (statistiques descriptives) Vérifier la qualité des données (valeurs manquantes…) Séminaire TSI 28/09/2006 / Marc Boullé – p 13 research & development France Telecom Group Préparation des données Construire le jeu données pour la modélisation, à partir des données dans leur format natif Passer des données de SGBD à des données formatées en table Sélection des données instances représentatives, variables pertinentes, nettoyage Construction de variables en prenant en compte la connaissance métier Formatage d'une table instances*variables pour la modélisation Séminaire TSI 28/09/2006 / Marc Boullé – p 14 research & development France Telecom Group Modélisation Construire un modèle de classification Y=f(X) Sélectionner une technique de modélisation Spécifier un protocole d'évaluation Critère d'évaluation: taux d'erreur, aire sous la courbe de ROC… Séparer un échantillon d'apprentissage, de validation et de test Train dataset Construire le modèle Arbres de décision, réseaux de neurones, Support Vector Machines… Construire le modèle sur l'échantillon d'apprentissage Utiliser l'échantillon de validation s'il y a des paramètres à ajuster Validation dataset Evaluer Evaluer les performances en généralisation sur l'échantillon de test Test dataset Séminaire TSI 28/09/2006 / Marc Boullé – p 15 research & development France Telecom Group Evaluation Evaluation de l'impact des résultats de modélisation Evaluation de l'atteinte des objectifs du projet Recensement de toutes les contraintes Si possible, évaluation d'un prototype de solution en grandeur réelle Déterminer les étapes suivantes Arrêter ou passer au déploiement Séminaire TSI 28/09/2006 / Marc Boullé – p 16 research & development France Telecom Group Déploiement Utilisation des résultats du projet Intégration dans les processus des connaissances apprises Intégration applicative dans le SI Définir un plan d'audit des résultats et de maintenance Rapport de fin de projet, et revue de projet Séminaire TSI 28/09/2006 / Marc Boullé – p 17 research & development France Telecom Group Quelques techniques de modélisation Séminaire TSI 28/09/2006 / Marc Boullé – p 18 research & development France Telecom Group Apprentissage supervisé 1 Variables explicatives X=(X1, X2, …,XK) Variable à expliquer Y 0.5 Y catégorielle: classification supervisée Y numérique: régression 0 0 Instances di= x1i, x2i, …,xKi,yi Echantillon d'apprentissage D=(d1, d2, …,dN ) Apprendre: rechercher f(X)=Y Espace d'hypothèse H={f} Critère d'évaluation E(f,D) Algorithme d'optimisation Séminaire TSI 28/09/2006 / Marc Boullé – p 19 0.5 1 0.5 1 1 0.5 0 0 research & development France Telecom Group Apprendre et sur-apprendre 1 Apprendre ¾ Modéliser les régularités "réelles" présentes dans les données Modélisation pertinente, bonne généralisation 0.5 0 ¾ 0.5 1 0 0.5 1 1 Sur-apprendre 0 Modéliser les régularités "accidentelles" locales à l'échantillon d'apprentissage Pas de bonne généralisation 0.5 0 Séminaire TSI 28/09/2006 / Marc Boullé – p 20 research & development France Telecom Group Techniques de modélisation Contraintes liées à chaque technique Format des entrées Biais de chaque méthode Temps d'apprentissage, de déploiement … Quelques techniques • • • • • • Arbre de décision Réseaux de neurones Support Vector Machines Plus proches voisins Bayesien Naïf Ensembles de modèles Séminaire TSI 28/09/2006 / Marc Boullé – p 21 research & development France Telecom Group Arbres de décision: principe Hiérarchie de décisions élémentaires Nœud: variable de décision Arc: décision suivant valeur de la variable Feuille: valeur prédite Séminaire TSI 28/09/2006 / Marc Boullé – p 22 research & development France Telecom Group Arbres de décision Apprentissage Prétraitement intégré: discrétisation, groupement de valeurs Critère d'évaluation des variables Algorithme d'élagage avec ensemble de validation Caractéristiques Variables numériques et catégorielles en entrée Simple et interprétable (si arbre de petite taille) Rapide à apprendre Séminaire TSI 28/09/2006 / Marc Boullé – p 23 research & development France Telecom Group Réseaux de neurones: principe Inspiration biologique Modélisation d'un neurone Additionneur pour les entrées Fonction de transfert Activation en sortie Réseau de neurones Architecture multi-couches • Entrée, Cachée, Sortie Séminaire TSI 28/09/2006 / Marc Boullé – p 24 research & development France Telecom Group Réseaux de neurones Apprentissage Choix de l'architecture (nombre de couches, nombres de neurones) Algorithme de rétro-propagation de gradient Utilisation d'un ensemble de validation Caractéristiques Variables en entrée numériques, normalisées Approximateur universel Il peut y avoir plusieurs variables à expliquer simultanément Boîte noire Long à apprendre Séminaire TSI 28/09/2006 / Marc Boullé – p 25 research & development France Telecom Group Support Vector Machines: principe Séparation des classes par un hyperplan Maximisation de la "marge" Séparation non linéaire en Remplaçant le produit scalaire x.x' par un noyau k(x,x') • Polynomial: k(x,x')= (x,x'+1)d • Gaussien: k(x,x')= exp(-||x-x'||2/2σ2) • … Marge "douce" Dans le cas de classes non séparables, autoriser des exceptions Séminaire TSI 28/09/2006 / Marc Boullé – p 26 research & development France Telecom Group Support Vector Machines Apprentissage Optimisation quadratique avec optimum global Choix du noyau, et de la marge (par validation croisée) Caractéristiques Variables en entrée numériques Adapté aux grands nombres de variables Boîte noire Long à apprendre Séminaire TSI 28/09/2006 / Marc Boullé – p 27 research & development France Telecom Group Plus proches voisins: principe Une instance se comporte comme ses voisines 1 1 0.5 0.5 0 0 0 0.5 Séminaire TSI 28/09/2006 / Marc Boullé – p 28 1 0 research & development 0.5 1 France Telecom Group Plus proches voisins Apprentissage Choix de la distance Choix du nombre de voisins Apprendre: mémoriser la base d'apprentissage Caractéristiques Variables en entrée numériques Adapté au problèmes de type reconnaissance des formes Sensible aux variables bruitées ou redondantes Coûteux en déploiement Séminaire TSI 28/09/2006 / Marc Boullé – p 29 research & development France Telecom Group Bayésien naïf: principe Prédicteur Bayesien: optimal Hypothèse naïve max P (Y | X ) Indépendance des variables descriptives sachant Y P (Y | X ) = P (Y | X ) = Séminaire TSI 28/09/2006 / Marc Boullé – p 30 P (Y ) P ( X | Y ) P(X ) P (Y ) ∏ P ( X k | Y ) k P( X ) research & development France Telecom Group Bayésien naïf Apprentissage Prétraitement souhaitable: discrétisation, groupement de valeurs Evaluation univariée des probabilités conditionnelles Caractéristiques Variables numériques et catégorielles en entrée Limité par son hypothèse "idiote" (mais souvent performant en pratique) Facile à utiliser Rapide à apprendre Séminaire TSI 28/09/2006 / Marc Boullé – p 31 research & development France Telecom Group Ensemble de modèles Agréger les prédictions de plusieurs classifieurs Variété de solutions Boosting Bagging Moyennage Bayesien Caractéristiques Plus performant Plus long à apprendre Plus long à déployer Séminaire TSI 28/09/2006 / Marc Boullé – p 32 research & development France Telecom Group Exemple final Séminaire TSI 28/09/2006 / Marc Boullé – p 33 research & development France Telecom Group SPAM: Spécification d'un objectif Objectif Filtrer les mails de type SPAM Critères de succès Prédiction de SPAM >=99% et de non-SPAM >= 95% Filtrage en moins de 1/10s par mail Réactualisation du modèle de filtrage quotidiennement Formulation en projet Data Mining Collecte d'une base de mails étiquetés en SPAM et non-SPAM Apprentissage automatique d'un classifieur Séminaire TSI 28/09/2006 / Marc Boullé – p 34 research & development France Telecom Group SPAM: Collecte des données Rechercher une base de mails représentative Base publique Serveur de mail de l'entreprise Boîte de mail utilisateur Etiqueter les mails en SPAM et non-SPAM Evaluation préliminaire Taux de SPAM Volumétrie disponible Séminaire TSI 28/09/2006 / Marc Boullé – p 35 research & development France Telecom Group SPAM: Préparation des données Choisir une représentation Sélection des données Sac de mots, avec ou sans lemmatisation Bigrammes, trigrammes, n-grammes Indicateur de présence/absence, ou compteur d'occurrences Suppression des mots rares Nouvelles variables Nombre total de mots Présence de pièces jointes Présence d'une adresse e-mail Nom de domaine de l'expéditeur Séminaire TSI 28/09/2006 / Marc Boullé – p 36 research & development France Telecom Group SPAM: Modélisation Choix de deux classifieurs SVM: pour une bonne performance Bayesien naïf, pour la simplicité en apprentissage et en déploiement Evaluation Matrice de confusion • Taux de faux positifs (classe prédite SPAM et observée non SPAM) • Taux de faux négatifs (classe prédite non-SPAM et observée SPAM) Utiliser 70% des données en apprentissage et 30% en test Tester plusieurs représentations (mots, n-grammes…) Séminaire TSI 28/09/2006 / Marc Boullé – p 37 research & development France Telecom Group SPAM: Evaluation Evaluer si les objectifs sont atteints Si objectifs atteints, implémenter un prototype Taux de faux positifs et de faux négatifs Temps d'apprentissage Temps de déploiement Période de test sur un panel d'utilisateurs Déterminer Si la solution est satisfaisante Les contraintes sur la maintenance des modèles Séminaire TSI 28/09/2006 / Marc Boullé – p 38 research & development France Telecom Group SPAM: Déploiement Rapport de fin de projet Industrialisation du prototype et diffusion Séminaire TSI 28/09/2006 / Marc Boullé – p 39 research & development France Telecom Group Conclusion Séminaire TSI 28/09/2006 / Marc Boullé – p 40 research & development France Telecom Group Apprentissage supervisé Données (X,Y) -> modèle Y=f(X) Importance de la méthodologie Classification supervisée ou régression selon Y Objectif, Données, Préparation, Modélisation, Evaluation, Déploiement Importance particulière de la préparation des données Large variété de techniques de modélisation Il n'y a pas de modèle universel Caractéristiques variées • Contraintes, niveau d'expertise nécessaire, performances, temps d'apprentissage, de déploiement… Séminaire TSI 28/09/2006 / Marc Boullé – p 41 research & development France Telecom Group