Apprentissage supervisé

publicité
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
Téléchargement