Apprentissage automatique

publicité
Apprentissage
automatique
Introduction
„
„
„
Dans un système basé sur les connaissances
la connaissance est le point central et
essentiel ;
Il est souvent difficile d’acquérir la connaissance d ’un expert ;
Existence d’experts non garantie (ex. prévision
météo) ; par contre existence d ’un historique !
Besoin d ’automatiser le processus
d ’acquisition des connaissances
Apprentissage automatique
2
Apprentissage
Apprentissage automatique
3
Définitions
„
« a learning system uses sample data to generate an
updated basis for improved performance on
subsequent data, and expresses the new basis in
intelligible symbolic form » [Donald Michie, 1991] ;
„
« learning denotes changes in the system that are
adaptative in the sense that they enable the system
to do the same task or tasks drawn from the same
population more effectively the next time » [Herbert
Simon, 1983]
Apprentissage automatique
4
Choisir une approche d’apprentissage :
contraintes
„
Objectifs
– Améliorer les performances ;
– Acquérir de nouvelles connaissances ;
„
„
Disponibilité d’une connaissance du domaine
Disponibilité de données
– incrémental vs. batch
„
Caractéristiques des données
– Prédicats, propositions, etc.
Apprentissage automatique
5
Choisir une approche d’apprentissage :
contraintes
„
„
Mécanisme de recherche
– Model-driven (Top-down)
– Data-driven (Bottom-up)
– Autres.
Raisonnement
– Induction
– Abduction
– Déduction
Apprentissage automatique
6
Tâches d’apprentissage
„
Apprentissage supervisé
– Knowledge poor
– Knowledge intensive
„
Résolution de problèmes
– Apprendre des conditions d’application d’opérateurs
– Apprendre à résoudre d’autres problèmes
„
Apprentissage non supervisé
– Pas d’oracle
„
Découverte scientifique
– Découverte de lois mathématiques, etc.
Apprentissage automatique
7
Comment évaluer un apprentissage
„ Mathématiques
„ Empirique
– Populaire
– Nécessite beaucoup de données
„ Psychologie
– Comparer à un modèle humain
Apprentissage automatique
8
Différentes techniques d’apprentissage
Classification des techniques en fonction du but principal.
L'apprentissage synthétique vise principalement
connaissances nouvelles ou meilleures --> induction
à
créer
des
L ’apprentissage analytique vise plutôt à mettre les connaissances
sous une forme plus appropriée --> déduction
induction : processus de formation d'hypothèses - les prémisses - qui
impliquent des conséquents donnés,
déduction : processus de dérivation de conséquents d'après des
prémisses données.
Apprentissage automatique
9
Apprentissage supervisé sans connaissances
du domaine (knowledge poor)
„
„
À partir d’un ensemble d’exemples, on induit une
hypothèse (description du concept) ;
Mesures de performances typiques :
–
–
–
–
Capacité prédictive
Intelligibilité
Vitesse d’apprentissage et de test
Besoins en stockage
Apprentissage automatique
10
Apprentissage supervisé sans connaissances
du domaine (knowledge poor) : exemples
„
„
„
„
„
„
„
Arbres de décision (TDIDT)
Induction de règles
Espace des versions
Algorithmes génétiques
Réseaux de neurones
Réseaux Bayesien
Etc.
Apprentissage automatique
11
Arbres de décision : approche ID3
• Produit un arbre de décision à partir d ’un ensemble
d ’exemples décrivant le problème ;
• Partager récursivement l’ensemble des données en
sous-ensembles ;
• Technologie mature et compréhensible ;
• Efficace pour la classification ;
• Partition de l’espace des instances (exemples) selon
un attribut à la fois est limitatif.
Apprentissage automatique
12
Approche ID3
Si les exemples sont tous de la même classe
Alors
- créer une feuille étiquetée par le nom de la classe ;
Sinon - sélectionner le meilleur attribut pour discriminer ;
- diviser l'ensemble d'apprentissage en sous-ensembles, chacun étant
associé à l'une des valeurs possibles de l'attribut choisi ;
- appliquer la même procédure pour chacun des sous-ensembles ;
Une mesure d'entropie est utilisée pour mesurer le pouvoir discriminant d'un nœud de l'arbre :
I(S) = -
∑
k
PS,Ck * log2 PS,Ck
avec PS,Ck : probabilité d ’occurrence de la classe Ck
dans l ’ensemble S des exemples ;
Sj : ens des exemples de S ayant la valeur Vj pour l ’attribut Ai ;
E(Ai, S)=
∑ (|sj|/|S|) * I(Sj)
j
ID3 choisit l ’attribut Ai qui maximise : Gain (Ai, S)= I(S)-E(Ai, S)
Apprentissage automatique
13
ID3 : un exemple
Apprentissage automatique
14
ID3 : un exemple
Apprentissage automatique
15
Arbres de décision
„
„
Exemples de systèmes
– C4.5 [Quinlan, 1993]
– GID3 [Fayyad, 1992]
– CART [Breiman et al., 1984]
Fonctions de sélection diverses :
–
–
–
–
–
„
GINI [CART, 1984]
Gain ratio [Quinlan, 1986]
Binarization [Bratko et Kononenko. 1986]
Chi-square [Mingers, 1989]
Normalized information gain [De Mantaras, 1991]
Élagage de l’arbre : pré vs. post-élagage.
Apprentissage automatique
16
C4.5 : un ID3 amélioré
- Élague l ’arbre
- Génère des règles à partir de l ’arbre
- Génère des règles probabilistiques
- Considère les valeurs inconnues d ’attributs
- Considère les valeurs continues
L ’approche ID3 est populaire : exemples.
Apprentissage automatique
17
Espace des versions
„
„
„
Organiser les hypothèses dans un graphe de
généralisation ;
Principe : mettre à jour deux ensembles G
(hypothèses
plus
générales)
et
S
(hypothèses les plus spécifiques). G et S
représentent les bornes de l’espace de
recherche ;
Langage à base de conjonctions pour cette
version de l’algorithme ;
Apprentissage automatique
18
Espace des versions : algorithme d’élimination
[Mitchell, 1977]
„
„
G={T} ; S= F ;
Pour chaque exemple positif e+
– Si S est faux pour e+, généraliser S jusqu’à ce qu’il
reconnaisse e+ ;
– Supprimer tous les éléments de G, ne reconnaissant pas e+ ;
„
Pour chaque exemple négatif e– Si un élément de G reconnaît e-, le spécialiser jusqu’à ce qu’il
ne reconnaisse plus e- ;
– Supprimer les éléments de G plus spécifiques que S ;
Apprentissage automatique
19
Espace des versions : exemple
Étudiants
Bon
résultat
an n-1
Masculin
Assidu
Boit
Bon
résultat
an n
Richard
Oui
Oui
Non
Oui
Non
Alain
Oui
Oui
Oui
Non
Oui
Alice
Non
Non
Oui
Non
Non
Jeff
Non
Oui
Non
Oui
Non
Gail
Oui
Non
Oui
Oui
Oui
Simon
Non
Oui
Oui
Oui
Non
T
N ~N M ~M A ~A B ~B
N &A
-G={~N, ~M, A, ~B}
S=F
-G={A, ~B}
S=N&M&A&~B
-G={A&N, A&M, A&B, ~B&N, ~B&M, ~B&~A}
-G={A&N, A&B}
S=A&N
-G={A&N}
S=A&N
N &A & ~M
N &A & M
S=inchangé
N &A & ~M &B
Apprentissage automatique
N &A & M & ~B
F
20
Induction de règles
„
„
„
„
Induire en général une règle sous FND ;
Chaque règle couvre en général un sous-ensemble
des exemples positifs de la classe ;
Processus compréhensible mais lent en phase
d’apprentissage ;
Plusieurs systèmes :
– AQ [Michalski et al., 1986]
– CN2 [Clark & Niblett, 1989]
– BEXA [Theron & Cloete, 1994]
„
Idée de base : induire itérativement des règles pour
les instances positives des exemples. Va du général
au spécifique.
Apprentissage automatique
21
Induction de règles : algorithme
„
„
„
„
Find a conjunction that is satisfied by some examples
of the target class, but no examples from another
class;
Append this conjunction as one disjunct of the logical
expression being developed;
Remove all examples that satisfy this conjunction
and, if there are still some remaining examples of the
target class, repeat the process.
Fonction d’évaluation d’une règle induite :
nr,c +1
nr,c = nombre d’instances de c satisfaisant les conditions de r
L(r,c)=
ntot+#classes
ntot = nombre total d’instances qui satisfont les conditions de r
Apprentissage automatique
22
Algorithmes génétiques
„
Simule l’évolution Darwinienne ;
Une population d’individus, à chacun d’eux est
associé sa « force » ;
„
2 types d’opérateurs
„
– Croisement ;
– Mutation.
Apprentissage automatique
23
Opérateurs génétiques
„
Croisement
T#F# + F#TF Æ T#TF et F#F#
– Tirer le meilleur des 2 parents ;
– Un des descendants peut être plus mauvais que les parents ; il
sera éliminé.
„
Mutation
T#TF Æ F#TF
- Au hasard
Æ Peut nécessiter des milliers de cycles pour atteindre
une solution optimale.
Apprentissage automatique
24
Algorithmes génétiques à travers un
exemple
„ Efficaces
dans la recherche des
« meilleures » solutions
„ Exemple de codification :
– Représenter un ensemble de règles de
prédiction de la qualité du logiciel
• Chromosome = tableau de pointeurs sur des règles
• Force = le taux de prédiction de la qualité
Apprentissage automatique
25
Un algorithme de base
Algorithme
Répéter jusqu ’à "aucun progrès" ou "nombre max de
générations"
Ajouter le chromosome le plus fort à la nouvelle population ;
Répéter jusqu ’à atteindre la taille de la population
Sélectionner 2 chromosomes ;
Effectuer croisement + mutation ;
Ajouter les « enfants » obtenus à la nouvelle
population ;
Fin
Fin
Apprentissage automatique
26
Un algorithme de base
„ Sélection
(exemple)
ÉTechnique de sélection dites de la roulette :
Grande force => grande probabilité d'être sélectionné
ÉExemple (une population de 5 ensembles de
règles)
Taux de prédiction des ensembles de règles
RS1
44%
RS2
50%
RS3
69%
RS4
82%
probabilité d’être sélectionné
RS5
93%
RS5
28%
tpi
pi =
∑ tpj
j
p1 =
tp1
44%
=
= 13%
∑ tpj 44% + 50% + 69% + 82% + 93%
RS4
24%
RS1
13%
RS2
15%
RS3
20%
j
Apprentissage automatique
27
Un algorithme de base
ÉCroisement (exemple)
Apprentissage automatique
28
Un algorithme de base
É Mutation
Default Class = 1
Default Class = 2
Apprentissage automatique
29
Application au génie logiciel : modèles
d ’estimation de la qualité
°Chercher des
métriques utiles
Size
Coupling
Cohesion
Inheritance
etc.
±Capturer les
relations entre
métriques et
maintenabilité
Apprentissage automatique
²Estimer la qualité
sur de nouveaux cas
30
Application : génie logiciel
Données extraites d ’un système à 83 classes
Algorithme d ’apprentissage C4.5
Genère arbres de décision / ensemble de règles
Règle
NOC > 1 ∧ NOD <= 8 ⇒ class 1 [72.2%]
Pour une classs c
If Number of Children > 1 And Number of Descendants <= 8
Then c belongs to level 1 (easy to maintain)
Apprentissage automatique
31
Modèles obtenus
79.52%
85.00%
80.00%
75.00%
70.00%
65.00%
15
13
11
9
7
60.00%
5
„
3
„
1
„
classification à 3-valeurs
15 arbres --> 15 ensembles de règles
en moyenne 8 règles/modèle (de 5 à 11)
taux de prédiction moyen (force) 75.5%
Prediction Accuracy Rate
„
Rulesets (3-Value Classification)
Apprentissage automatique
32
But : améliorer l’efficacité des modèles
Exécuter l’algorithme sur 15 ensembles de règles
– Évolution
•
•
•
•
•
generation 0: RS13 (80,72%)
generation 2: RS105 (83,13%)
generation 3: RS125 (84,33%)
generation 7: RS161 (90,36%)
generation 28: Pas de progrès
Apprentissage automatique
33
Raisonnement et apprentissage
par cas
„
Profiter de l ’expérience accumulée
„
Très forte avancée depuis les travaux de
Schank en 1982 sur Dynamic Memory
CHEF [Hammond, 1986] : planification de repas
PROTOS [Bareiss, 1988] : diagnostic d ’anomalies auditives
SMART [Acorn & al., 1992] : HELPDESK pour ordinateurs
COMPAQ
Apprentissage automatique
34
Raisonnement par cas : schéma
Apprentissage automatique
35
Raisonnement par cas
„
Représenter un cas : enregistrement d ’une base
de données, prédicats, frames, etc.
„
Indexer les cas
„
Calcul de similarités entre cas (k-plus proches
voisins, etc.)
„
Apprendre à partir de cas nouveaux.
Apprentissage automatique
36
Systèmes hybrides : règles et cas
„
Les problèmes déviant de la norme sont
mieux pris en compte grâce aux cas.
„
Règles : norme + cas : exceptions.
„
Adapter le raisonnement à la nouvelle
architecture.
Apprentissage automatique
37
Mais aussi ...
„ Explanation-Based
„ Regroupement
„ Réseaux
Learning
conceptuel
de neurones
„ Etc.
Apprentissage automatique
38
Téléchargement