Data Mining
Master 2 Informatique UAG
U. Fayyad, G. Piatetsky-Shapiro, P. Smyth, R. Uthurusamy, editors, Advances in Knowledge Discovery and Data Mining, AAAI/MIT Press, 1996
Gilbert Saporta, Data mining et statistique décisionnelle, Éditions Technip, 2005.
Jiawei Han, Micheline Kamber, Data Mining : Concepts and Techniques, Morgan Kaufmann, David T. Connolly & C.
Begg, Systèmes de bases de données, Eyrolles, 2005.
Ian Witten and Eibe Frank, Data Mining, Practical Machine Learning Tools and Techniques, 2nd edition, Morgan Kaufman, 2005.
David Hand, Heikki Mannila, Padhraic Smith, Principles of Data Mining, MIT Press, 2001.
Bibliographie (1)
Bibliographie (2)
Cynthia Gibas et Per Jambeck, Introduction à la bioinformatique, O'Reilly, 2001.
Anna Tramontano, Introduction to Bioinformatics, Chapman &
Hall/CRC, 2006.
Jason Wang, Mohammed Zaki, Hannu Toivonen and Dennis Shasha, Data Mining in Bioinformatics, series: Advanced Information and Knowledge Processing, Springer, 2005.
Marcus A. Maloof, Machine Learning and Data Mining for Computer Security: Methods and Applications (Advanced Information and Knowledge Processing), Springer, 2006.
Jaideep Vaidya, Chris Clifton, Michael Zhu, Privacy Preserving Data Mining (Advances in Information Security), Springer, 2006.
Sites (1)
KD Nuggets
http://www.kdnuggets.com/
The Data Mine
http://www.andypryke.com/university/TheDataMine.html Conférences – Journaux
ACM SIGKDD - Knowledge Discovery and Data Mining ACM Special Interest Group http://www.acm.org/sigkdd/
DMKD http://www.kluweronline.com/issn/1384-5810
…
Sites (2)
Systèmes
SPSS (SPSS Clementine)
http://www.spss.com/SPSSBI/Clementine/
SAS (Entreprise Miner) http://www.sas.com/
RapidMiner http://rapid-i.com Weka
http://www.cs.waikato.ac.nz/~ml/
BioConductor
http://www.bioconductor.org/
Plan du cours
1. Principes
2. Exemples d'application 3. Tâches standard 4. Datawarehousing 5. Pré-traitement
6. Classification supervisée
Fouille de données ou : - Data Mining
- Knowledge Discovery in Databases (KDD)
- Extraction automatique de connaissances à partir de données (ECD)
1.1 - Introduction Motivation
Explosion du volume des données
outils et technologie de stockage performants
recueil de données volumineux (transactions de ventes, cartes de crédit, images …) : giga et tera- octets
Wal-Mart : 20 millions de transactions, 483 processeurs parallèles
nécessité d'en tirer des connaissances utiles
Domaine connexe : Data Warehousing
"data rich but information poor situation"
Data Warehousing : technologies comprenant extraction, pré-traitement, chargement Extract, Transform, Load (ETL) nettoyage
intégration/agrégation des données interrogation des données agrégées On Line Analysis Processing (OLAP)
Une définition du data mining
"un processus non trivial d'extraction de modèles valides, nouveaux, potentiellement utiles et compréhensibles à partir de données "
(Fayyad 1996)
non pas décrire et vérifier des hypothèses mais, générer une hypothèse
en recherchant des modèles
1.2 - Exemples d'application et types de problème (1)
Marketing
Marketing ciblé, CRM (Customer Relationship Management), Ventes croisées, Segmentation des marchés
Quel type de clients achètent quels types de produits?
Y-a-t-il des liens de causalité entre l’achat d’un produit P et d’un autre produit P’?
Quel est le comportement des clients au cours du temps o utiliser des données recueillies pour un produit similaire o recherche d'associations/correlations entre produits o chercher des segments parmi clients
Domaine d'application et types de problème (2)
Analyse et gestion des risques, Détection de fraudes Assurance,
Domaine Bancaire : cartes de crédit, accord de crédit Telecommunications
Systèmes informatiques, Réseaux
Peut-on caractériser les assurés qui font des déclarations d’accident frauduleuses?
Détecter l'utilisation de cartes de crédit frauduleuse
Quels sont les clients "à risque" pour l'accord de crédit?
Domaine d'application et types de problème (3)
Santé, Médécine
Etude de l'influence de certaines médications sur l’évolution d’une maladie
Recherche des médicaments les plus efficaces
Astronomie
…
Domaine d'application et types de problème (4)
Sécurité informatique
Détection traditionnelle basée sur des signatures connues Détecter automatiquement de nouvelles intrusions
Différencier intrusion et mauvaise utilisation :
Classifier les intrusions
Chercher des modèles prédictifs de mauvaises utilisations
Construire des profils normaux, des séquences fréquentes
Identifier des déviations dans les comportements
…
Domaine d'application et types de problème (5)
Biologie - Génomique
Analyse des données d'expression de biopuces (micro-arrays)
Identifier des similarités dans des séquences d’ADN
Rechercher le rôle de certains gènes dans une pathologie
Rechercher le rôle de certains gènes dans l'effet de médications
Rechercher des gènes qui s'expriment de la même manière
…
Domaine d'application et types de problème (4)
Télécommunications
Problème du churn
Recherche d'anomalies sur un réseau
Web Mining
Etudier le contenu, la structure ou l’usage des pages web
Text mining (news group, email, tous documents)
E-learning
…
Un exemple en marketing
Une compagnie de téléphone mobile doit tester sur le marché un nouveau produit ; le produit ne peut être offert initialement qu'à quelques centaines d'abonnés.
Il est exclus d'envoyer un courrier à tous les abonnés
Il faudrait pouvoir "prédire" qui va probablement acheter le produit Expérience passée : 2 à 3% des clientssont à même de répondre
positivement en achetant le produit
Pour 500 réponses positives : sans modèle, il faut entre 17000 et 25000 prospects
Un exemple en marketing (suite)
apprentissage par l'exemple
ensemble d'apprentissage : ensembles des enregistrements obtenus lors du lancement d'un produit similaire
préparation des données : choix des données entre 3 bases de données (appels détaillés, marketing, données démographiques) construction de plusieurs champs ajoutés comme les minutes
d'utilisation, la fréquence des appels, …
phase de data mining : extraction d'un modèle qui décrit les clients probables du nouveau produit
évaluation et interprétation du modèle
mise en œuvre (déploiement)
Comprendre le problème
connaissance du domaine, buts poursuivis, données disponibles, déploiment des résultats
Explorer : visualiser, questionner
Créer le réservoir de données
Nettoyage et Intégration (60% du travail) Réduction et Transformation
Choisir la(les) fonctionnalité(s)
description, classification, classement, regression, association,
Choisir la (les) méthodes (algorithmes)
Effectuer l'extraction : recherche des modèles intéressants
Evaluation du modèle
Présentation des résultats
Les étapes du processus (1) CRISP-DM: Data Mining Process
Business
understanding Data evaluation
Data preparation
Modeling Evaluation
Deployment Data
Les étapes du processus (2)
Nettoyage
Intégration
Entrepôt Sélection et transformation Data Mining
Evaluation
Connaissances
Quelles types de données sont fouillées?
BD relationnelles
Datawarehouses : relationnel, cube multi-dimension
Données de transactions
BD orientées objet, spatiales, multimedia, textuelles
Données temporelles et séries temporelles
Données du Web
mais le plus souvent, pré-traitées et intégrées dans une table sur laquelle la recherche d'un modèle est réalisée
1.3 - Les différentes tâches/modèles
Objectif : Décrire ou Prédire
Description : Caractérisation – Discrimination
requêtes SQL
requêtes OLAP
description analytique
mesures statistiques
Les différentes tâches/modèles (2)
Analyse d'association (corrélation et causalité) : découvrir des règles d'association :
X Y
où X et Y sont des conjonctions de termes attributs-valeurs ou des prédicats
pain=1 et café=1 beurre=1 [support = 5%, confiance = 70%]
age>20 et age<29 et revenu>1000 achètePC="oui"
[support = 2%, confiance = 60%]
Les différentes tâches/modèles (3)
Classification ou Apprentissage non supervisé (clustering) trouver des groupes ou classes d'objets tels que la similarité intra-classe est élevée et la simlilarité inter-classes est faible (pas de variable identifiant la classe)
segmentation des clients cluster de gènes
…
Les différentes tâches/modèles (4)
Classement/Prédiction ou Apprentissage supervisé (supervised classification)
apprendre une fonction qui associe une donnée à une classe prédéfinie
classer les clients "vagabonds" en fonction de leurs caractéristiques prédire un comportement frauduleux
Recherche de séquences temporelles
Analyse de flux
Analyse de déviations
Recherche de correlations
Autres fonctionnalités du data mining 1.4 - Data Warehousing
Qu’est-ce qu’un data warehouse?
Un modèle de données multi-dimensions
Opérations OLAP typiques
Architecture d’un data warehouse
Qu’est-ce qu’un data warehouse?
Un réservoir de données maintenu indépendant des BD opérationnelles, permettant d'organiser et de consolider les données disparates d’une même organisation et d'en faciliter l'analyse
Un DW doit être capable d'incorporer toutes les données disponibles d'une organisation
Data warehousing : processus de construction (intégration) et de mise en œuvre d'un DW (outils OLAP)
BD opérationnelles vs DW
BD opérationnelles :
OLTP et gestion des requêtes
opération journalières des utilisateurs
manipulent des données courantes
se réfèrent souvent à un modèle conceptuel EA
opèrent par transactions courtes
DW :
support pour l'analyse de données et l'aide à la décision
manipulent des données d'archive
peuvent présenter les données selon différentes dimensions permettent l'agrégation et manipulent les données à divers degrés de granularité (OLAP)
se réfèrent souvent à un modèle conceptuel en étoile ou flocon
1.5 - Préparation des données
Nécessité de préparer les données Données réelles endommagées
Incomplètes, Bruitées, Incohérentes
Nettoyage
Intégration et transformation
Réduction
Discrétisation
Tâches principales pour la préparation
Nettoyage
compléter les valeurs manquantes, lisser les données bruitées, supprimer les déviations, et corriger les incohérences
Intégration
intégrer des sources de données multiples
Transformation
normaliser (ex. pour le calcul de distances)
Réduction
réduire le volume des données (agréger, supprimer une dimension…)
Discrétisation
pour les attributs numériques, permet de réduire le volume
Valeurs manquantes
on peut
ignorer le tuple
compléter la valeur à la main
utiliser une constante globale
utiliser la valeur moyenne
utiliser la valeur moyenne pour les exemples d'une même classe
utiliser la valeur la plus probable
Données bruitées
on peut
trier et partitionner (discrétiser)
classifier (exceptions)
appliquer un modèle de prédiction (ex : une fonction de régression)
Données bruitées
Partitionnement et Lissage
les valeurs triées sont réparties
en largeur (distance)
la suite triée est partitionnée en N intervalles de même amplitude
amplitude de chaque intervalle W = (max -min)/N.
solution la plus simple, mais les exceptions peuvent dominer
ou
en profondeur (fréquence)
la suite triée est partitionnée en N intervalles contenant le même nombre d'exemples
Données bruitées
Tri et Partitionner : un exemple
données triées 4, 8, 9, 15, 21, 21, 24, 25, 26, 28, 29, 34 Partition en profondeur :
- part 1: 4, 8, 9, 15 - part 2: 21, 21, 24, 25 - part 3: 26, 28, 29, 34
Lissage par les moyennes : chaque valeur de la partition est remplacée par la moyenne
- part 1: 9, 9, 9, 9 - part 2: 23, 23, 23, 23 - part 3: 29, 29, 29, 29
Lissage par les extremes : : chaque valeur de la partition est remplacée par la valeur extreme la plus proche
- part 1: 4, 4, 4, 15 - part 2: 21, 21, 25, 25 - part 3: 26, 26, 26, 34
Données bruitées Regression
x y
y = x + 1 X1
Y1 Y1’
les données sont lissées de manière à approcher une fonction
Régression linéaire Régression linéaire multiple
Intégration – Données redondantes
Détection de données redondantes par analyse de corrélation
par exemple : redondance entre attribut
mesure la corrélation entre les attributs A et B rA,B >0 implique que A et B sont positivement corrélés rA,B <0 implique que A et B sont négativement corrélés
Transformation
Les transformations appliquées :
Le lissage qui supprime les données bruitées
L'agrégation qui calcule des sommes, des moyennes
La généralisation qui remonte dans une hiérarchie de concept
La normalisation qui ramène les valeurs dans un intervalle donné
La construction d'attributs
Réduction
permet d'obtenir une représentation réduite d'ensembles volumineux de données
stratégies appliquées
agrégation
réduction
compression
discrétisation
Réduction de dimension
suppression d'attributs : de nombreux attributs non pertinents détériorent les performances des algorithmes par ex, les algorithmes d'induction d'arbres
pour assurer de bonnes performances aux algorithmes d'extraction
(arbres de décision, classifieurs de bayes, … )
supprimer des données non pertinentes
supprimer des données redondantes
Discrétisation
permet de réduire le nombre de valeurs d'un attribut continue en divisant le domaine de valeurs en intervalles
utile pour la classification et les arbres de décision (algorithmes qui manipulent des variables catégorielles)
des techniques de discrétisation peuvent être appliquées récursivement pour fournir un partitionnement hiérarchique de l'attribut
Discrétisation non supervisée
Ou discrétisation aveugle (indépendamment d'une valeur de classe)
partitionnement en largeur
partitionnement en profondeur
Discrétisation supervisée
prend en compte la classification
utilise l'entropie pour mesurer l'information et obtenir un critère de "pureté"
discrétise en intervalles "purs"
Discretisation basée sur l'entropie
A. Principes
B.
Classement par induction d’arbres de décision
C.Approche probabiliste - Classifieurs Bayésiens
D.KNN
E.
Approche par rétro-propagation
F.Approche évolutionnaire
G.
Approche par règles d’association
1.6 Classification supervisée
(en : classification) Apprentissage supervisé
tâche de prédiction
prédit des variables catégorielles
construit un modèle de classement (classifieur) des données
en se basant sur un ensemble appelé ensemble d'apprentissage (EA) (training
set)
utilise le modèle pour classer de nouvelles données
Classement
Apprentissage non supervisé versus supervisé
Classification (en: Clustering) :
Apprentissage non-supervisé les classes ne sont pas connues
étant donné un ensemble de mesures, observations, ... est recherchée l'existence de groupes (classes) regroupant des données similaires
Classement (en : Classification):
Apprentissage supervisé
supervision: les données de l'EA (observations, mesures, etc.) sont accompagnées d'étiquettes indiquant la classe de chaque donnée
une nouvelle donnée est classifiée selon le modèle appris à partir de l'EA
Apprentissage non supervisé versus supervisé (2)
Classement
prédit des variables catégorielles
construit un modèle de classification des données
Régression
modélise des fonctions à valeurs numériques continues
prédit des valeurs inconnues ou manquantes
Apprentissage supervisé
Modélisation prédictive Apprentissage supervisé Modélisation prédictive (2)
Modèle prédictif ( versus descriptif )
une variable est exprimée comme une fonction des autres Y = f(X1, . . ., Xn)
la valeur de cette variable cible peut être prédite à partir des valeurs des autres variables prédictives
Y variable catégorielle Classement Y variable quantitative Régression
Classement : Apprentissage supervisé
construit un modèle de classement des données en se basant sur un ensemble appelé
ensemble d'apprentissage (EA) (training set)
teste sa précision sur un ensemble de test (ET) (test set)
utilise le modèle pour classifier de nouvelles données
Dans une table (relationnelle)
les classes sont représentées par les valeurs d'un attribut particulier : attribut-cible ou attribut de classe
les autres attributs sont appelés attributs prédictifs
tâche d'apprentissage ou de classement :
extraire un modèle qui permette d'assigner une classe prédéfinie aux tuples selon une condition sur les attributs prédictifs
Classement et Bases de données
Classement - Exemple Règles de Classification
de la forme IF-THEN
une règle prédit une classe à partir des attributs prédictifs
si A1, ..., Ap sont les attributs prédictifs et G est l'attribut de classe, les règles sont de la forme :
A1= a1 ∧... ∧ Ap= ap G= gk si on suppose que A1, ..., Ap sont à valeurs discrètes
Classement en deux étapes
1. Construction du modèle sur l'ensemble
d'apprentissage (EA)
2. Evaluation de la précision (accuracy) du
modèle pour classifier de nouveaux objets
Classement (1):
Construction du modèle
EA
Algorithmes de Classement
IF Age=“31..40”
AND Revenu = élevé THEN Achète = oui
Classifieur (Modèle)
Classement – étape 2
Evaluation de la précision du modèle pour classifier de nouveaux objets
la valeur de l'attribut-cible connue pour chaque exemple de l'ET est comparée à la classe prédite par le modèle
ET doit être indépendant de EA, sinon risque de sur-évaluation (over-fitting)
la valeur prédictive du modèle est évalué sur les exemples de l'ET
première mesure de la valeur prédictive souvent utilisée : la précision (accuracy), fréquence des exemples correctement classifiés
et aussi, les faux positifs, faux négatifs
Méthodes
Arbres/Règles de décision
Modèles probabilistes : Naïve Bayes, Réseaux de Bayes
Lazy approaches : K-Nearest Neighbor
Réseaux neuronaux
Algorithmes génétiques
…
Classement par inférence de règles rudimentaires
One R Règle-1
Inférence d'une ensemble de règles dont chacune teste un attribut particulier Att=val Classe
Chaque règle porte sur une seule valeur d'attribut
La classe prédite est celle qui apparaît le plus souvent dans l'EA
On déduit toute les règles possibles pour un attribut et on choisit celle dont le taux d'erreur est le plus petit
Inférence de règles rudimentaires
A.
Principes
B. Classement par induction d’arbres de décision C.
Approche probabiliste - Classifieurs Bayésiens
D.KNN
E.
Approche par rétro-propagation
F.Approche évolutionnaire
G.
Approche par règles d’association
Classification supervisée
Classement par induction d’arbres de décision
Apprentissage inductif
rechercher dans un espace d'hypothèses implicitement défini par la représentation de l'hypothèse
trouver la meilleure hypothèse : celle qui correspond au mieux aux exemples de l'EA
conjecture : la meilleure hypothèse pour l'EA est aussi la meilleure pour les exemples non connus
Arbres de décision
pour variables à valeurs discrètes
structure d’arbre de type organigramme
un noeud représente un test sur un attribut
une branche correspond à un résultat de test
les feuilles représentent les classes ou les distributions de classe
utilisation : classement d’une donnée inconnue, en comparant la valeur de ses attributs avec les noeuds de l’arbre
Quand rechercher un arbre de décision?
Instances décrites par des attributs à valeurs discrètes
Attribut de classe à valeurs discrètes
Hypothèses disjointes
Exemple :
Prédire le risque de crédit
Prédire le "churn"
Prédire une pathologie
Génération d’un arbre de décision
En deux étapes
construction
au début : tous les exemples sont à la racine
les exemples sont ensuite répartis selon le résultat du test effectué sur l’attribut choisi
élagage
identifier et supprimer les branches qui contiennent bruit et exceptions
Ensemble d’apprentissage Résulat : un arbre de décision pour achète_ordinateur
age?
etudiant degSolvabilité
<=30 >40
non oui non oui
oui 30..40
non oui excellent bon
Extraction de règles de classification
Chaque règle est de la forme IF-THEN
Une règle est créée pour chaque chemin de la racine à une feuille
Chaque terme attribut-valeur constitue un opérande de la conjonction en partie gauche
Chaque feuille correspond à une classe à prédire
IF age = “<=30” AND etudiant = “non”
THEN achète_ordinateur = “non”
IF age = “<=30” AND etudiant = “oui”
THEN achète_ordinateur = “oui”
IF age = “31…40”
THEN achète_ordinateur = “oui”
IF age = “>40”
AND degSolvabilité = “excellent”
THEN achète_ordinateur = “non”
IF age = “>40”
AND degSolvabilité = = “bon”
THEN achète_ordinateur = “oui”
age?
etudiant degSolvabilité
<=30 >40
non oui non oui
oui 30..40
Extraction de règles de classification à partir des arbres de décision
non oui excellent bon
Induction d'un arbre de décision ID3 [Quinlan 1986]
a évolué jusqu'aux versions C4.5 et C5.0
principe de base :
construire récursivement un arbre de la racine aux feuilles
à chaque noeud, choisir le meilleur attribut parmi ceux restant
quel est le meilleur?
ID3 (2)
au début, tous les exemples sont à la racine attributs catégoriels, ou continues et discrétisées
les exemples sont ensuite répartis sur des branches pour chaque valeur de l'attribut choisi comme test
le processus est répété sur l'EA correspondant à chaque nœud descendant
ID3 (3)
les attributs de test sont choisis selon un critère heuristique ou un critère statistique
le processus de partitionnement (split) s’arrête lorsque
tous les exemples de chaque noeud appartiennent à la même classe . il ne reste aucun exemple à classifier
ou
il ne reste plus d’attribut pour base de partitionnement le scrutin majoritaire est utilisé pour classifier le noeud
Algorithmes d’induction d’un arbre de décision
ID3 (Quinlan 1986)
CART
C4.5 (Quinlan 1993) et C5.0
SLIQ (Mehta et al 1996)
SPRINT (Shafer et al 1996)
RAINFOREST (Gehrke, Ramakrishnan & Ganti 1998)
Critères de sélection d’un attribut de test
Information gain (ID3/C4.5)
critère heuristique
mesure la réduction d'entropie
Index Gini (CART, SLIQ, SPRINT)
critère statistique
mesure l'impureté d'un noeud
Sélection d’un attribut de test (1)
Le meilleur attribut
intuitivement : celui qui partitionne le mieux les instances en classes, celui qui maximise la distance entre les groupes obtenus après partitionnement
celui qui minimise l'information (le nombre de tests) nécessaire pour classifier les exemples selon la partition résultante et qui reflète le désordre minimum dans cette partition donc garantit que l'arbre résultant sera simple
plus formellement : déterminer une mesure de séparabilité
Approche théorie de l'information - L'entropie
Soit S l'ensemble d'exemples
Supposons que l'attribut à prédire prenne M valeurs distinctes définissant M classes C1, …, CM
L'entropie E(S) est définie par
où pi désigne la proportion d'exemples de S appartenant à Ci
Fonction d'entropie
Entropie
p+
Gain d'information
mesure d'efficacité d'un attribut A : gain d'information réduction de l'entropie obtenue en partitionnant selon A
où A prend les valeurs a1, … aM et Sk est le sous-ensemble de S pour lequels l'attribut A prend la valeur ak
€
InfoGain(S,A)=E(S)− Sk SE(Sk)
k=1 k=M
∑
Sélection d'un attribut par calcul de la mesure Infogain
Class P: achète_ordinateur = “oui”
Class N: achète_ordinateur = “non”
E(S) =-9/14 log(9/14) - 5/14 log(5/14) =0.94
Inconvénient de InfoGain
favorise les éclatements en un grand nombre de partitions, chacune étant pure
par exemple :
attribut date avec N valeurs, N grand Infogain(date) maximum
si on suppose que date suffit à prédire la classe
Autre mesure : Gain Ratio (C4.5)
introduit une information de partitionnement
ajuste InfoGain avec l'entropie du partitionnement
pénalise un éclatement dans un grand nombre de petites partitions
€
SplitInfo(S,A)=− Sk Slog2Sk
k=1 S
k=M
∑
€
GainRatio(S,A)=InfoGain(S,A) SplitInfo(S,A)
Sélection d’un attribut de test (2)
Si un ensemble d'exemples S contient M classes, l'index Gini de S est défini par :
où pj est la fréquence relative de la classe j dans S (CART, SLIQ, SPRINT)
Index Gini
Gini
p+
Index Gini
C1 0
C2 6
Gini=0
C1 1
C2 5
Gini=0.278
C1 2
C2 4
Gini=0.444
C1 3
C2 3
Gini=0.500
Index Gini d'une partition
Si un ensemble S est partitionné en sous- ensembles S
1…S
Pde tailles respectives N
1…N
P, l'index Gini de la partition est défini par
L'attribut qui produit l'index Gini minimum est le meilleur
A N2 N1
N1 N2
C1 0 4
C2 6 0
Gini=0
N1 N2
C1 6 2
C2 2 0
Gini=0.3
N1 N2
C1 4 2
C2 4 0
Gini=0.4 N1 N2
C1 3 4
C2 3 0
Gini=0.3
Index Gini d'une partition Principes de recherche dans
l'espace d'hypothèses (ID3)
Principes de recherche dans l'espace d'hypothèses (ID3)
Une seule hypothèse est solution
Pas de backtrack
Biais : recherche de l'arbre de plus court
Pourquoi rechercher l'arbre le plus court?
+
Règles plus courtes, plus compréhensibles, plus simples
Une hypothèse courte a peu de chances d'être une coincidence
Une hypothèse longue qui correspond parfaitement aux données a des chances d'être une coincidence -
Difficile de définir une hypothèse courte
Que peut-on dire des ensembles de faible volume basés sur des hypothèses courtes?
Divers problèmes
Eviter la sur-évaluation
Traiter les variables continues
Traiter les valeurs manquantes
Attribuer des coûts différents pour certains attributs
Sur-évaluation (Overfitting)
Si on ajoute du bruit au jeu de données
age?
etudiant degSolvabilité
<=30 >40
non oui non oui
31..40
non oui excellent bon
degSolvabilité
non oui
bon excellent
Sur-évaluation (Overfitting)
Sur-évaluation de l'ensemble d'apprentissage : une hypothèse est meilleure qu'un autre sur l'EA, mais moins bonne sur l'ensemble des données
données bruitées et d'anomalies
combinatoire très importante l'arbre de décision
arbres trop complexes, incompréhensibles qui peuvent outre-passer les données
mauvaise prédiction sur des exemples nouveaux
Solution : Elaguer (pruning)
Sur-évaluation (Overfitting)
Soit une hypothèse h
sur l'ensemble d'apprentissage: errortrain(h)
sur l'ensemble D des données: errorD(h)
Hypothese h sur-évalue l'EA s'il existe une autre hypothese h’∈H telle que
errortrain(h) < errortrain(h’) et
errorD(h) > errorD(h’)
Sur-évaluation (Overfitting)
Elagage
Pour éviter l'over-fitting
arrêter le développement vertical de l'arbre (pré-élagage)
développer l'arbre puis l'élaguer (post-élagage)
Minimum description length (MDL):
minimiser
size(tree) + size(misclassifications(tree))
Pré-élagage
appliquer des règles qui limitent la profondeur des branches, par exemple
fixer un seuil limite du nombre de noeuds au dessus duquel un chemin ne peut plus être développé
fixer un seuil limite du nombre d'enregistrements en dessous duquel un nœud ne peut plus être éclaté
Post-élagage
Développer l'arbre à son maximum
puis, élaguer des branches jusqu'à leur taille minimum pour ne pas compromettre leur valeur, par exemple
utiliser une heuristique ou l'intervention de l'utilisateur, par exemple, utiliser un ensemble de données différent de l'ensemble d'apprentissage pour tester si un sous-arbre améliore
suffisamment l'exactitude entière (estimer le taux d'erreur)
Extensions de l'algorithme de base
traiter les variables continues
discrétisation en un ensemble d'intervalles
gérer les valeurs manquantes
les remplacer par la valeur la plus fréquente
assigner une probabilité pi à chaque valeur possible, assigner une fraction pi des exemples à chaque sous-nœud
Taux d'erreur
Taux d'exemples mal classés
taux d'erreur apparent : sur l'ensemble d'apprentissage estimation du taux d'erreur réel : sur un ensemble de test ET doit être issu du même ensemble que EA
et
doit refléter la population à laquelle le classifieur doit être appliqué en termes de distribution
Un ET n'est pas toujours disponible
Alternative à l'éclatement EA/ET : Validation croisée
Estimation du taux d'erreur
diviser l'ensemble des données en ensemble d'apprentissage (2/3) et ensemble de test (1/3)
utiliser la validation croisée (cross-validation)
utiliser toutes les données dans l'ensemble d'apprentissage
Validation croisée
Principe
l'ensemble des exemples est partitionné en k parties d'effectifs égaux
apprentissage et test en k étapes
à chaque étape :
utiliser k-1 parties comme EA et 1 comme ET(k-fold cross-validation)
calculer le taux d'erreur ek
taux d'erreur estimé : moyenne des ek
on prend souvent K=10
Différentes erreurs
prédire un exemple dans C alors qu'il appartient à non C prédire un exemple dans non C alors qu'il appartient à C Vrai positif (True Positive) :
exemple prédit dans C et appartenant à C Vrai négatif (True Negative) :
exemple prédit dans nonC et appartenant à nonC Faux positif (False Positive) :
exemple prédit dans C et appartenant à nonC Faux négatif (False Negative) :
exemple prédit dans nonC et appartenant à C
Matrice de confusion
C C
C TP FN
C FP TN
€
FP + FN TP + FP + TN + FN
P N
P TP FN
N FP TN
Matrice de confusion
Mesures et objectifs
diagnostic médical : classer un sujet dans la classe dans laquelle il a la probabilité la plus grande de se placer
on recherche Ci de manière à avoir p(Ci/H) maximum
test médical : comparer le taux de sujets non malades dont le test est positif au taux des sujets malades dont le test est négatif
accord de crédit : identifier la proportion des clients qui deviennent "à risque" alors que le crédit leur a été accordé
Sensibilité, Recall, Précision, …
A C
Sensibilité (Se), Recall, Taux de TP,
Spécificité (Sp), Taux de TN
Taux de FP
Précision
Différents coûts d'erreur
exemples :
accord de crédit
prévision de consommation électrique
diagnostiques
. . .
pondérer différemment les erreurs : FN ou FP
Mesures standard
Correctly Classified Instances 579 84.7731 % Incorrectly Classified Instances 104 15.2269 % Total Number of Instances 683
=== Detailed Accuracy By Class ===
TP Rate FP Rate Precision Recall F-Measure Class 0.85 0.018 0.586 0.85 0.694 diaporthe-stem-canker 1 0 1 1 1 charcoal-rot 0.95 0 1 0.95 0.974 rhizoctonia-root-rot
Arbres de décision : Avantages
sont peu coûteux à construire : ils font peu de parcours des données et supportent de nombreuses variables prédictives
facilement interprétables
efficaces dans le cas d'une majorité de variables qualitatives
ont une valeur prédictive comparable aux autres méthodes dans la plupart des applications
Inconvénients
critère naïf pour le choix de l'attribut de partitionnement :
ce critère ne tient pas compte des incidences produites sur les partitionnements ultérieurs
le choix n'est pas remis en question
le processus est
séquentiel donc un partitionnement dépend toujours du précédent
univarié (il ne s'intéresse qu'à une variable à chaque nœud)
donc limitation du nombre de règles explorées et détection difficile des relations entre attributs
les algorithmes comme ID3 ou C4.5 nécessitent des données stockées en mémoire
C5.0
construit l'arbre " en profondeur d'abord"
utilise GainRatio
nécessite que la base entière réside en mémoire
Adaptation au Data Mining
BD : des millions d'exemples et des centaines d'attributs
Approches Data Mining:
SLIQ (Mehta et al. 1996)
construit un index pour chaque attribut ; seules la liste de classes et la liste-attribut courante sont en mémoire
SPRINT (J. Shafer et al. 1996)
construit une liste-attribut qui contient la classe RainForest (Gehrke, Ramakrishnan & Ganti 1998)
s'adapte à l'espace mémoire disponible
construit une liste AVC (attribut-valeur, classe) indiquant la distribution dans les classes de chaque attribut
A.
Principes
B.
Classement par induction d’arbres de décision
C. Approche probabiliste - Classifieurs Bayésiens D.KNN
E.
Approche par rétro-propagation
F.Approche évolutionnaire
G.
Approche par règles d’association
Classification supervisée
Approche probabiliste - Classifieurs Bayésiens
Classifieur statistique qui prédit la probabilité pour un exemple d'appartenir à une classe
basé sur la Théorie de Bayes (probabilités conditionnelles)
approche la plus utilisée pour certains types d’apprentissage, car
aussi performante que arbres de décision et réseaux de neurones
deux formes : Classement naïve, Classement par Réseaux bayésiens
Intérêt des méthodes bayésiennes
fournissent une perspective utile pour comprendre des algorithmes d’apprentissage qui ne manipulent pas explicitement des probabilités
sont incrémentales: chaque exemple dans EA peut augmenter ou réduire la probabilité qu’une hypothèse soit correcte ; une hypothèse n’est pas éliminée car
inconsistante avec un seul exemple
Inconvénients
nécessitent une connaissance initiale de nombreuses probabilités
Si elles ne sont pas connues à l’avance, elles sont souvent estimées à l’aide de la
connaissance du contexte, des données disponibles et de suppositions sur la forme des distributions sous-jacentes
nécessitent un temps de calcul important pour déterminer l’hypothèse optimale
Théorème de Bayes
étant donné deux évènements X et Y, la probabilité conditionnelle de X sachant Y, notée P(X/Y) vérifie :
en classement, on cherche à évaluer P(H/D) où H est une hypothèse et
D représente les données de l’ensemble d’observations (EA) P(H) appelée probabilité a priori,
interprétée comme la probabilité initiale que H soit vraie sans avoir observé l’ensemble d’apprentissage traduit une éventuelle connaissance du contexte
Exemple
Deux hypothèses
H1 : contracter la maladie H2 : ne pas contracter la maladie
Les observations : résultats de tests Positif ou Négatif Sur la population :
0.8% ont la maladie Le test de lab. retourne
un résultat positif correct dans seulement 98% des cas un résultat négatif correct dans seulement 97% des cas Un nouveau patient pour lequel le test retourne Positif Quel diagnostic peut-on faire?
Solution : P(H1/positif) maximum?
P(positif/malade)=0.98 P(malade)=0.008 P(négatif/non_malade)=0.97 P(positif/non_malade)=0.03 P(négatif/malade)=0.02
P(malade/positif)=
P(positif/malade)*P(malade)/P(positif)
P(positif/malade)*P(malade)=0.98*0.008 = 0.0078
P(non_malade/positif) =
P(positif/non malade)*P(non_malade)/P(positif) P(positif/non malade)*P(non_malade)=
0.003*0.992= 0.00298 HMAP=malade
pour le classement : l'objectif est de classifier, dans une classe C, un exemple défini par une conjonction de termes attributs-valeurs A1, ..., Ap sur les attributs prédictifs i.e maximiser la probabilité suivante :
le théorème permet d’écrire :
Théorème de Bayes et Classement
Calcul des probabilités a posteriori
P(A1∧…∧ Ap) est le même pour toutes les classes
P(C) fréquence relative de chaque classe
P(C/A1∧…∧ Ap) maximum ssi P(A1∧…∧ Ap/C)·P(C) maximum mais calcul de P(A1∧…∧ Ap/C) très coûteux
Classifieur de Bayes naïf
basée sur l'hypothèse que les variables A1, ..., Ap sont indépendantes 2 à 2
(I)
Un exemple est classifié dans C si est maximum
réduit le temps de calcul de manière significative Le nombre de calculs à effectuer est égal au produit : Nombre de valeurs d’attributs prédictifs
*
Nombre de valeurs d’attribut-cible Algorithme
- calcul des P(Cj) et P(Ai/Cj) à partir des fréquences de ces éléments dans l’EA pour chaque classe Cj
- ensuite un nouvel exemple est classifié en appliquant la formule (I)
Classifieur de Bayes naïf
Classifieur de Bayes naïf
P(achète_ordinateur/age<=30 ∧ revenu=moyen ∧ étudiant=non ∧ deg_solvabilité=bon) est maximum ssi p1=P(achète_ordinateur)
*P(age<=30/achète_ordinateur)
*P(revenu=moyen/achète_ordinateur)
*P( étudiant=non/achète_ordinateur)
*P( deg_solvabilité=bon/achète_ordinateur) est maximum p1=9/14 *2/9*4/9*3/9*6/9=0.141
Comment peut-on conclure?
Réponse
On calcule p2=P(¬achète_ordinateur)
*P(age<=30/ ¬ achète_ordinateur)
*P(revenu=moyen/ ¬ achète_ordinateur)
*P( étudiant=non/ ¬ achète_ordinateur)
*P( deg_solvabilité=bon/ ¬ achète_ordinateur) p2 = 5/14*3/5*2/5*4/5*2/5=0.274
Le classifieur de Bayes naïf assigne la classe
¬achète_ordinateur à cet exemple
Question
Une personne sur mille est un génie.
Un test de QI est positif si la personne est un génie, négatif sinon.
Le test n’est pas fiable à 100%
génie normal positif 0.99 0.10 négatif 0.01 0.90 Une personne passe le test, résultat positif.
Quelle est la probabilité pour que cette personne soit réellement un génie ?
Classifieur de Bayes naïf
pas de recherche explicite dans l’espace des solutions mais
calcul de fréquences des combinaisons variées dans l’EA nécessite le calcul préalable de nombreuses probabilités repose sur l’hypothèse d’indépendance des variables réduit la complexité si les variables sont corrélées
Réseaux bayésiens
un réseau bayésien décrit des hypothèses
d’indépendance conditionnelle qui s’appliquent à des sous-ensembles de variables,
accompagnées de probabilités conditionnelles graphe orienté acyclique
Nœud - variable
Arc – dépendance entre variables la structure du réseau peut être
connue à l’avance ou
inférée à partir des données
Réseaux bayésiens
Un réseau bayésien est utilisé pour inférer la distribution de probabilité d’une variable cible, prédisant la probabilité de chaque classe, étant donnée la valeur d’autres variables
P(FeuDeForet=vrai)= P(FeuDeForet=vrai/parents(FeuDeForet))=
P(FeuDeForet=vrai/Orage, FeuDeCamp, Eclairs)
difficile si toutes les variables n’ont pas des valeurs connues
solutions approximatives : méthode du gradient
Réseaux bayésiens
Autre exemple
Classification de pannes d'ordinateurs
Couleur de voyant (Rouge, Vert)
Équipement défaillant (UC,MC,PE)
Envoie d'un dépanneur selon la classe
Calcul de probabilités sur le training set
Exemple de réseau
Rouge Vert
Voyant
Panne
UC MC PEDépanneur
Pierre PaulRouge
?
0.32 0.68
0.12 0.44 0.44
0.09 0.09 0.82
0.70
0.60 0.40
0.30 0.
50 0.50
Intérêt des classifieurs Bayésiens
Classifieurs bayésiens naïfs et
Réseaux bayésiens
sont basés sur le calcul des probabilités a posteriori
permettent de calculer une probabilité a posteriori à une hypothèse candidate en se basant sur la probabilité a priori et les données observées
A.
Principes
B.
Classement par induction d’arbres de décision
C.Approche probabiliste - Classifieurs Bayésiens
D. Lazy approaches : KNN, KBRE.
Approche par rétro-propagation
F.Approche évolutionnaire
G.
Approche par règles d’association
Classification supervisée
Apprentissage basé sur les instances
lazy evaluation methods
Les exemples de l’EA sont stockés et le processus d’évaluation est retardé au moment où un nouvel exemple doit être classifié
Par exemple, les méthodes suivantes :
k-nearest neighbors
Raisonnement à base de cas
Algorithme k-Nearest Neighbor
ne construit pas un classifieur
conserve tous les exemples de l'EA
peut être très lent
accorde la même importance à tous les attributs
Algorithme k-Nearest Neighbor
Apprentissage par analogie
chaque exemple est représenté par un point dans l’espace de dim n
k-nearest neighbour : pour un nouvel exemple x, l’algorithme cherche k exemples de l’EA les plus proches (distance euclidienne)
x est classifié dans la classe la plus représentée parmi les K voisins
_ + _
+ _ _ +
_ _
+
. . .
. .
Classement
Soumission d'un tuple inconnu Recherche des k plus proches voisins
Assignation de la classe la plus représentative parmi les k voisins
Vote majoritaire (classe la plus fréquente)
Plus grande similarité à la classe
…
Les attributs ont le même poids
centrer et réduire pour éviter les biaiscertains peuvent être moins classant que d'autres
Apprentissage paresseux
rien n'est préparé avant le classement tous les calculs sont fait lors du classement nécessité de technique d'indexation pour large BD
Calcul du score d'une classe
peut changer les résultats; variantes possibles
Raisonnement à base de cas (KBR)
Apprentissage par analogie
chaque exemple est représenté par une description symbolique complexe
pour un nouvel exemple x, l’algorithme cherche un cas identique dans l’EA
Si un cas identique est trouvé, il est retourné
Sinon, des cas similaires sont recherchés ( en termes de sous- graphes, par exemple) et sont combinés pour proposer une solution
problèmes ouverts
définir des métriques de similarité, des techniques d’indexation des cas de l’EA, des méthodes pour combiner les solutions
A.
Principes
B.
Classement par induction d’arbres de décision
C.Approche probabiliste - Classifieurs Bayésiens
D.KNN
E. Approche par rétro-propagation F.
Approche évolutionnaire
G.
Approche par règles d’association
Classification supervisée Réseaux de neurones - Retropropagation
apprendre un R.N : ajuster les poids à attribuer aux connexions de manière à prédire la classe d'un exemple apprentissage connexionniste
algorithme le plus utilisé : retropropagation (1980) permet l'apprentissage d'un réseau multi-couches appliqué à de nombreux cas pratiques (reconnaissances de
formes, caractères, mots)
Réseau de neurones
Tentative de reproduction des structures du cerveau afin de raisonner
Ensemble d'unités transformant des entrées en sorties (neurones) connectées, où chaque connexion à un poids associé
La phase d'apprentissage permet d'ajuster les poids pour produire la bonne sortie (la classe en classification)
Σ wi Ei +b f Entrée E1
Entrée En
Sortie Entrée Ei
w1 w
i
wn
Un neurone
Induit un ensemble de valeurs en sortie à partir d'un ensemble de valeurs en entrée
Réalise une combinaison linéaire des entrées suivie d ’une fonction de transfert
Fonction Sigma (Σ wi Ei)
Biais optionnel b
Fonction Sigmoïde f(Σ) = 1/(1+e- Σ)
Data Mining : Concepts et Techniques - 3- Modélisation prédictive 153
Un neurone
Le vecteur x en entrée est transformé en sortie y par le moyen de la fonction f
f
Somme pondérée Vecteur x
en entrée
Sortie y Fonction
d'activation Vecteur des
poids w
∑
w0 w1 wn x0
x1 xn
Biais
Retropropagation
Les entrées
correspondent aux attributs des exemples Elles sont placées sur
une couche (input layer) et alimentées simultanément Les sorties du niveau
entrée alimentent un niveau caché …
Apprentissage
Découverte de modèles complexes avec affinage progressif
Le réseau s'adapte lors de la phase d ’apprentissage
Plusieurs algorithmes possibles
le plus utilisé = rétropropagation
modification des poids w
ipar rétropropagation
Topologie
Choix du nombre de couches
entrées, 1 ou 2 couches cachées, sortiesChoix du nombre de neurones par couche
dépend des entrées et sorties couches cachées intermédiaires
Normalisation des variables d'entrées
Variable continue centrée réduite [-1,+1]
Variable discrète codée ou valeurs attribuées aux entrées
Sorties booléenne codant les classes
Rétropropagation
Initialiser les poids et les biais
tirage aléatoire sur [-1,+1]Propager les entrées en avant
Un exemple est appliqué aux entrées Le réseau calcul les sortiesPropager les erreurs en arrière
Sortie devant délivrer T: Err = O(1-O)(T-O) Cellule cachée : Err = O(1-O) Σk wk*Errk
Corriger poids et biais de sorte à réduire les erreurs
Δwij = λ*Errj*Oi ; Δbj = λ*Errj
Apprentissage par retropropagation
Objectif
Obtenir un ensemble de poids qui permettent de classifier correctement presque tous les exemples de l'EA
Etapes
initialiser les poids aléatoirement
introduire un tuple à la fois
pour chaque neurone
calculer l'entrée comme fonction linéaire des entrées
calculer la sortie à l'aide de la fonction d'activation
calculer l'erreur
mettre à jour les poids et le biais par retro-propagation
Retropropagation des erreurs
wjk Oj
Interprétation d'un RN
Interprétation difficile
Méthodes d'extraction de règles :
élagage : suppression de liens ayant un moindre effet sur l'exactitude de la Classement
regroupement des valeurs d'activation communes recherche de règles liant les valeurs d'activation et la sortie recherche de règles liant les valeurs d'activation et l'entrée combinaison des deux pour obtenir des règles liant entrée et
sortie
Avantages – Inconvénients des RN
Avantages
valeur prédictive en général élévé
robuste
variable de classe à valeurs discrètes, réelles, vectorielles
Inconvénients
temps d'apprentissage assez long
difficulté d'interprétation
difficulté à incorporer la connaissance du domaine
A.
Principes
B.
Classement par induction d’arbres de décision
C.Approche probabiliste - Classifieurs Bayésiens
D.KNN
E.
Approche par rétro-propagation
F. Approche évolutionnaireG.
Approche par règles d’association
Classification supervisée
Méthodes évolutionnaires
Algorithmes évolutionnaires
Algorithmes génétiques
Algorithmes génétiques et Data Mining
Méthodes évolutionnaires
Algorithmes évolutionnaires
Algorithmes génétiques
Algorithmes génétiques et Data Mining
Algorithmes évolutionnaires
inspirés de la théorie de l'évolution des espèces et de la génétique
basés sur le concept de sélection naturelle élaboré par Charles Darwin (1859)
vocabulaire :
individu (solution potentielle, règle, …)
population
gènes
chromosomes
parents, descendants
reproduction, croisement, mutation
Sélection naturelle
apparition, par hasard, de nouvelles espèces due à la sélection de variations individuelles
les individus les plus adaptés tendent
à survivre plus longtemps
à se reproduire
Algorithmes évolutionnaires Algorithmes évolutionnaires
approche originale
ne recherchent pas une solution analytique exacte ou une bonne approximation numérique,
ne permettent pas de trouver à coup sûr la solution optimale de l’espace de recherche,
mais fournissent des solutions qui sont généralement meilleures que celles obtenues par des méthodes plus classiques, pour un même temps de calcul
Algorithmes évolutionnaires
(Evolutionnary computation)
Algorithmes génétiques
Programmation génétique
Programmation évolutionnaire
Stratégies d’évolution
Méthodes évolutionnaires
Algorithmes évolutionnaires
Algorithmes génétiques
Algorithmes génétiques et Data Mining
Algorithmes génétiques (AG)
développés par J.H. Holland (années 60)
basés sur la théorie de l’évolution et génétique moderne
utilisent un codage des paramètres et non les paramètres eux_mêmes
n'utilisent que les valeurs de la fonction (d'évaluation) étudiée
utilisent des règles de transition probabilistes et non déterministes
Codage
variables codées en binaire
sous forme de gènes dans un chromosome
opérateurs génétiques (croisement, mutation) appliqués aux chromosomes
Codage
Codage des variables :
définir et de coder le problème
une variable d’optimisation xi --- un gène.
une allèle --- valeur d'un gène
un site (locus) --- position dans le chromosome
un chromosome --- ensemble de gènes
un dispositif est représenté par un individu (individual) constitué d’un chromosome
population = ensemble de N individus qui sont destinés à évoluer
Métaphore
Un problème à résoudre
un individu une solution
fonction d'évaluation (fitness ) mesure de
profit, d'utilité, de qualité à maximiser
Codage Exemples
Applications
optimisation de fonctions numériques difficiles (discontinues, multimodales, bruitées…),
traitement d’image (alignement de photos satellites, reconnaissance de suspects…),
optimisation d’emplois du temps,
optimisation de design,
optimisation de réseaux (câbles, fibres optiques, mais aussi eau, gaz…)
apprentissage des réseaux de neurones
apprenstissage de classifieurs
data mining
Fonctionnement d'un AG
1. codage du problème sous forme d'une chaîne binaire 2. génération aléatoire d'une population ( ensemble de
solutions possibles)
3. calcul d'une valeur de fitness pour chaque individu 4. sélection des individus devant se reproduire selon leur
valeur de fitness
5. croisement et mutation produisent un nouvelle génération
6. itération à partir de 3 avec la nouvelle population
Sélection – Elimination
génération : population à un instant t donné
évaluation de la génération
sélection à partir de la fonction de fitness
les individus sélectionnés se reproduisent
Sélection - Recombinaison
Croisement
Nouvelle chaîne 1
Nouvelle chaîne 2 descendant (offspring) Site decroisement
Chaîne 1
Chaîne 2 (parent)
Mutation
reproduction et croisement à la base des AG
au sein d'un pool génétique donné, il est possible que la solution recherchée ne soit pas présente
l'opérateur de mutation permet l'émergence de nouvelles configurations génétiques, en élargissant le pool, ces mutations améliorent les possibilités de trouver une solution optimale
Mutation
Site demutation
Chaîne Nouvelle chaîne
Le croisement
favorise l’exploration de l’espace de recherche
considérons deux gènes A et B pouvant être améliorés par mutation
il est peu probable que les deux gènes améliorés A’ et B’
apparaissent par mutation dans un même individu. Mais l’opérateur de croisement permettra de combiner rapidement A’ et B’ dans la descendance de deux parents portant chacun un des gènes mutants
Squelette d’un A.G. Démonstrations
Optimisation de formes géométriques
Optimisation de la forme d'une lentille optique
Optimisation de
Le problème du voyageur de commerce
Optimisation de la forme d'une
lentille Optimisation de la forme d'une
lentille
Optimisation de la forme d'une
lentille Problème du voyageur de
commerce
Problème d'optimisation classique :
étant donné une liste de villes, un voyageur de commerce doit passer dans chacune une seule fois
recherche du trajet le plus court possible
énumération exhaustive exclue : N villes
N-1 possibilités pour la seconde étape N-2 pour la troisième
(N-1)! combinaisons
un AG trouve trouve une très bonne solution en testant seulement quelques milliers de solutions
Paramètres de l'algorithme génétique :
individu : chaîne qui représente un trajet valide dans laquelle chaque gène représente une
ville
et deux gènes ont des valeurs différentes
fitness : distance parcourue sur un trajet
Problème du voyageur de
commerce Algorithmes génétiques et Data
Mining
optimisation de paramètres pour des algorithmes d'extraction
déterminer un "bon" ensemble de poids pour un RN
déterminer un "bon" ensemble d'attributs pour un algorithme de classification . . . ou
algorithmes d'extraction
Découverte de règles IF . . . THEN
classification
association
Quelle sorte de population est manipulée?
Quels sont les individus?
Comment est construite la fitness?
Quels critères doit-elle optimiser?
AG = algo d’extraction?
Conventions
une règle candidate R ---- un individu
qualité d'une règle R ---- fitness(R)
les critères pris en compte dépendent de la tâche d'extraction
AG et extraction de règles
Exemple
IF Age=“31..40” AND Revenu = élevé THEN Solvabilité = bon
AG et extraction de règles
IF Age=“31..40” AND Revenu = élevé THEN DegSolvabilité = bon
Age = "<=30" codé 100 Age = “31..40” codé 010 Age = “>40” codé 001 (codage de position)
Codages des règles
Un individu
peut représenter
une règle de classification simple
une formule du premier orde
un ensemble de règles
peut être de longueur fixe ou variable
code un gène pour un attribut
exemple
gène K attribut Ak
wk = 0 ou wk=1 permet de faire varier la longueur de la règle
Ok opérateur > < = ≠ ∈ ∉ ⊂
Vk ensemble de valeurs du domaine de l'attribut Ak