Notions d’apprentissage automatique machine learning
Marie-Odile Cordier, le 11 septembre 2003,projet SACADEAUInspiré de V. Claveau + V. Masson + …
zQu’est-ce que l’apprentissage
y généralités
y apprentissage inductif
zUn exemple : apprentissage de chroniques (ECGs)
2
Une définition
z« Un programme est capable d’apprendre à partir d’une expérience E, p.r. à un ensemble T de taches et selon une mesure de performance P, si sa performance à effectuer T mesurée par P, s'améliore avec E. » T. Mitchell
zExemple : apprendre à jouer aux damesyT : jouer et gagner aux damesyP : pourcentage de victoires parmi les parties jouéesyE : « entraînement » avec un humain
3
Exemples de pb d’apprentissage
zApprentissage de compétence - apprendre à agiryapprendre a nager en observant un expert
zApprentissage de formes - apprendre à discriminerycontrôle qualité
zApprentissage de concept – apprendre à classerydétection de fraudes de carte de crédit
zApprentissage de fonction - apprendre a prédireyprévisions météo
4
Types d’apprentissage
z Supervisé vs. non-superviséysupervisé :⌧ les données sont composées d’exemples et de contre-exemples (entrées et sortie de la fonction / appartenance ou non à la classe)
⌧ besoin d’un expert pour caractériser les exemples (donner la valeur de la sortie – donner la classe de la donnée)
ynon supervisé :⌧ recherche de similarités dans les données : on ne connaît pas les classes
a priori
z Caractérisation explicite ou nonydescription de la classe vs. boîte noire
Une donnée (un exemple) est un couple <x,f(x)> ou x est la valeur d'entrée et f(x) la valeur de sortie (inconnue si apprentissage non-supervisé)
5
Apprentissage inductif (supervisé)
zBut : induire une règle générale à partir d’un ensemble d’observations
Exemples d’apprentissage
Système d’apprentissage
Description du concept
Classe (+ action)
Objet inconnu
6
Apprentissage et inférence
zSyllogismea) Tout homme est mortel
b) Or Socrate est un homme
c) Donc Socrate est mortel
mortel(X) :- homme(X).
homme(socrate).
mortel(socrate).
Inférence déductive : avec a et b on trouve c
Inférence abductive : avec a et c on trouve b
Inférence inductive : avec b et c on trouve a
7
Apprentissage inductifz Le système d’apprentissage (ou apprenant ou apprenti) cherche
à trouver une description du concept qui y« explique » les instances données en exemplesy« n’explique pas » les instances données en contre-exemples
Instances Concepts (espace des hypothèses)
8
PLI : programmation logique inductive
z Recherche du « meilleur » f parmi un ensemble (espace) d'hypothèses H
à apprentissage = pb de recherche dans un espace
Attrait majeur de la PLI:recours à un langage des hypothèses expressif (logique du premier ordre) et pratique (les exemples, les hypothèses possibles et l’expertise du domaine ont la même représentation)
Inconvénient :la richesse de ce langage implique une combinatoire forte —> il est important de décrire des biais d ’apprentissage qui limitent l’exploration de l ’ensemble des hypothèses possibles
9
Exemple jouet
On veut apprendre à découvrir quels animaux volent : f(x) = vole ou f(x) = vole_pas
zExemples positifs (e+) : canard, pie, chauve-souris
zExemples négatifs (e-) : chien, chat, pingouin
zattributs décrivant les e+ et e- : oiseau, a_des_ailes, mammifère, à_plumes, à_poils, gros, petit, poids, ...
10
Exemple jouet - version PLI
On veut apprendre un prédicat vole(X)z E+ :
vole(canard). vole(pie). vole(chauve-souris).
z E- :
vole(chien). vole(chat).
z Informations sur le « monde » (background knowledge) :
oiseau(canard). oiseau(pie).
mammifère(chauve-souris). mammifère(chien). mammifère(chat).
à Résultat de l’apprentissage :
vole(X) :- oiseau(X).
vole(chauve-souris).
11
Biais inductifs
z Recherche du « meilleur » f parmi un ensemble (espace) d'hypothèses H
à apprentissage = pb de recherche dans un espace
z Un biais est une connaissance rajoutée au système qui permet de choisir plus efficacement un meilleur f parmi H
z Biais restrictifs : « f doit avoir telles propriétés » => restreint H
z Biais de préférence : détermine un ordre sur l’ensemble des solutions possibles ~ heuristiques
12
Exemple jouet - Biais de langage
On veut apprendre un prédicat vole(X)
z E+ :
vole(canard). vole(pie). vole(chauve-souris).
z E- :
vole(chien). vole(chat).
z background knowledge :oiseau(canard). oiseau(pie).
mammifère(chauve-souris). mammifère(chien). mammifère(chat).a_des_ailes(X) :- oiseau(X).a_des_ailes(chauve_souris).
à Résultat de l’apprentissage :
vole(X) :- a_des_aile(X).
13
Généralisation vs spécialisation
zOrganiser l’espace des hypothèses de manière hiérarchique -> parcours intelligent
zh1 est plus générale que h2 si h1 « explique » les mêmes exemples (positifs ou négatifs) que h2 (plus éventuellement d’autres)ySi h ne couvre pas (n’explique pas) un exemple, on généralise h
zh1 est plus spécifique que h2 si h1 couvre un sous-ensemble des exemples couverts par h2ySi h couvre (explique) un contre-exemple, on spécialise h
14
Choisir la « meilleure » hypothèse
Si aucune hypothèse n’est complètement satisfaisante, on teste chaque hypothèse par rapport aux biais et aux exemples e+ et contre-exemples e- -> notion de score
zRefuser les hypothèses couvrant bcp d’e+ et très peu d’e- ?
zSi non, quels poids leur accorde-t’on ? -> notion de bruit
15
Exemple jouet - BruitOn veut apprendre un prédicat vole(X)
z E+ :
vole(canard). vole(pie). vole(chauve-souris).
z E- :
vole(chien). vole(chat).vole(pingouin).
z background knowledge :
oiseau(canard). oiseau(pie). oiseau(pingouin). mammifère(chauve-souris). mammifère(chien). mammifère(chat).a_des_ailes(X) :- oiseau(X).a_des_ailes(chauve_souris).
à Résultat de l’apprentissage :
vole(canard). vole(pie). vole(chauve-souris).
Juste mais pas intéressant !
16
Exemple jouet - BruitOn veut apprendre un prédicat vole(X)
z E+ :
vole(canard). vole(pie). vole(chauve-souris).
z E- :
vole(chien). vole(chat).vole(pingouin).
z background knowledge :
oiseau(canard). oiseau(pie). oiseau(pingouin).
mammifère(chauve-souris). mammifère(chien). mammifère(chat).a_des_ailes(X) :- oiseau(X).a_des_ailes(chauve_souris).
à Résultat de l’apprentissage avec bruit :
vole(X) :- a_des_ailes(X).
17
Choisir la meilleure hypothèse
Après la phase d’apprentissagezComment savoir que l’hypothèse trouvée se
comportera bien avec les nouvelles données ?zComment éviter l’overfitting (apprentissage
par cœur) ?zSéparer les données d’apprentissage en un
ensemble d’apprentissage et un ensemble de test -> cross-validation
18
PLI et Sacadeau
z Simuler par le modèle biophysique des scénarios temporels « représentatifs » des différentes classes de situations possibles
zAssocier aux résultats de ces simulations (dits signatures temporisées) un degré d’acceptabilité en termes de qualité des eauxzutiliser un système de PLI qui permette d’inférer
des corrélations de variables influant sur la qualité des eaux (et non une « simple classification » des différentes situations)
19
Utilisation de la PLI
zSignatures temporisées jugées « polluantes » : exemples (d ’observations)zSignatures temporisées jugées « non
polluantes » : contre-exempleszInférence d ’hypothèses (symboliques)
expliquant les observations: ici apprentissage de variables (caractéristiques de pratiques agricoles, de climats, etc) qui influent sur la qualité des eauxzNB: importance ici des données temporelles
20
Un mot sur l’apprentissage par coeur
zL’apprentissage par cœur peut servir comme technique d’apprentissagezOn parle de case-based learning, memory-
based learning, apprentissage par analogies, à base d’instances…zOn stocke tous les exemples et quand une
donnée inconnue arrive, on regarde de quel exemple connu elle est le + proche et on lui assigne la même valeur de sortie
21
Quelques techniques utilisées
zRéseaux de neurones
zAlgorithmes génétiques
zArbres de décision
zProgrammation logique inductive
zApprentissage bayesien
zApprentissage par renforcementzInférence grammaticalez...
22
23
Plan du cours
zQu’est-ce que l’apprentissage
zUn exemple : l’inférence grammaticale(source : François Coste)yReprésentationyEspace des hypothèses
Notions d’apprentissage automatique
24
Inférence grammaticale
Rappel théorie des langages
zmot : séquence de symboles s1s2…sp
zlangage : ensemble de mots {m1,m2,…}
zgrammaire : ensemble de règles de production des mots d’un langage
zexemples de séquences : langage naturel (syntaxe), séquences biologiques (ADN, ARN, protéines, …), ...
25
Inférence grammaticaleUne définition
zInférence grammaticale : apprentissage inductif d’un langage à partir d’un échantillon de mots du langage
Instances (mots) Concepts (grammaires)
26
Inférence grammaticaleReprésentation
zPlutôt que de décrire les exemples par des attributs, on s’intéresse à la séquencialité des instances
zQuelle représentation pour décrire les concepts sur les séquences ?
à Grammaires, machines à états finis (e.g. automates, transducteurs), arbres, expressions, HMM, ...
27
Inférence grammaticaleReprésentation
Rappel hiérarchie de Chomsky
classification des grammaires :
zà structure de phrase (type 0)
zcontextuelles (type 1)
zalgébriques (type 2)
zrégulières (automates) (type 3)
expressivité
28
Inférence grammaticaleReprésentation
Apprendre un langage régulier
Instances (mots) Concepts (automates)
{aaa,bba,baaa} inférence a
a
b
29
Plan du cours
zQu’est-ce que l’apprentissage
zUn exemple : l’inférence grammaticale(source : François Coste)yReprésentationyEspace des hypothèses
Notions d’apprentissage automatique
30
Inférence grammaticaleEspace des hypothèses
Organisation de l’espace des concepts :zen bas l’automate le + spécifique :
MCA (maximumcannonicalautomaton)
zEn haut l’automate le + général :
UA (universal Automaton)
a
a a a
a a
abb
b
a,b
31
Inférence grammaticaleEspace des hypothèses
Parcours de l’espace des concepts :
zopérateur de généralisation : fusion d'états ysi l’automate A explique x séquences,
l’automate résultant de la fusion de deux états de A explique au moins les x mêmes mots
zopérateur de spécialisation : fission d'étatsysi l’automate A explique x séquences,
l’automate résultant de la fission d’un état de A explique un sous-ensemble des x mêmes mots
32
Inférence grammaticaleEspace des hypothèses
Fusion d'étatszChoisir deux états de l’automate et les
fusionner zChoix basé sur critères heuristiques
a
a a a
a a
abb
b
33
Inférence grammaticaleEspace des hypothèses
Fusion d'étatszChoisir deux états de l’automate et les
fusionner zChoix basé sur critères heuristiques
a
a a a
a a
abb
b
34
Inférence grammaticaleEspace des hypothèses
Fusion d'étatszChoisir deux états de l’automate et les
fusionner zChoix basé sur critères heuristiques
a
a a a
a a
abb
b
35
Inférence grammaticaleEspace des hypothèses
Fusion d'étatszChoisir deux états de l’automate et les
fusionner zChoix basé sur critères heuristiques
a
a a a
a
aabb
b
36
Inférence grammaticaleEspace des hypothèses
Espace de recherchezC’est un treillis d’automates
UA
MCA
En rouge : parcours par fusion
z Pb : comment éviter la sur-généralisation (i.e. éviter qu’on monte trop haut dans le treillis)
37
Inférence grammaticaleEspace des hypothèses
Limiter la généralisation => ajout d’un critère supplémentaire :
zLimitation à une sous-classe d’automate
zCritère statistique d’arrêt des fusions (les états restants sont trop dissemblables)
zUtilisation d’exemples négatifs : arrêt dès qu’un e- est accepté par l ’automate
38
Inférence grammaticaleEspace des hypothèses
Limiter la généralisation avec des e- :
MCA
UA
Border set : ensemble des automates les plus généraux n’acceptant pas d’e-
e- acceptés
à Rasoir d’Occam : recherche de l’automate minimale dans le border set
39
Inférence grammaticaleExemple
Promoteurs de B. Subtilis
zdonnées initiales :
y1 248 616 états, 131 e+, 55 062 e-
zsolution :
y95 états, 347 transitions, 8h de calcul
40
41
Questions IA1