Data Mining et Reconnaissance des Formes
Data Mining et Reconnaissance des Formes
2
La maturité
scientifique
Reconnaissance des Formes
Intelligence Artificielle
Data
Analyse de Données
Mining
Bases de Données
Réseaux
3
1945 2000 2002
Représentation et manipulation de connaissances symboliques
Systèmes de mémorisation et de stockage de l’information
Intelligence Artificielle
Base
s de
Don
ux
sea
nées
L’édifice cognitif
4
Ré
stockées dans des
bases de données …
Analyse de
données…
pour la
reconnaissance/découverte
de structures/connaissances La spirale
technologique5
Exploration
de
Data
données
Mining
Fouille
de
Données
KDD ?
6
Comment détecter des ressemblances, des structures, des motifs a priori ?
Jean-Paul
Samia
Lin
Samy
7
8
Système de Reconnaissance de Formes Classique
Monde Pré-
Physique Codage traitements Analyse
Apprentissage Décision
Interprétation
9
A Apprentissage
B Décision
Décision
Normalisation
ag
ss
Squelettisation
nti
Segmentation
pre
Ap
«3»
avec un score de
0.6
11
Dans le cas NON supervisé, les techniques spécifiques utilisées sont typiques des
applications dites de Fouille de Données
• Classification
• Segmentation
12
Un problème typique visuel qui pourrait relever de la problématique de la Fouille de
Données plus que Reconnaissance des Formes
Alors sans intervention de type supervisé (cad sans apprentissage avec exemples), le système parvient à détecter (structurer, extraire) la
présence de 10 formes différentes sans forcément les reconnaître, ou bien de 4 scripteurs différents sans forcément les identifier dans un
premier temps :
13
Outre le paradigme de Reconnaissance des Formes, cette intégration nouvelle ou ce paradigme
nouveau est la résultante de problématiques arrivées à maturité ou à leur limite comme :
Créer une intelligence des systèmes, avec les potentialités de chacun des outils technologiques
intégrés -> le rêve de système pensant plus que pensé
Différence de points de vue entre : SELECTIONNE moi les NOMS des CLIENTS ayant
acheté du NUTELLA et du SAVON (requête de type SQL) et je (le logiciel) te (l’utilisateur du
logiciel) fais remarquer que les clients qui achète du Nutella achètent aussi du Savon
14
Système Expert Classique
15
Base de Données Classique
16
applicat ion 1 applicat ion 2
LES VUES EXTERNES
Les Virtuelles … côté client
dans le cadre du OLTP classique
PROD_VINS EXPEDITIONS
18
OLTP versus OLAP
Caractéristiques OLTP OLAP
19
Motivations des entreprises
• Besoin des entreprises
–accéder à toutes les données de l’entreprise
–regrouper les informations disséminées dans les bases
–analyser et prendre des décisions rapidement (OLAP)
21
Architecture type
Présentation
Datawarehouse
Exploration Analyse
Client Client
BD
décisionnel décisionnel
Entrepôt
Médiateur
Transformation, Fusion
Extraction, Filtrage
Moniteur/Adapteur Moniteur/Adapteur
Bases de
production
Data Marts
SGBD
relationnel
Outils Outils
d’alimentation d ’extraction Bases
Bases externes relationnelles
23
Modélisation multidimensionnelle
•Dimensions:
–Temps
–Géographie
–Produits
–Clients
–Canaux de ventes.....
•Indicateurs:
–Nombre d’unités vendues
–CA
–Coût
–Marge.....
24
Le data cube et les dimensions
Axe d'analyse: La géographie
(Pays - région - ville)
Variables analysées:
Nb unités, CA, marge...
Région
Temps en semaines
Réduction selon 1 dimension
Produits Zoom selon une dimension
France
28
Qu ’est-ce-que le data mining ?
• Data mining
–ensembles de techniques d'exploration de données afin d'en tirer
des connaissances (la substantifique moelle) sous forme de modèles
présentées à l ’utilisateur averti pour examen
Données Data
entrepôt mining Connaissances
Découverte de Compréhension
modèles Prédiction
• Connaissances
–analyses (distribution du trafic en fonction de l ’heure)
–scores (fidélité d ’un client), classes (mauvais payeurs)
–règles (si facture > 10000 alors départ à 70%)
29
Mécanismes de base
•Déduction : base des systèmes experts
–schéma logique permettant de déduire un théorème à partir
d'axiomes
–le résultat est sûr, mais la méthode nécessite la connaissance de
règles
•Induction : base du data mining
–méthode permettant de tirer des conclusions à partir d'une série
de faits
–généralisation un peu abusive
–indicateurs de confiance permettant la pondération
30
Découverte de modèles
•Description ou prédiction
Confiance
Entrées
Sortie
32
A ce compte là, il ne s’agit plus d’apprendre donc de reconnaître mais déjà de comprendre donc de structurer
33
Comment analyser, visualiser, structurer des grandes masses de données réparties, hétérogènes
>cDNA inconnu
AATGCAAGTGCATGCATGCATGCATCGGATCGTACGGATTGCAGTTCGGATTCATAATAA
ATGCGTAAAAACAGTAGTTTCACTAGTTTCAAAAGTTGCATAATACTTGCTGTTCTTCTT
GTTTACCCTAACAGTATGGCTGTTTTCGCTGTTGCTGCTGACGGTATACCTTTCCCTTAC
CACGCTAAATACAGTAACGGTGCTATAAGTCCTCTTCACGTTACTCAAAGTAGTGGTAAC
AGTAGTGTTAAAGCTGAATGGGAACAATGGAAAAGTGCTCACATAACTAGTGACCTTAAC
GGTGCTGGTGGTTACAAATACGTTCAACGTGACATAAACGGTAACACTGACGGTGTTAGT
GAAGGTCTTGGTTACGGTCTTATAGCTACTGTTTGCTTCAACGGTGCTGACAGTAACGCT
CAAACTCTTTACGACGGTCTTTACAAATACGTTAAAAGTTTCCCTAGTGCTAACAACCCT
AACCTTATGGGTTGGCACATAAACAGTAGTAACAACATAACTGAAAAAGACGACGGTATA
GGTGCTGCTACTGACGCTGACGAAGACATAGCTGTTAGTCTTATACTTGCTCACAAAAAA
TGGGGTACTAGTGGTAAAATAAACTACCTTAAAGCTGCTCGTGACTACATAAACAAAAAC
ATATACGCTAAAATGGTTGAACCTAACAACTACACTCTTAAACTTGGTGACATGTGGGGT
GGTAACGACTTCAAAAACGCTACTCGTCCTAGTTACTTCGCTCCTGCTCACCTTCGTATA
TTCTACGCTTACACTGGTGACAAAGGTTGGATAAACGTTGCTAACAAACTTTACACTACT
GTTAACGAAGTTCGTAACAAATACGCTCCTAAAACTGGTCTTCTTCCTGACTGGTGCGCT
GCTAACGGTACTCCTGAAAGTGGTCAAAGTTTCGACTACGACTACGACGCTTGCCGTGTT
CAACTTCGTACTGCTATAGACTACAGTTGGTACGGTGACGCTCGTGCTGCTGCTCAAAGT
GACAAAATGAACAGTTTCATAGCTGCTGACACTGCTAAAAACCCTAGTAACATAAAAGAC
GGTTACACTCTTAACGGTAGTAAAATAAGTAGTAACCACAGTGCTAGTTTCTACAGTCCT
GCTGCTGCTGCTGCTATGACTGGTACTAACACTGCTTTCGCTAAATGGATAAACAGTGGT
TGGGACAAAGTTAAAGACAGTAAAAAATACGGTTACTACGGTGACAGTCTTAAAATGCTT
ATAATGCTTTACATAACTGGTAACTTCCCTAACCCTCTTAGTGACCTTAGTAGTCAACCT
AGTCCTGGTGACCTTAACGGTGACGGTGAAATAGACGAACTTGACATAGCTGCTCTTAAA
AAAGCTATACTTAAACAAAGTACTAGTAACATAAACCTTACTAACGCTGACATGAACCGT
GACGGTGCTATAGACGCTAGTGACTTCGCTATACTTAAAGTTTACCTTTAAT
34
35
Tableau 1. Tableau récapitulatif des base de données biologiques accessibles sur l'Internet.
Biomedical PubMed [Link]/entrez/[Link]
literature
Nucleic acid GenBank Idem
sequence
SRS at EMBL/EBI [Link]
Genome Sequence Entrez Genome
[Link]/tdb
TIGR databases
Protein sequence GenBank
SWISS-PROT at [Link]/spro/
ExPASy
PIR [Link]
Protein Structure Protein Data Bank [Link]/pdp/
Entrez Structure DB
Protein and peptide PROWL [Link]
mass spectroscopy
Biochemical PathDB
pathways KEGG [Link]/kegg/
WIT [Link]
Microarray Gene Expression [Link]
Links
…
36
Un système d’Extraction de Connaissances
Rough Clear
Information Information
37
Les étapes du processus de KDD
• Comprendre le domaine d’application
• Sélection d’un ensemble de données
• Nettoyage et pré-traitement des données (peut prendre 60% de
l’effort)
• Choix des fonctionnalités du data mining
– classification, consolidation, régression, association,
clustering.
• Choix de(s) l’algorithme(s) d’extraction
• Data mining : Recherche des motifs (patterns) intéressants
• Évaluation des Patterns et présentation
– visualisation, transformation, suppression des patterns
redondants, etc.
• Utilisation de la connaissance extraite 38
Des techniques issus de l’IA et de la RF
• SQL • FTP
• TCP/IP • Php / mySQL
Nous cherchons ici à en donner une idée et à en dégager les points communs qui sont le
propre de la méthodologie de la Fouille de Données.
Un fait remarquable en FD est que chaque application fait appel à plusieurs techniques
parmi celles présentées ici, avec une interrelation parfois surprenante où l’invention
et le flair de l’ingénieurs sont rois.
40
Des algorithmes
Un cocktail de techniques
41
Des algorithmes
D’inspirations …
Mathématiques : stat. et AD
Calculatoires
Biologiques
42
Des algorithmes
Calculatoires
« Clustering »
Arbres de décision
Règles d’association
Programmation dynamique
Biologiques
Réseaux de neurones
Algorithmes génétiques
43
Des algorithmes
Non Supervisés
Apprentissage a priori en mode Découverte
« Clustering »
Algorithmes génétiques
Règles d’association
Supervisés
Apprentissage a posteriori en mode Reconnaissance -
Prédiction
Réseaux de neurones
Arbres de décision
Programmation dynamique 44
Cas pratique avec les mains
Cas de marketing classique : identification de profils de clients et
organisation d'une campagne de marketing direct
Il s'agit d'un voyagiste organisant des circuits touristiques avec 5 types de
prestation (A,B,C,D et E). Son directeur marketing souhaite mettre en
place une politique de fidélisation.
Décomposition en sous-problèmes précis :
Fidéliser la clientèle ?
Clientèle ?
Objectifs :
1. Connaître les clients pour revoir les offres et la politique marketing.
2. Fournir à la cellule marketing opérationnelle et aux réseaux de
distribution une liste ciblée de clients par requête SQL, ce qui implique
45
des critères compréhensibles
Cas pratique avec les mains
Subjectif
49
Disciplines Synonymes
Biologie
Zoologie Apprentissage non supervisé
Psychiatrie Taxonomie
Sociologie Typologie
Géologie Partition
Géographie
50
Définition
Le clustering consiste à construire un classificateur intrinsèque, sans
classes connues a priori, par apprentissage à partir d’échantillons
donnés.
Le nombre de classes possibles est en général connu et on veut
construire le classificateur K : M->{1..c} partitionnant l’espace M des
mesures.
Hypothèse
Plus deux échantillons sont proches dans M, plus leur probabilité
d’appartenir à la même classe est grande.
51
ko/(largeur*hauteur)
? bmp gif
Format
%Contour
Ng moyen
52
Notion d'espace, de dimension ... Image∈CxNxF
Cadre numérique
Vecteurs de caractéristiques
V(x1,x2,x3,x4)
•m=1
• Cm={x1}
• For i=2 to N
Find Ck : d ( xi , Ck ) = min 1≤j≤m d(xi,Cj)
If ( d( xi , Ck ) > Θ ) AND ( m < q ) then
m = m+1
Cm = {xi}
Else
Ck = Ck ∪ {xi}
Where necessary, update representatives.
End {If}
• End {For}
Pattern Classification
• For i=1 to N
If xi has not been assigned to a cluster, then
Find Ck : d ( xi , Ck ) = min 1≤j≤m d(xi,Cj)
Remarque :
Ck = Ck ∪ {xi} new old
(nCk − 1)mCk +x
Where necessary, update representatives Si d(x, C) = d(x, m C ) alors m Ck
new
= new
nCk
End {If}
• End {For}
56
6
5 x1
x5
x2 Ordre :
4
x7
x1,x2,x3,x4,x5,x6,x7,x8
3 x8 x3
2 x4 x6
0
0 1 2 3 4 5 6 7
5 x1
x2
4 x5
x7
3 x8 x3
Ordre :
x1,x2,x5,x3,x8,x6,x7,x4 2 x4 x6
0
0 1 2 3 4 5 6 7
57
Notes sur l’algorithme ASB :
58
« Clustering »
59
« Clustering »
2 vecteurs de caractéristiques
2 ensembles de vecteurs de
caractéristiques
60
« Clustering »
Soit X = { x1 ,..., xN }
Soit X = { x1 ,..., x N }
∑ u ( x ) = 1,
j i i = 1,..., N
j =1
N
0 < ∑ u j ( xi ) < N , j = 1,..., m
Zadeh (1965) i =1
61
« Clustering »
Mesure de (dis)similarité
Mesures de
Mesure de (dis)similarité
proximité métrique ou Distance
Distinction importante surtout d’un point de vue thérorique et de propriétés
de convergence des algorithmes
d : X × X → ℜ telle que :
∀x, y ∈ X, d(x, y) ≥ 0
Mesure de d(x, x) = 0 ∀x ∈ X
d(x, y) = d(y, x) ∀x, y ∈ X
(dis)similarité
métrique d(x, y) = 0 ⇔ x = y
d(x, z) ≤ d(x, y) + d(y, z) ∀x, y, z ∈ X
62
A partir de maintenant,
〚 〛
Soit la matrice de n données suivantes : x 11 x 12 ... x 1f ... x 1p
On définit alors la matrice standardisée ... ... ... ... ... ...
des z-scores par : x i1 x i2 ... x if ... x ip
x if −m f ... ... ... ... ... ...
z if =
sf x n1 x n2 ... x nf ... x np
65
Exemple : Variables binaires
Une table de contingence pour données binaires
a= nombre de positions
Objet j où i a 1 et j a 1
1 0 Sum
1 a b a+b
Objet i 0 c d c+d
bc
d i , j =
abcd
68
Exemple : Variables binaires(II)
Exemple
Nom Sexe Fièvre Toux Test-1 Test-2 Test-3 Test-4
Jack M Y N P N N N
Mary F Y N P N P N
Jim M Y P N N N N
Sexe est un attribut symétrique
Les autres attributs sont asymétriques
Y et P ≡ 1, N ≡ 0, la distance n’est mesurée que sur les asymétriques
70
Exemple : Variables Ordinales
• Une variable ordinale peut être discrète ou continue
• L’ordre peut être important, ex: classement
• Par contre, l'écart entre deux valeurs n'est pas équivalent :
exemple, le degré de douleur de 1 à 10 : l'écart entre 5 et 7 n'a pas
la même signification qu'entre 7 et 9.
• Peut-être traitée comme “interval-scaled” (f est une variable)
– remplace xif par leurs rangs rif ∈{1,..., M f }
– mappe la dynamique de chaque variable sur [0, 1] en
remplaçant le i-ème objet dans la f-ième variable by
rif −1
zif =
Mf − 1
71
Exemple : Google ou Similarité entre
documents
Créer des moteurs de recherche comprenant le langage naturel
-> évolution de google au-delà des mots clés
-> le « text-mining » ou le « web-mining »
72
Etape 1 : Pour chacun des N termes du langage, création d'un Inverse Index qui stocke
pour chaque terme du langage les documents l'utilisant
• calcul du Document Frequency = nb doc utilisant ce terme / nb total de document
= df (Plus df grand, moins le terme a d'importance d'un point de vue informatif)
• soit idf = log (1/df)
Etape 2 : Pour chaque document,
•Pour chaque terme, calcul du Term Frequency (Plus tf est grand dans un document
plus ce terme doit être important par rapport au sujet du document)
•Calcul d'un vecteur caractéristique VSM :
• Pour i allant de 0 à N, VSM[i] = tf(terme i dans ce document)*idf(terme i)
• On normalise ce vecteur pour que ||VSM(document)||=1
77
« Clustering »
Valeurs floues
x1=(1,1)
x = ( xi ) i∈[1, N ] , xi ∈ [0,1] x3=(3/4,3/4)
s ( xi , yi ) = max( min (1 − xi ,1 − yi ) , min( xi , yi ) Zone d’incertitude
x4=(1/2,1/2)
1/ p x2=(1/4,1/4)
N
s F ( x, y ) = ∑ s ( xi , yi ) p
p
i =1
(0,0)
Propriétés :
s Fp max = N 1/ p et s Fp min = 0,5 N 1/ p sF(x1,x1) =
sF(x2,x2) = A comparer aux
distances
Si p → ∞ : sF(x3,x3) = euclidiennes !!
s F∞ ( x, y ) = max1≤i ≤ N s ( xi , yi ) sF(x4,x4) =
sF(x1,x3) =
Remarque : d F ( x, y ) = s F ( x, y ) sF(x2,x4) = 78
Finalement, dans le cas de mélanges de variables de différents types on
calcule une distance entre éléments à partir d'une moyenne pondérée
des distances définies pour chaque feature (ou dimension d'analyse ou
variable) : d'un point de vue mathématique, on parle de combinaison
linéaire, d'où en partie l'aspect matriciel des algorithmes
d(e1,e2)=
79
« Clustering »
N
∑℘( x, y)
y∈C
Dans le cas d' un cluster linéaire C,
on utilise l' hyperplan (droite) H
d' approximation optimale
a T x + a0
et d ( x, C ) = d ( x, H ) =
a
p
avec H : ∑ a j x j + a0 = a T x + a0 = 0
j =1 80
« Clustering »
℘ee max ( B, C ) = 8
nB nC ℘ee min ( B, C ) = 3
℘ ( B, C ) =
ee
℘(mB , mC )
nB + nC ℘ee moy ( B, C ) = 5,6
℘ee p ( B, C ) = 7,6
S(100,5) ≈ 1068
Si 10-12 secondes par cluster formé, il faudrait 1048 an/machine. Cela justifie le
développement d’algorithme “informé”
82
« Clustering »
3 Catégories d’algorithmes :
Séquentiels
Hiérarchiques
83
Définition
Ils forment une hiérarchie dans le sens que si deux échantillons sont
regroupés dans une même classe au niveau t, ils le seront à tous les
niveaux supérieurs à t.
84
Algorithme Hiérarchique Basique (AHB) :
• Repeat :
t = t +1
Among all possible pairs of clusters (Cr, Cs) in Rt-1 find the one, say
(Ci,Cj), such that Dis(Ci,Cj) = minr,s Dis(Cr,Cs)
85
Data Structures
• Data matrix
– (two modes) x11 ... x1f ... x1p
... ... ... ... ...
x ... xif ... xip
i1
• Dissimilarity matrix ... ... ... ... ...
– (one mode) x ... xnf ... xnp
n1
0
d(2,1) 0
d(3,1) d ( 3,2) 0
: : :
d ( n,1) d ( n,2) ... ... 0
86
7
6
x5 Matrice des Motifs
5
x4
1 1
4
x3
2 1
3
2 D( X ) = 5 4
x1 x2
6 5
1
6,5 6
0
0 1 2 3 4 5 6 7
87
x1 x2 x3 x4 x5
0
7
x5 1
6
x4 2
Echelle de dissimilarité
5
x3 3
4
3 4
2 5
x1 x2
1
6
0
0 1 2 3 4 5 6 7 7
8
9
10
1
x1 x2 x3 x4 x5 Les
0,9
0,8
Dendrogrammes
Echelle de similarité
0,7
Notion de durée de vie d’un cluster
0,6
0,5
0,4
0,3
0,2
0,1
0
88
Algorithme Hiérarchique Matriciel (AHM) :
• INPUT : S={x1,x2,…,xN}, Choose R0 = { Ci = {xi} , i = 1, …, N } as the initial clustering, t = 0,
P0 = P(X)
• Repeat :
t = t +1
Find (Ci, Cj) in Rt-1 such that Dis(Ci ,Cj ) = minr,s Dis(Cr,Cs)
Define the new proximity matrix Pt from Pt-1 (voir transparent suivant)
89
« Clustering »
Dis(Cq ,Cs) = ai Dis(Ci, Cs) + aj Dis(Cj, Cs) +b Dis(Ci, Cj) + c |Dis(Ci, Cs) – Dis(Cj, Cs)|
91
Effet de Chaîne
∑
2 2
Si er = x − mr est la variance du r ième cluster
x∈Cr
N −t
et E t = ∑ e r , cet algorithme forme la R t +1 partition en fusionnant les 2 clusters
2
r =1
93
dqs=aidis+ajdjs+bdij=||mq-ms||2
[Link]
3 clusters
8 clusters
95
« Clustering »
3 Catégories d’algorithmes :
Séquentiels
Hiérarchiques
96
97
Nuées Dynamiques
Algorithme
ISODATA
C-moyennes floues
98
Principe
les Nuées Dynamiques
99
Schéma numérique :
Algorithme itératif de type
ISODATA
Nombre de groupements C connu
100
Implémentation par les C-moyennes
Coefficient d ’appartenance uij dans [0,1]
V1 ui1=0.6
ui2=0.4
j =1 i =1
Dans le cas dur, si uij ∈ { 0;1} :
J m (U ;V ) = J (V ) 101
Algorithme ISODATA Dur (Nuées Dynamiques
ou K-Means ou C-moyennes) uij ∈ { 0;1}
n −1
• Si ∀ k , C n
k ≠ C k et n ≤ en
retourner n0 ,1
Sinon arrêt
102
« Clustering » Cas « Fuzzy » : uij∈ 0,1 [ ]
Dans le cas où m=2, minimisation de la fonctionnelle suivante
:
C N
J (U ;V ) = ∑∑ u d ( xi , V j ) 2
ij
2
j =1 i =1
En utilisant la formulation lagrangienne, on montre que
minimiser J revient à résoudre ce système couplé :
N ∂d ( xi , V j )
2
∑ uij 2
=0
i =1 ∂V j
1
urs = C d 2 ( x , V )
∑
j =1 d 2
i s
( xi , V j )
103
Algorithme ISODATA Flou (Nuées Dynamiques
ou K-Means ou C-moyennes) uij∈[0,1]
• INPUT : S={x1,x2,…,xN}, un nombre de classes C et un ensemble de noyaux initial V0i, i
= 1, …, C, itération t=1, nombre d’itérations maximum t0
Répéter
• Pour chaque valeur de i (de 1 à N),
1
Pour chaque valeur de j (de 1 à C), calculer uij (t ) = C d 2 ( xi , V j )
Fin pour
∑d
k=1
2
( xi , Vk )
Fin pour
• t =t+1
• Pour chaque valeur de j (de 1 à C),
N ∂d 2 ( xi , V j )
Résoudre ∑u
i =1
2
ij (t −1)
∂V j
=0
Fin pour
Tant que un critère d’arrêt n’est pas atteint
104
• OUTPUT : une classification floue U= u[i][j] pour i de 1 à N et j de 1 à C
« Clustering » Cas « Fuzzy » : uij∈ 0,1 [ ]
Dans le cas classique où on utilise la distance euclidienne
T
d ( xi , V j ) =( xi −V j ) ( xi −V j )
2
∑u 2
ij (t −1) xi
V j (t ) = i =1N
∑ ij (t −1)
u 2
i =1
106
« Clustering »
Algorithme des C-Moyennes Floues Exponentielles
(CMFE)
Prototypes : centroïdes Vj et
matrices de covariance floue Fj
N T
∑u 2
ij ( xi −V j )( xi −V j )
Fj = i =1
N
∑ ij
u 2
i =1
Distance : exponentielle de
[ det( F )]
1/ 2
1
( ) ( )
j T −1
d (x , v ) =
2
e i j exp xi − v j Fi xi − v j
Pj 2
107
« Clustering »
Algorithme des C-Moyennes Floues Exponentielles
(CMFE)
Prend en compte pour chaque cluster :
•La forme
•Le nombre de points
•La densité
108
« Clustering »
Comment déterminer
le nombre de groupements C optimal ?
Critère numérique :
la Densité Moyenne
de Partition
(DMP) ?
109
« Clustering »
110
Notes sur l’algorithme ISODATA :
Pour une analyse pratique des clusters , voir Section 2.1 de l'étude de
cas : dm_case_studies.pdf
111
Exemple d’Application en biologie : l’analyse
des résultats fournis par les puces ADN
pseudo-colour
sample
(labelled) image
probe
[image from Jeremy Buhler]
(on chip)
112
Regroupement en
familles de gènes
113
Chapitre I. Apprentissage a priori
par Induction
Règles d’association
114
Complément récent aux méthodes statistiques classiques de détection de relations
entre attributs
x y x->y
V V V
F V V
F F V
V F F
115
Un exemple e (non supervisé) = enregistrement d’une table.
e est décrit par d attributs binaires (x1, x2, xd) ou champs.
La valeur à 1 d’un attribut pour un exemple est appelé un item.
Un ensemble d’items pour un enregistrement a été appelé un itemset.
Association :
Implication disant que deux itemsets sont VRAI ensemble pour un nombre
suffisant d’exemples. La couverture de l’association est calculée comme
nombre d’itemsets, divisé par le nombre total d’exemples. Quand une
couverture est supérieure à une valeur MinCouv fixée à l’avance par
l’utilisateur, on dit que l’itemset constitué par cette intersection est fréquent.
117
Algorithme A priori
Créer L1, l’ensemble des 1-itemsets fréquents par une consultation de la base de
données
Tant que le test d’arrêt n’est pas satisfait faire
Etape 1 : utiliser L k-1 pour produire Ck contenant les k-itemsets candidats.
NB. : Ceci se fait sans consulter la base de données
Etape 2 : Ne conserver que les itemsets de Ck qui sont fréquents : ils
constituent Lk
NB. : Ceci demande une consultation de la base de Données
Fin tant que
118
Chapitre I. Apprentissage a priori
par Induction
Règles d’association
119
Créer des moteurs de recherche comprenant le langage naturel
-> évolution de google au-delà des mots clés
-> le « text-mining » ou le « web-mining »
Collection : ensemble des documents
Vector Space Model (VSM) : espace à N dimensions où N est le
nombre de termes utiles dans le langage (« le », « la »... sont inutiles et
sont appelés stop-words)
Etape 1 : Pour chaque terme du langage,
• création d'un Inverse Index qui stocke pour chaque terme du langage les
documents l'utilisant
• calcul du Document Frequency = nb doc utilisant ce terme / nb total de document
= df (Plus df grand moins le terme a d'importance d'un point de vue informatif)
• soit idf = log (1/df)
Etape 2 : Pour chaque document,
•Pour chaque terme, calcul du Term Frequency (Plus tf est grand dans un document
plus ce terme doit être important par rapport au sujet du document)
•Calcul d'un vecteur caractéristique VSM :
• Pour i allant de 0 à N VSM[i] = tf(terme i dans ce document)*idf(terme i)
• On normalise ce vecteur pour que ||VSM(document)||=1
Chaque requête de l'utilisateur est associée de le même façon à un
VSM(requête) et la Similarity est calculé par produit scalaire (voir
clustering pour indexation et optimisation, voir ontologies pour web 120
sémantique)
Chapitre II. Apprentissage a
posteriori par Séparatrices
Linéaires
Réseaux de Neurones
121
Inspiration Biologique
Dendrites
Axon
122
Inspiration Biologique
dendrites
axon
synapses
123
Inspiration Biologique
124
Une modélisation simplifiée de la réalité
[Link] 125
Le modèle de neurone artificiel de
McCullogh et Pitts
x0=1
x1 w0=-1
w1
y
x2 w2 y=f(X)
xn wn
126
Histoire
• 1943 - McCullock et Pitts : le problème
[(x AND y) OR (x OR y)]
• 1950's - Hodgkin et Huxley : prix Nobel.
• 1969 - Minsky et Papert, Perceptrons, le problème
non résolu : le XOR :
[(x AND NOT y) OR (y AND NOT x)]
Sigmoïde
Linéaire Seuillée
Gaussienne
Identité f (x) = x
128
Principe Réseau Multi-couches
(MLP en anglais pour Multi-Layer Perceptron)
Fonctions d'activation :
Non linéaire
Linéaire
129
Frontières que l'on peut obtenir dans le cas d'une
Principe fonction d'activation ϕ linéaire par morceaux
Une
couche
cachée
Deux
couches
cachées
130
Le perceptron à 1 couche
Principe cachée
OUTPUTS
Mais en général, une seule couche
cachée suffit à résoudre tout problème
de classification pourvu que les
neurones de la couche cachée
possèdent une fonction d'activation
NON linéaire (par exemple, la fonction
sigmoïde).
INPUTS
Le perceptron simple 131
x1 x2 Classe
0 0 0
-1/2
1 1 0
Problème du XOR 1 0 1
x1 1 y1 -1
1
classe
0 1 1
1
-2
x2 1
y2 -1/2
-3/2
x2
- +
1
g1(x1)
g2(x1)
- +
0 1 x1
132
Projection dans un y2
1
espace où le problème
est linéairement
séparable
+ -
0 y1
1
-1/2
x1 1
y1 +1
Réseau de neurones à 1
classe
une couche cachée. 1 -2
x2 1 y2 -1/2
-3/2
110
001 101
011 111 Quelle structure de réseau avons-nous a priori ?
135
110
Output
Inputs
“The young animal learns that the green fruits are sour,
while the yellowish/reddish ones are sweet. The learning
happens by adapting the fruit picking behaviour.
At the neural level the learning happens by changing of the
synaptic strengths, eliminating some synapses, and building
new ones.”
137
Principe mathématique
Énergie ou Erreur à minimiser
1 N
E=
N
∑ ( F ( xt ; W ) − y t ) 2
t =1
[Link]
138
Un principe d’optimisation numérique, si
l’Énergie ou Erreur est :
1 N
E=
N
∑ ( F ( xt ; W ) − y t ) 2
t =1
wi j , new
= wi + ∆wi
j j
d : sortie désirée
Mise à jour des poids
y : sortie obtenue
x : entrée fournie
w j (t + 1) = w j (t ) + η (d − y ) x η : pas
d'apprentissage
(learning rate)
140
Comment faire sur un MLP ?
w11
w11
w12
w11
w21 w12
w31 w22
w32
141
Algorithme de rétro-propagation du gradient
142
143
•Très efficace
•Sans modélisation a priori
•Simple à implémenter
144
SVM
Nouvelle modélisation des Neural Network :
les SVM ou Support Vector Machine
Carte de Kohonen
Auto-organisation de données
145
Dans le cadre des SVM, on cherche l'hyperplan de marge optimale pour
séparer correctement les données tout en étant éloigné le plus possible de
toutes les observations.
On cherche donc à trouver un classifieur ou une fonction de
discrimination dont la capacité de généralisation (qualité de la
prédiction) est la plus grande possible.
marge
146
SVM = Séparateurs à vastes marges
= Support Vector Machines
= Machine à noyaux ou kernel machines
Liés aux fonctions noyaux pour introduire de la non linéarité dans
des espaces de plus grandes dimensions en particulier (cf. fonction
d'activation sigmoïde du MLP)et à la dimension de Vapnik
Chernovenkis
Compromis entre
complexité de la frontière
(capacité d'ajustement du
modèle) et qualités de
généralisation ou
prédiction de ce modèle
147
Dans le cas de SVM, on va surtout s'appuyer sur les
« support vectors » les plus proches de la frontière pour les
calculs et la modélisation de la frontière optimale.
154
DNA Sequence Analysis
Eukaryotic Gene Structure
transcription
Poly A
translation
protein 155
TDNN
(Time-delay
Neural Network)
(BDGP Server)
Martin G. Reese and Frank H. 156
Eeckman.
Evaluation de l’apprentissage supervisé
Input : algorithme paramétrable + ensemble d’exemples A
Output: hypothèse h
Question : évaluer la performance de cette hypothèse
Sur l’ensemble de
test non appris
Sur l’ensemble
d’apprentissage
157
On travaille en général sur deux ensembles : un ensemble d’apprentissage A et
un ensemble de test T.
Dans le cas binaire par exemple, c'est-à-dire dans le cas du test d'une
hypothèse (une classe) indépendamment des autres classes (hypothèses), on a
Risque Réel (h) = Somme des termes non diagonaux / Nombre d’exemples
= Somme des exemples mal classés / Nombre d’exemples
158
Considérons le cas où je possède un ensemble E de 1000 exemples pour apprendre.
Pour valider l’apprentissage, j’ai plusieurs choix pour l’ensemble d’apprentissage et
l’ensemble de test. Par exemple :
• A = 2/3 de E et T = le 1/3 restant
• A = 1/2 de E et T = la 1/2 restante
On voit bien que les risques réels mesurés R(h,T) dans chacun des cas seront
différents et on sent bien que plus T sera grand et plus la mesure réelle du risque sera
proche de sa véritable valeur.
Mais, plus T est grand et plus A est petit puisque les ensembles doivent rester
décorrélés et donc moins l’apprentissage sera efficace.
159
L’estimation par validation croisée (N-fold cross-validation)
161
La courbe ROC (Receiver Operating Characteristics -> voir radar/World War))
Dans un contexte de prise de décision, la performance intrinsèque en terme de taux
d’erreur indifférencié n’est pas suffisante.
Les taux de “faux positifs” et de “faux négatifs” sont des estimateurs précieux : faire
une erreur sur la prédiction d’une maladie grave n’est pas équivalent selon qu’on la
laisse passer (faux négatif) ou qu’on la détecte (“faux positif”).
Ces taux sont disponibles à partir de la matrice de confusion.
La courbe ROC est utilisée dans le cadre de classification à 2 classes.
Remarque : classe = hypothèse = test
‘+’ ‘-‘
162
Mesures de la qualité de prédiction
d'une classe par rapport à toutes les autres Ensemble des N éléments
déclarés roses en phase de
décision (test), c'est-à-dire
qui répondent positivement
au test (hypothèse) de la
classe rose après
apprentissage.
1-spécificité
164
165
166
Mesures de la qualité de prédiction
d'une classe par rapport à toutes les autres Ensemble des N éléments
déclarés roses en phase de
décision (test), c'est-à-dire
qui répondent positivement
au test (hypothèse) de la
classe rose après
apprentissage.
FP TP
TN FN
167
Chapitre II. Apprentissage a
posteriori par Induction
Arbres de Décision
168
Principe : Construire des règles Si Age > 65 ans
Et Sexe Feminin
Alors Pas d’achat (à 87 %)
En théorie,
Principe de diminution du désordre
et lien avec la théorie de l’information
Critère de taille
Si on tire au hasard une pièce de ce sac de grandes
pièces, la probabilité de tomber sur une pièce ancienne
est de 2/3 et moderne de 1/3 :
Désordre estimable à = -1/3log(1/3)-2/3log(2/3) = 0,27
E1 E2 E3 E4 E5 E6 dH Pm
Connaît l’école Oui Oui Non Oui Non Non 2 2
Q1
A eu un stagiaire Oui Non Non Non Non Non 2 2
Q2
A embauché un étudiant Non Oui Non Oui Non Oui 4 2
Q3
Verse la taxe Non Oui Oui Non Non Non 1 1
Q4
A participé à un Oui Oui Oui Oui Oui Oui 3 3
Q5 évènement
172
Arbre de décision correspondant :
oui Verse la taxe
non
à l’école
non
oui A eu un
Rendez- stagiaire
vous
accepté
Rendez- Rendez-
vous vous refusé
accepté
Simplicité
Lisibilité
Multiplicité des arbres possible
Revenu
client Age Résidence Etudes Internet
174
Pour chaque nœud, on répartit les différentes classes.
Racine
(3,5)
Racine
(3,5)
Quel test choisir ?
Revenu
= Entropie(Racine) - 3/8[-1/3log(1/3)-2/3log(2/3)]
Revenu
-3/8[[-2/3log(2/3)-1/3log(1/3)]
-2/8[[-0/2log(0/2)-2/2log(2/2)] (1,2) Faible Moyen
Elevé
(0,2)
(2,1)
Age
178
Toujours la même chose : compromis entre généralisation et complexité :
-> Elagage a posteriori d'un arbre de décision par algorithme glouton
(équivalent du pruning pour le réseau neuronal)
179
180
Partie élaguée
après l'algo
181
Boosting ou dopage : théorème du classifieur faible
ADABOOST Algorithm ou la combinaisons des classifieurs faibles
Technique du Bagging
182
Chapitre III. Algorithmes
évolutionnaires
183
Le problème de l’optimisation en général
184
185
• Optimiser une fonction de coût ou d’erreur J(W) : maximiser ou minimiser !!
Pour sortir de minima locaux, on peut par exemple faire varier c avec les
iitérations : un des principes du “recuit simulé” ‘simulated annealing”
Wt+1 = Wt + c(t) * ∆W
186
Simulated annealing search
• Idea: escape local maxima by allowing some "bad"
moves but gradually decrease their frequency
187
188
Les Algorithmes génétiques
L'évolution dans la nature survient quand des entités ont la capacité de se
reproduire, qu'il existe une population de ces entités, qu'il existe une
variété (diversité) à travers ces entités, et que la survie des entités dépend
des différences entre elles. Toute entité vivante possède un génotype et le
phénotype
Le génotype.
Le génotype est constitué de gènes situés sur des chromosomes stockés dans le noyau des cellules sous la
forme d'une longue chaine d'acide déoxyribonucléique (ADN). Dans la nature, l'ADN est un polymère
constitué par l'enchaînement de quatres molécules, les nucléotides adénime (A), cytosime (C), guanine (G) et
la thymine (T). On peut donc décrire l'ADN par des chaînes de quatre caractères ACGT. L'ADN constitue
l'ensemble des chromosomes, ou le génome d'un individu.
Exemple : la suite ACCTGAGGGTA
Informatique : le codage binaire d’une solution
Le phénotype.
Le phénotype est l'ensemble des protéines et des enzymes qui peuvent être fabriqués à partir de l'ADN. En fait,
l'ADN est copiée par un messager (ARN) qui au niveau du ribosome, se traduit en chaînes d'acides aminés
formant les protéines et les enzymes. En général, on compte une protéine (un enzyme) par gène. Ce sont les
protéines et les enzymes qui dictent la structure et le comportement des cellules qui définissent les
caractéristiques physiques d’un individu et permettent à un individu de réaliser des tâches dans son
environnement, de survivre et de se reproduire à des taux différents. Ensemble des manifestations observables
du génotype.
Exemple : le gène AGTAGT code les yeux verts. 189
Informatique : une solution du problème dans une représentation « naturelle » obtenue après décodage du
génotype
La reproduction se traduit par la transmission du génome aux
individus de la progéniture ce qui permet de préserver les gènes
menant à des performances supérieures. Occasionnellement, un
processus naturel, la mutation génétique, introduit une variation dans
les chromosomes.
197
Maximisation de C(x) = 256-x2
198
Optimisation de réseaux UMTS
199
200
Opérateurs de variation
201
Une fonction de coût aggrégeant les objectifs pertinents est utilisée :
•Couverture
•Capacité
•Continuité et qualité de service
•Coût d’implémentation
Un algorithme génétique guide une génération de réseaux vers une solution globale
correspondante à un optimum global ou à un bon optimum local.
A chaque itération, un évaluateur rapide de réseau UMTS calcule les différents critères
de qualité qui permettent de “noter” les paramétrages des réseaux proposés.
Ensuite, l’AG utilise ces “notes” et propose un nouveau jeu de paramètres pour le
réseau.
202
203
[Link] 204
205
Réf. Biblio. pour la partie appliquée du cours :
Data mining :
Gestion de la relation client,
Personnalisation de Sites Web.
par René Lefébure et Gilles Venturi.
Edition Eyrolles
206
Par arbres de décision Une entreprise de télécommunications
La base de données :
Département
Type de client
Profession
Revenu
Situation matrimoniale
Âge des enfants
Options : renvoi, double appel, etc.
Heure d’appel
207
Code destination : étranger, local
Par arbres de décision Une entreprise de télécommunications
4 étapes :
3. Création de l’arborescence
Manuel, Semi-automatique ou automatique
4. Validation de l’arborescence
Soit sur un mode statistique, soit sur un mode opérationnel
208
Par arbres de décision Une entreprise de télécommunications
Moy = 245.72
Type = 203.06
n = 10000
Revenu
0-5000 +5000
pc
Non oui
REGLE_17 : SI
Pc = Oui
Revenu = 0 or 30 000 +
ALORS
durée_appel : moyenne 524.309, écart type : 1101,43
REGLE_10 : SI
Marié(e) = Oui
Propriétaire_maison = Oui
Membres5-18 = 2 or 3
Console_jeux = Oui
Satellite = Oui
Revenu = 10-20 000, 0- 10 000 or 20-30 000
ALORS
durée_appel : moyenne 376.478, écart type : 131,73
210
Par arbres de décision Une entreprise de télécommunications
Simplicité
Lisibilité
Taille de l'arbre
211
Data Mining has been identified as one of the ten emergent technologies of the
21st century (MIT Technology Review, 2001). This discipline aims at discovering
knowledge relevant to decision making from large amounts of data. After some
knowledge has been discovered, the final user (a decision-maker or a data-
analyst) is unfortunately confronted with a major difficulty in the validation stage:
he/she must cope with the typically numerous extracted pieces of knowledge in
order to select the most interesting ones according to his/her preferences. For
this reason, during the last decade, the designing of quality measures (or
interestingness measures) has become an important challenge in Data Mining.
Objectifs :
1. Connaître les clients pour revoir les offres et la politique marketing.
2. Fournir à la cellule marketing opérationnelle et aux réseaux de
distribution une liste ciblée de clients par requête SQL, ce qui implique
214
des critères compréhensibles
Phase 2 / LA RECHERCHE DES DONNEES
La base d'informations à disposition
215
Relier toutes ces bases d'information ? Jointures ? Manuelles ou Automatiques ?
Phase 3 / LA SELECTION DES DONNEES PERTINENTES
•Si le client n'a effectué aucun achat au cours des 5 dernières années,
alors pas d'extraction;
216
Phase 4 / LE NETTOYAGE DES DONNEES
217
Phase 5 / LES ACTIONS SUR LES VARIABLES
•Enrichissement :
• le croisement de la Date du premier achat et de la Date du dernier achat permet de
déterminer la longévité du client dans la compagnie de voyages;
•Le croisement des variables Type d'habitat et Taille de la commune permet de caractériser
le style d'habitat :
oPetite ville + individuel = rural;
oGrande ville + individuel = banlieue chic;
oGrande ville + collectif = forte concentration, etc.
218
Phase 6 / LA RECHERCHE DU MODELE (tout ce qui précède dans le cours)
Le fichier est nettoyé et complété.
Il reste à trouver les critères de structuration et d'affectation.
• La recherche des facteurs pertinents :
Recherche des typologie de clients par :
•Analyse factorielle pour la compréhension des principaux facteurs
de différenciation des clients
-> représentation sur 3 dimensions expliquant 84 % de la variance totale
C.A. important
CA (19%) S4
Age (27%) S6 S1
S5
âgés S2
Détention (38%) S3
jeunes
S9
•Classification automatique dans cet espace S8
Il faut construire trois approches, différenciées par la notion d'âge des clients :
quels sont les facteurs comportementaux qui permettent de caractériser les gros
chiffres d'affaires parmi les clients jeunes, middle age, et âgés. Exemple, sur les
clients jeunes par :
•La préparation par réseau de neurones qui répartit notre population en 4
classes :
•Les multi : les multiacheteurs prédits multiacheteurs (45 %);
•Les mono : les monoacheteurs prédits monoacheteurs (30 %). Ces
deux catégories expliquent notre modèle à 75 %;
•Les prospects : les monoacheteurs prédits multiacheteurs (15 %);
•Les erreurs : les multiacheteurs prédits monoacheteurs (10 %).
Clementine, de SPSS
TeraMiner, de NCR
• Data mining : Gestion de la relation client, Personnalisation de Sites Web, par René Lefébure et
Gilles Venturi, Edition Eyrolles (pour la partie appliquée surtout)
• Mastering Data Mining : the art and the science of customer relationship management, par M. J.A.
Berry et G. S. Linoff, Edition Wiley (ouvrage très complet)
223
###################
##########
####### Appel à soumissions pour un
##### numéro spécial de la Revue RNTI
###
## FOUILLE DES DONNEES D'OPINIONS
# [Link]
Objectifs de ce numéro spécial :
------------------------------
Pour faire suite à l'atelier FODOP'08
([Link] sur la problématique de la fouille
des données d'opinions, un numéro spécial est proposé sur cette même
thématique. De plus en plus de documents contenant des informations
exprimant des opinions ou des sentiments apparaissent sur le Web (i.e.
commentaires ou évaluations de produits par des clients, forums, groupe de
discussion, blogs). Aujourd’hui, la détection ou l'extraction automatique
d'opinions devient un domaine de recherche particulièrement prometteur
notamment avec le développement du Web 2.0. Elle devient essentielle pour
de très nombreux domaines d'applications. Nous pouvons citer, par exemple,
le développement de tâches de veille (technologique, marketing,
concurrentielle, sociétale), l'évaluation d'un produit par la communauté
avant un achat, l'image que les clients peuvent se faire d'une entreprise,
la détection de rumeurs (buzz) sur le web, détection d'opinions émergentes
et/ou significatives dans les forums, etc. Ainsi, les approches
traditionnelles de fouille de données doivent être adaptées à un contexte
dans lequel il faut appréhender de gros volumes de données
particulièrement hétérogènes. L'objectif principal de ce numéro spécial
est alors de décrire les différents traitements des données d'opinions.
Thèmes développés (liste non exhaustive) :
----------------------------------------
– Catégorisation automatique de textes d'opinion
– Ontologies et données d'opinion
– Aide à la décision pour les données d'opinion
– Visualisation pour une analyse des données d'opinion
– Interrogation des données d'opinion
– Acquisition de bases de données d'opinion
– Veille technologique pour l'analyse des opinions
– Détection de tendances dans les opinions
– Fouille du Web pour acquérir et/ou analyser des textes d'opinion
– TAL à partir de textes d'opinion
- Analyse de discours
224