Apprentissage supervisé...Séminaire TSI 28/09/2006 / Marc Boullé – p 14 research & development...
Transcript of Apprentissage supervisé...Séminaire TSI 28/09/2006 / Marc Boullé – p 14 research & development...
Séminaire TSI 28/09/2006 / Marc Boullé – p 2 research & development France Telecom Group
Exemple introductif
Méthodologie
Quelques techniques de modélisation
Exemple final
Conclusion
Plan de la présentation
Séminaire TSI 28/09/2006 / Marc Boullé – p 3 research & development France Telecom Group
Exemple introductif
Séminaire TSI 28/09/2006 / Marc Boullé – p 4 research & development France Telecom Group
Manger des champignons, en évitant de mourir
donc savoir discerner • les champignons comestibles
• des champignons empoisonnés
Spécifier un objectif
Séminaire TSI 28/09/2006 / Marc Boullé – p 5 research & development France Telecom Group
Cueillette de champignonsEtiquetage par un pharmacien
Collecter les données
Séminaire TSI 28/09/2006 / Marc Boullé – p 6 research & development France Telecom Group
Mesurer une série d'indicateursHauteur/largeur du pied/chapeauCouleur du pied/chapeauType de solOdeurPoidsPrésence d'un bulbe
Préparer les données
Séminaire TSI 28/09/2006 / Marc Boullé – p 7 research & development France Telecom Group
Après analyse des indicateurs, la règlesuivante est retenue:
Si un champignon estrouge
oujaune
alors il estempoisonné
Modéliser
Séminaire TSI 28/09/2006 / Marc Boullé – p 8 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 9 research & development France Telecom Group
Suite à l'évaluation peu concluante, il n'y a pas eu de déploiement
Déployer la solution
Séminaire TSI 28/09/2006 / Marc Boullé – p 10 research & development France Telecom Group
Méthodologie
Séminaire TSI 28/09/2006 / Marc Boullé – p 11 research & development France Telecom Group
Méthodologie CRISP-DM
CRISP-DM: Cross-Industry Standard Process for Data MiningMéthodologie proposée par Daimler-Chrysler, SPSS et NCR
Etapes du processusSpécification d'un objectifCollecte des donnéesPréparation des donnéesModélisationEvaluationDéploiement
Séminaire TSI 28/09/2006 / Marc Boullé – p 12 research & development France Telecom Group
Spécification d'un objectif
Définition précise d'un objectif métierPar exemple: améliorer le ciblage des clients intéressés par une nouvelle offre
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 MiningClassification supervisé, régression
Définition d'un plan préalable pour atteindre les objectifs
Séminaire TSI 28/09/2006 / Marc Boullé – p 13 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 14 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éesinstances 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 15 research & development France Telecom Group
ModélisationConstruire un modèle de classification Y=f(X)
Sélectionner une technique de modélisationArbres de décision, réseaux de neurones, Support VectorMachines…
Spécifier un protocole d'évaluationCritère d'évaluation: taux d'erreur, aire sous la courbe de ROC…Séparer un échantillon d'apprentissage, de validation et de test
Construire le modèleConstruire le modèle sur l'échantillon d'apprentissageUtiliser l'échantillon de validation s'il y a des paramètres à ajuster
EvaluerEvaluer les performances en généralisation sur l'échantillon de test
Train dataset
Validation dataset
Test dataset
Séminaire TSI 28/09/2006 / Marc Boullé – p 16 research & development France Telecom Group
Evaluation
Evaluation de l'impact des résultats de modélisationEvaluation de l'atteinte des objectifs du projetRecensement de toutes les contraintesSi possible, évaluation d'un prototype de solution en grandeur réelle
Déterminer les étapes suivantesArrêter ou passer au déploiement
Séminaire TSI 28/09/2006 / Marc Boullé – p 17 research & development France Telecom Group
Déploiement
Utilisation des résultats du projetIntégration dans les processus des connaissances apprisesInté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 18 research & development France Telecom Group
Quelques techniques de modélisation
Séminaire TSI 28/09/2006 / Marc Boullé – p 19 research & development France Telecom Group
Apprentissage supervisé
Variables explicatives X=(X1, X2, …,XK)Variable à expliquer Y
Y catégorielle: classification superviséeY numérique: régression
Instances di= x1i, x2i, …,xKi,yiEchantillon d'apprentissage D=(d1, d2, …,dN )
Apprendre: rechercher f(X)=YEspace d'hypothèse H={f}Critère d'évaluation E(f,D)Algorithme d'optimisation 0
0.5
1
0 0.5 1
0
0.5
1
0 0.5 1
Séminaire TSI 28/09/2006 / Marc Boullé – p 20 research & development France Telecom Group
Apprendre et sur-apprendre
ApprendreModéliser les régularités "réelles" présentes dans les donnéesModélisation pertinente, bonne généralisation
Sur-apprendreModéliser les régularités "accidentelles" locales à l'échantillon d'apprentissagePas de bonne généralisation
0
0.5
1
0 0.5 1
0
0.5
1
0 0.5 1
Séminaire TSI 28/09/2006 / Marc Boullé – p 21 research & development France Telecom Group
Techniques de modélisation
Contraintes liées à chaque techniqueFormat des entréesBiais de chaque méthodeTemps 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 22 research & development France Telecom Group
Arbres de décision: principe
Hiérarchie de décisions élémentairesNœud: variable de décisionArc: décision suivant valeur de la variableFeuille: valeur prédite
Séminaire TSI 28/09/2006 / Marc Boullé – p 23 research & development France Telecom Group
Arbres de décision
ApprentissagePrétraitement intégré: discrétisation, groupement de valeursCritère d'évaluation des variablesAlgorithme d'élagage avec ensemble de validation
CaractéristiquesVariables numériques et catégorielles en entréeSimple et interprétable (si arbre de petite taille)Rapide à apprendre
Séminaire TSI 28/09/2006 / Marc Boullé – p 24 research & development France Telecom Group
Réseaux de neurones: principe
Inspiration biologique
Modélisation d'un neuroneAdditionneur pour les entréesFonction de transfertActivation en sortie
Réseau de neuronesArchitecture multi-couches
• Entrée, Cachée, Sortie
Séminaire TSI 28/09/2006 / Marc Boullé – p 25 research & development France Telecom Group
Réseaux de neurones
ApprentissageChoix de l'architecture (nombre de couches, nombres de neurones)Algorithme de rétro-propagation de gradientUtilisation d'un ensemble de validation
CaractéristiquesVariables en entrée numériques, normaliséesApproximateur universelIl peut y avoir plusieurs variables à expliquer simultanémentBoîte noireLong à apprendre
Séminaire TSI 28/09/2006 / Marc Boullé – p 26 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 enRemplaç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 27 research & development France Telecom Group
Support Vector Machines
ApprentissageOptimisation quadratique avec optimum globalChoix du noyau, et de la marge (par validation croisée)
CaractéristiquesVariables en entrée numériquesAdapté aux grands nombres de variablesBoîte noireLong à apprendre
Séminaire TSI 28/09/2006 / Marc Boullé – p 28 research & development France Telecom Group
Plus proches voisins: principe
Une instance se comporte comme ses voisines
0
0.5
1
0 0.5 10
0.5
1
0 0.5 1
Séminaire TSI 28/09/2006 / Marc Boullé – p 29 research & development France Telecom Group
Plus proches voisins
ApprentissageChoix de la distanceChoix du nombre de voisinsApprendre: mémoriser la base d'apprentissage
CaractéristiquesVariables en entrée numériquesAdapté au problèmes de type reconnaissance des formesSensible aux variables bruitées ou redondantesCoûteux en déploiement
Séminaire TSI 28/09/2006 / Marc Boullé – p 30 research & development France Telecom Group
Bayésien naïf: principe
Prédicteur Bayesien: optimal
Hypothèse naïveIndépendance des variables descriptives sachant Y
( )( ) ( )
( )
||
kk
P Y P X YP Y X
P X=
∏
( )max |P Y X
( ) ( ) ( )( )
||
P Y P X YP Y X
P X=
Séminaire TSI 28/09/2006 / Marc Boullé – p 31 research & development France Telecom Group
Bayésien naïf
ApprentissagePrétraitement souhaitable: discrétisation, groupement de valeursEvaluation univariée des probabilités conditionnelles
CaractéristiquesVariables numériques et catégorielles en entréeLimité par son hypothèse "idiote" (mais souvent performant en pratique)Facile à utiliserRapide à apprendre
Séminaire TSI 28/09/2006 / Marc Boullé – p 32 research & development France Telecom Group
Ensemble de modèles
Agréger les prédictions de plusieurs classifieurs
Variété de solutionsBoostingBaggingMoyennage Bayesien
CaractéristiquesPlus performantPlus long à apprendrePlus long à déployer
Séminaire TSI 28/09/2006 / Marc Boullé – p 33 research & development France Telecom Group
Exemple final
Séminaire TSI 28/09/2006 / Marc Boullé – p 34 research & development France Telecom Group
SPAM: Spécification d'un objectif
ObjectifFiltrer les mails de type SPAM
Critères de succèsPrédiction de SPAM >=99% et de non-SPAM >= 95%Filtrage en moins de 1/10s par mailRéactualisation du modèle de filtrage quotidiennement
Formulation en projet Data MiningCollecte d'une base de mails étiquetés en SPAM et non-SPAMApprentissage automatique d'un classifieur
Séminaire TSI 28/09/2006 / Marc Boullé – p 35 research & development France Telecom Group
SPAM: Collecte des données
Rechercher une base de mails représentativeBase publiqueServeur de mail de l'entrepriseBoîte de mail utilisateur
Etiqueter les mails en SPAM et non-SPAM
Evaluation préliminaireTaux de SPAMVolumétrie disponible
Séminaire TSI 28/09/2006 / Marc Boullé – p 36 research & development France Telecom Group
SPAM: Préparation des données
Choisir une représentationSac de mots, avec ou sans lemmatisationBigrammes, trigrammes, n-grammesIndicateur de présence/absence, ou compteur d'occurrences
Sélection des donnéesSuppression des mots rares
Nouvelles variablesNombre total de motsPrésence de pièces jointesPrésence d'une adresse e-mailNom de domaine de l'expéditeur
Séminaire TSI 28/09/2006 / Marc Boullé – p 37 research & development France Telecom Group
SPAM: Modélisation
Choix de deux classifieursSVM: pour une bonne performanceBayesien naïf, pour la simplicité en apprentissage et en déploiement
EvaluationMatrice 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 38 research & development France Telecom Group
SPAM: Evaluation
Evaluer si les objectifs sont atteintsTaux de faux positifs et de faux négatifsTemps d'apprentissageTemps de déploiement
Si objectifs atteints, implémenter un prototypePériode de test sur un panel d'utilisateurs
DéterminerSi la solution est satisfaisanteLes contraintes sur la maintenance des modèles
Séminaire TSI 28/09/2006 / Marc Boullé – p 39 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 40 research & development France Telecom Group
Conclusion
Séminaire TSI 28/09/2006 / Marc Boullé – p 41 research & development France Telecom Group
Apprentissage supervisé
Données (X,Y) -> modèle Y=f(X)Classification supervisée ou régression selon Y
Importance de la méthodologieObjectif, Données, Préparation, Modélisation, Evaluation, DéploiementImportance particulière de la préparation des données
Large variété de techniques de modélisationIl n'y a pas de modèle universelCaractéristiques variées
• Contraintes, niveau d'expertise nécessaire, performances, temps d'apprentissage, de déploiement…