Post on 07-Aug-2020
transcript
1!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Antoine Cornuéjols !
AgroParisTech!
antoine@lri.fr!
http://www.lri.fr/~antoine/!
2!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
3!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Le cours
• 8 Cours : 4 AAA + 4 FD
• 2 DM + Quizz + 1 Contrôle sur table (2h)
• Documents
! Le livre "L'apprentissage artificiel. Concepts et algorithmes" A. Cornuéjols & L. Miclet. Eyrolles. 2ème éd. 2010.
! Les transparents + Informations + devoirs +
projets sur : http://www.lri.fr/~antoine/Courses/Master-ISI/Cours-
ISI-3.html
4!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
« How can we build computer systems that
automatically improve with experience,
and
what are the fundamental laws that
govern all learning processes? »
Tom Mitchell, 2006
!"#$%&'#"&#$($$%)"$)*+#,$
5!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Types d’apprentissages
6!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
L’apprentissage artificiel
• Science de la modélisation
! Recherche des régularités sous-jacentes aux données d’observation
! Cherche un modèle du monde permettant la décision et la prédiction
• Science de l’adaptation!
! Apprentissage par renforcement!
! Évolution simulée!
7!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Qu’est-ce que l’apprentissage ?
Meilleure compréhension du monde
à partir d’observations
en vue de prédiction
8!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Qu’est-ce que l’apprentissage ?
Changements dans un système lui permettant de
réaliser le même type de tâche
avec une meilleure performance
à l’avenir
9!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Recherche de régularités
10!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Modélisation
• Discrimination
! Identification de sous-marins vs. bruits naturels
! Identification de locuteur / de signature
! Reconnaissance de l'écriture manuscrite, de la parole
! Code postal
! …
• Catégorisation
! SKY SURVEY
11!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Adaptation
• Association
• Imitation
• Apprentissage de comportement :
! Apprendre à marcher (insectoïdes de Brooks)
! Apprendre à se comporter sur une planète
• Apprendre à mieux jouer
! S'adapter à l'adversaire
! Ne pas répéter ses fautes
! Apprendre à jouer en équipe – Équipes de robots
12!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
1. 1- Quel objectif ?
13!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Données -> régularités pour prédire
• Échantillon de données (training set)
• Apprentissage de règle de prédiction (decision rule, hypothesis)
14!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Données -> régularités pour prédire
15!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
1. 1- Quel objectif ? 16!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
1. 1- Quel objectif ?
Aide à la « découverte scientifique »
17!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Amélioration de performances
18!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Illustrations : Grand DARPA challenge (2005)
19!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Illustrations : Grand DARPA challenge (2005) 20!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Illustrations : Grand DARPA challenge (2005)
" 150 mile off-road robot race across the Mojave desert
" Natural and manmade hazards " No driver, no remote control " No dynamic passing " Fastest vehicle wins the race
(and 2 million dollar prize)
21!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Illustrations : Grand DARPA challenge (2005) 22!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
1. 1- Quel objectif ?
• Systèmes autonomes avec apprentissage
23!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Objectifs fondamentaux d’une science de l’apprentissage
Mieux comprendre l'apprentissage :
• ne pas avoir à programmer
! Programmation par la démonstration
! Programmation par l'exemple (e.g. l'EBL)
! Programmation par échantillon d'apprentissage : induction
• mieux enseigner
• savoir ce que toute intelligence pourrait apprendre :
vers une théorie générale de l'apprentissage
24!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Concepts de base
25!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Induction supervisée 26!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Les données : organisation et types
Identifieur Genre Age Niveau études Marié ? Nb enfants Revenu Profession A prospecter ?
I_21 M 43 Bac+5 Oui 3 55 000 Architecte OUI
I_34 M 25 Bac+2 Non 0 21 000 Infirmier NON
I_38 F 34 Bac+8 Oui 2 35 000 Chercheuse OUI
I_39 F 67 Bac Oui 5 20 000 Retraitée NON
I_58 F 56 CAP Oui 4 27 000 Ouvrière NON
I_73 M 40 Bac+3 Non 2 31 000 Commercial OUI
I_81 F 51 Bac+5 Oui 3 75 000 Chef d’entreprise
OUI
Exemple!(example, instance)!
Descripteur!Attribut!(feature)!
Étiquette!(label)!
27!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Les données : organisation et types
Identifieur Genre Age Niveau études Marié ? Nb enfants Revenu Profession A prospecter ?
I_21 M 43 Bac+5 Oui 3 55 000 Architecte OUI
I_34 M 25 Bac+2 Non 0 21 000 Infirmier NON
I_38 F 34 Bac+8 Oui 2 35 000 Chercheuse OUI
I_39 F 67 Bac Oui 5 20 000 Retraitée NON
I_58 F 56 CAP Oui 4 27 000 Ouvrière NON
I_73 M 40 Bac+3 Non 2 31 000 Commercial OUI
I_81 F 51 Bac+5 Oui 3 75 000 Chef d’entreprise
OUI
28!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Types de formats
Numérique continue (R) Compte en banque : 12 915,86 "!Numérique discrète (N ou Z) Nombre d’enfants : 11!Binaire Célibataire : vrai!Catégorie Couleur dans {rouge, vert, bleu}!Texte La protéine «#sp|P00004|CYC_HORSE#» est
activée par …!Données structurées Arbre, expression XML, …!
Séquences Génôme$Séquence de commandes d’accès sur réseau!
Images, vidéos
28!
29!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Représentation des exemples
Représentation propositionnelle
Attributs-Valeurs
Âge = 23 & Taille = 1.72 & Profession = chercheur & …
Représentation la plus répandue
30!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Représentation des exemples
Représentation relationnelle
Logique du 1er ordre
Bloc(B1) & SurTable(B1) & Au-Dessus(B2,B1) & …
! Utilisation
– Structures (molécules, relations sociales, …)
31!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Types d’apprentissages 32!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Apprentissage supervisé
• Un échantillon d’apprentissage
S = {(x1, y1), (x2, y2), … , (xi , yi), … , (xm, ym)}
32!
f!
h!
• Prédiction pour de nouveaux exemples x –h-> y ?
33!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Exemples
• Apprendre à diagnostiquer une maladie
! x = description du patient (symptomes, résultats d’examens, …)
y = maladie (ou thérapie recommandée)
• Étiquetage de texte (Part-of-Speech tagging)
! x = une phrase (e.g. « a star was born »)
! y = Rôle des mots dans la phrase
• Reconnaissance de visages
! x = image bitmap de visage
! y = nom de la personne (ou caractéristique : en colère, …)
34!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Apprentissage supervisé
34!
35!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
1 - L'induction supervisée 36!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Apprentissage supervisé
• Discrimination
– Les clients totalisant des appels à l’étranger pour plus de 300!/mois et qui ont déjà fait 3 réclamations sont susceptibles de
changer pour un autre opérateur.
• Régression
– Le nombre de sinistres déclarés par un conducteur est
inversement proportionnel à l’ancienneté de son permis, avec des coefficients proportionnels propre à chaque sexe.
37!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
1- Types d’apprentissages 38!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Action Perception
1- Types d’apprentissages
Environnement
Récompense
Apprentissage de réflexes ... -> … apprentissage de planification!
39!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Le problème de l’induction
40!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Introduction à l’induction
41!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Illustrations
Et première exposition aux problèmes
de l’induction
42!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
1.1- Un exemple
• Soient deux exemples dont les descriptions pourraient être :
! E1 : Un triangle rayé au-dessus d’un carré uni noir
! E2 : Un carré uni blanc au-dessus d’un cercle rayé
" Formuler une description générale de ces deux exemples
E1 E2
A
B
C
D
43!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Description! Votre réponse! Vraie réponse!
1 grand carré rouge! -!
1.1- Encore un autre exemple
• Exemples décrits par :
! nombre (1 ou 2); taille (petit ou grand); forme (cercle ou carré); couleur (rouge ou vert)
• Les objets appartiennent soit à la classe + soit à la classe -
1 grand carré vert!
2 petits carrés rouges!
2 grands cercles rouges!
1 grand cercle vert!
1 petit cercle rouge!
1 petit carré vert!
1 petit carré rouge!
2 grands carrés verts!
+!
+!
+!
-!
+!
+!
+!
-!
44!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Illustration : un problème d’apprentissage
• On cherche à apprendre une fonction inconnue
x1 x2 x3 x4
Fct inconnue : f!y = f(x1,x2,x3,x4)!
Exemple! x1! x2! x3! x4! Etiquette!1! 0! 0! 1! 0! 0!2! 0! 1! 0! 0! 0!3! 0! 0! 1! 1! 1!4! 1! 0! 0! 1! 1!5! 0! 1! 1! 0! 0!6! 1! 1! 0! 0! 0!7! 0! 1! 0! 1! 0!
Pouvez-vous deviner la
fonction ?
45!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Illustration : un problème d’apprentissage
• Combien de fonctions possibles de 4 entrées booléennes et une sortie booléenne ?
Exemple x1 x2 x3 x4 Etiquette
1 0 0 0 0 ?
2 0 0 0 1 ?
3 0 0 1 0 0
4 0 0 1 1 1
5 0 1 0 0 0
6 0 1 0 1 0
7 0 1 1 0 0
8 0 1 1 1 ?
9 1 0 0 0 ?
10 1 0 0 1 1
11 1 0 1 0 ?
12 1 0 1 1 ?
13 1 1 0 0 0
14 1 1 0 1 ?
15 1 1 1 0 ?
16 1 1 1 1 ?
• Combien de fonctions encore envisageables quand on connaît 7 exemples ?
Apprendre est-il possible ?
46!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Illustration : un problème d’apprentissage
• Chercher une règle simple : de la forme d’une conjonction
• 16 fonctions possibles (sans les négations) Exemple! x1! x2! x3! x4! Etiquette!
1! 0! 0! 1! 0! 0!2! 0! 1! 0! 0! 0!3! 0! 0! 1! 1! 1!4! 1! 0! 0! 1! 1!5! 0! 1! 1! 0! 0!6! 1! 1! 0! 0! 0!7! 0! 1! 0! 1! 0!
Règle Contre-exemple x1 1 1 0 0 0 x2 0 1 0 0 0 x3 0 1 1 0 0 x4 0 1 0 1 1 x1 ! x2 1 1 0 0 0 x1 ! x3 0 0 1 1 1 x1 ! x4 0 0 1 1 1 x2 ! x3 0 0 1 1 1 x2 ! x4 0 0 1 1 1 x3 ! x4 1 0 0 1 1 x1 ! x2 ! x3 0 0 1 1 1
Règle Contre-exemple x1 ! x2 ! x4 0 0 1 1 1 x1 ! x3 ! x4 0 0 1 1 1 x2 ! x3 ! x4 0 0 1 1 1 x1 ! x2 ! x3 ! x4 0 0 1 1 1
Aucune de ces règles ne convient
47!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Illustration : un problème d’apprentissage
• Chercher une règle simple : de la forme m of n
• 20 fonctions possibles Exemple! x1! x2! x3! x4! Etiquette!1! 0! 0! 1! 0! 0!2! 0! 1! 0! 0! 0!3! 0! 0! 1! 1! 1!4! 1! 0! 0! 1! 1!5! 0! 1! 1! 0! 0!6! 1! 1! 0! 0! 0!7! 0! 1! 0! 1! 0!
Règle Contre-exemple {x1} 3!{x2} 2!{x3} 1!{x4} 7!{x1,x2} 2! 3!{x1,x3} 1! 3!{x1,x4} 6! 3!{x2,x3} 2! 3!{x2,x4} 2! 3!{x3,x4} 4! 4!{x1,x2,x3} 1! 3! 3!
Règle Contre-exemple {x1,x2,x4} 2! 3! 3!{x1,x3,x4} 1! ***! 3!{x2,x3,x4} 1! 5! 3!{x1, x2,x3,x4} 1! 5! 3! 3!
On a trouvé une règle !
48!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Et pour la prédiction de séquence …
49!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
1.6- Exemple : reconnaissance de caractères manuscrits (3)
• Quel critère de performance (de succès) ?
! Probabilité de misclassification
! Risque
! Nombre d’erreurs
• Apprentissage sur un échantillon d'apprentissage
• Test sur une base de test
Taille échantillon!
“Erreur”!
Courbe d’apprentissage!
50!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Apprendre requiert du soin
• L’apprentissage peut être vu comme la diminution de l’incertitude restante
! Supposons que nous connaissions la classe de la fonction (e.g. m of n), alors l’échantillon d’apprentissage peut nous permettre d’identifier la bonne fonction
• L’apprentissage requiert donc de faire un pari sur la classe des hypothèses à considérer
! On peut commencer par une classe simple (restreinte) et l’« élargir » si c’est nécessaire jusqu’à trouver une classe dans laquelle une fonction s’accorde aux données
• On peut se tromper !
! Notre pari peut être mauvais (e.g. la fonction y = x4 ! one-of{x1,x3} marche aussi)
! Si c’était la fonction cible, alors on va commettre des erreurs en généralisation (sur des exemples non vus)
51!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Stratégie générale
• Bien choisir un langage de représentation des concepts (hypothèses)
! Limiter son expressivité (sinon on ne peut pas apprendre)
! E.g. concept conjonctif, m-of-n, réseau de neurones d’architecture bien choisie, …
• Considérer un espace d’hypothèses flexible
! Permettant de considérer des classes d’hypothèses de plus en plus riches
! Arbres de décision, réseaux de neurones, SVM, …
• Concevoir un algorithme d’exploration de l’espace des hypothèses H ! Pour trouver une « bonne » hypothèse (qui s’accorde approximativement aux données)
! Et espérer que cette hypothèse généralisera bien à des données non vues
52!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
L’apprentissage de concept
53!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Apprendre ! prédiction dans X
+! +!+!+!
+! +!+!
-!-!
-!
-!
-!
-!
-!-!
-!
Espace des exemples : !X!
+/- ?!
" Hypothèse de continuité dans X !
54!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Trois ingrédients : trois questions
55!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Apprendre = un jeu entre espaces
Espace des exemples : X ! Espace des hypothèses : H !
LH
# Comment choisir l’espace des hypothèses (i.e. le langage LH ) ?!
+! +!+!+!
+! +!+!
-!-!
-!
-!-!
-!
-!-!
-!
x ! h!
56!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
1- Choix de H
57!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Impossibilité de l’induction sans biais
• Combien de fonctions possibles de 4 entrées booléennes et une sortie booléenne ?
Exemple x1 x2 x3 x4 Etiquette
1 0 0 0 0 ?
2 0 0 0 1 ?
3 0 0 1 0 0
4 0 0 1 1 1
5 0 1 0 0 0
6 0 1 0 1 0
7 0 1 1 0 0
8 0 1 1 1 ?
9 1 0 0 0 ?
10 1 0 0 1 1
11 1 0 1 0 ?
12 1 0 1 1 ?
13 1 1 0 0 0
14 1 1 0 1 ?
15 1 1 1 0 ?
16 1 1 1 1 ?
• Combien de fonctions encore envisageables quand on connaît 7 exemples ?
Apprendre est-il possible ?
58!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
+! +!+!+!
+! +!+!
-!-!
-!
-!-!
-!
-!-!
-!
Espace des exemples : !X!
Biais = Contraintes sur l’espace d’hypothèses
• Apprendre (pour prédire) est impossible …
… sans limitation sur l’espace des hypothèses
+/- ?!
Espace des hypothèses : H
x !hj!
hk!
x !hi!
x !
x !hi!x !hi!x !hi!x !hi!
x !hi!x !hi!
x !hi!x !hi!x !hi!
x !hi!x !hi!x !hi!
x !hi!x !hi!x !hi!x !hi!
x !hi!x !hi!x !hi!
x !hi!x !hi!x !hi!x !hi!
x !hi!x !hi!x !hi!x !hi!x !hi!x !hi!
59!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
2- L’évaluation des hypothèses dans H
60!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Le critère inductif
+! +!+!+!
+! +!+!
-!-!
-!
-!-!
-!
-!-!
-!
LH
x ! h!
X H
61!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Critère de performance
R(h) = l h(x), u( ) dP(x, y)X!Y"
Étiquette !prédite!
Étiquette vraie!(ou désirée)!
Loi de probabilité!jointe sur X " Y!
62!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Exemples de fonctions de perte
• Discrimination
• Régression
• Estimation de densité
l (h(xi), ui) = 0 si ui = h(xi )1 si ui ! h(xi )" # $
l (h(xi), ui) = h(xi) ! ui[ ]2
l (h(xi)) = ! ln h(xi)
63!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
64!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
(i) Le principe inductif ERM
REmp(h) = l h(xi ), ui( )i = 1
m
!
R(h) = l h(x), u( ) dP(x, y)X!Y"
65!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
(ii) Approche bayésienne 66!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
3.1- (iii) Principe de compression maximale
67!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
L’exploration de H
# Quelle méthode d’exploration de H ? !
+! +!+!+!
+! +!+!
-!-!
-!
-!-!
-!
-!-!
-!
LH
x ! h!
X H
x ! h!x !h!? ?
68!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
3- L’exploration de H
69!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
2- Apprendre = explorer un espace d’hypothèses
• Comment choisir une (des) hypothèse(s) ?
• Notion de biais de représentation
+ +++
+ ++
--
-
-
-
-
--
-
70!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
2- Apprendre = explorer un espace d’hypothèses
• Exploration de l’espace d’hypothèses!
• Mesure de l’adéquation de l’hypothèse (critère de succès)!
+ ! + !+ !+ !
+ ! + !+ !
- !- !
- !
- !
- !
- !
- !- !
- !
x !
x ! x !? -!
Nouvel!exemple!
hj!hk!
hi! ?
Espace des exemples : X Espace des hypothèses : H
71!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
4- Apprendre = explorer un espace d’hypothèses
• Exploration de l’espace d’hypothèses!
# guidée par les relations de généralités dans H!
+ ! + !+ !+ !
+ ! + !+ !
- !- !
- !
- !
- !
- !
- !- !
- !
x !
x ! x !? -!
Nouvel!exemple!
hj!hk!
hi! ?
Espace des exemples : X Espace des hypothèses : H
72!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
4- Induction et généralisation
Comment corriger une hypothèse défectueuse!
++
+
+ +
+
+
0
000
0
0
0
0
X
hm
Nouvel exemple : (xm+1 ,-1)
hm+1+
++
+ +
+
+
0
0
0
0
0
0
0
X
hm
Nouvel exemple : (xm+1 ,+1)
hm+1+
(a) (b)
73!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
4- Couverture des exemples par une hypothèse
• h1 : complète mais incorrecte!
• h2 : correcte mais incomplète!
• h3 : complète et correcte : cohérente!
++
+
+ +
+
+
0
0
00
0
0
0
0
X
h1
h2h3
74!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
4- Relation d’inclusion et relation de généralité
Vers la généralisation
++ +
+ ++
+
0
00
0
0
0
0
Xcouverture(ht)
ht
ht+1
H
+
couverture(ht+1)
75!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
4- Relation d’inclusion et relation de généralité
Vers la spécialisation
++ +
+ ++
+
0
000
0
0
0
0
X
ht
ht+1
H
couverture(ht+1)
couverture(ht)
76!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
4- La relation de généralité induite dans H
Relation de généralité dans H induite par la relation d'inclusion dans X
X
h1
h2
H
couverture(h3)
couverture(h2)
h3
couverture(h1)
77!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
4- Treillis de généralisation dans H
Ordre partiel dans H
hi hj
gms(hi, hj)
smg(hi, hj)
H
78!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
4- Les opérateurs
• Généralisation
! Transforme une description en une description plus générale
• Spécialisation
! Duale de la généralisation
! (En général : produit une description qui est une conséquence logique de la description initiale)
• Reformulation
! Transforme une description en une description logiquement équivalente
79!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
4- Opérateurs de généralisation
• Règle d’abandon de conjonction
! A & B # C => A # C
ferrari & rouge # coûteux => ferrari # coûteux
• Règle d’ajout d’alternative
! A # C => A $ B # C
ferrari # coûteux => ferrari $ rouge # coûteux
• Règle d’extension du domaine de référence
! A & [B = R] # C => A & [B = R’] # C
grand & [couleur = rouge] # coûteux => grand & [couleur rouge $ bleu] # coûteux
80!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
4- Opérateurs de généralisation
• Règle de clôture d’intervalle
! A & [B=v1] # C & A & [B = v2] # C => A & [B = v1 ... v2] # C
grand & [coût = 100] # à acheter && grand & [coût = 150] # à acheter => grand & [coût = 100 .. 150] # à acheter
• Règle de l’ascension dans l’arbre de hiérarchie
! A & [B= n1] # C && A & [B= n2] # C => A & [B= N] # C
corrosif & [élément = chlorine] # toxique
corrosif & [élément = bromine] # toxique
=> corrosif & [élément = halogène] # toxique
Halogène!
Bromine!Chlorine!
81!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
4- Opérateurs de généralisation
• Règle de variabilisation
! F(a) & F(b) & ... # C => % v, F(v) # C
grand(sommet_objet) & grand(fond_objet) & ... # C
=> % partie, grand(partie) # C
• Règle de changement de conjonction en disjonction
! A & B # C => A $ B # C
grand & rouge # coûteux => grand $ rouge # coûteux
• Règle d’extension du domaine de quantification
! & v, F(v) # C => % v, F(v) # C
& partie, grand(partie) # C => % partie, grand(partie) # C
82!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
4- Opérateurs de généralisation
• Inversion de la résolution
! A & B # C && ¬A & D # C => B $ D # C
vieux & grand # C && ¬ vieux & rouge # C => grand $ rouge # C
• Règle anti-extension
! A & [B=v1] # C && D & [B=v2] # ¬C => [B ! v2] # C
• Règle constructive de généralisation (modifiant les descripteurs)
! A & B # C && D # C => A & D # C
83!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
L’espace des versions
et
L’algorithme d’élimination des candidats
84!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
5- Représentation de l'espace des versions
Observation fondamentale :
L'espace des versions structuré par une relation d'ordre partiel peut être représenté par :
! sa borne supérieure : le G-set
! sa borne inférieure : le S-set
• G-set = Ensemble de toutes les hypothèses les plus générales cohérentes avec les exemples connus
• S-set = Ensemble de toutes les hypothèses les plus spécifiques cohérentes avec les exemples connus
H
G
S
hi hj
85!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
5- Apprentissage ...
… par mise à jour de l'espace des versions
Idée :
maintenir le S-set
et le G-set
après chaque nouvel exemple
# Algorithme d'élimination des candidats
86!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
5- Algorithme d'élimination des candidats
Initialiser S et G par (resp.) :
! l'ensemble des hypothèses les plus spécifiques (les plus générales) cohérentes
avec le 1er exemple positif connu.
Pour chaque nouvel exemple (positif ou négatif)
! mettre à jour S
! mettre à jour G
Jusqu'à convergence
ou jusqu'à ce que S = G = Ø
87!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
5- Mise à jour de S
• xi est négatif
! Eliminer les hypothèses de S couvrant (indûment) xi
• xi est positif
! Généraliser les hypothèses de S ne couvrant pas xi juste assez pour qu'elles le couvrent
! Puis éliminer les hypothèses de S
– couvrant un ou plusieurs exemples négatifs
– plus générales que des hypothèses de S
88!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
5- Mise à jour de G
• xi est positif
! Eliminer les hypothèses de G ne couvrant pas xi
• xi est négatif
! Spécialiser les hypothèses de G couvrant xi juste assez pour qu'elles ne le couvrent plus
! Puis éliminer les hypothèses de G
– n'étant pas plus générales qu'au moins un élément de S
– plus spécifiques qu'au moins une autre hypothèse de G
89!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
5- Algorithme d'élimination des candidats
Mise à jour des bornes S et G
H
G
Sx
x
x
x(a)
(b)
(c)
(d)
x(d')
(b')
(a')
xx
x
90!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
5- Propriétés de l'AEC
• Incrémentalité
• Complexité ?
• Utilisation si non convergence ?
• Que signifie S = G = Ø ?
• Possibilité d'"apprentissage actif" ?
• Que faire si les données sont bruitées ?
91!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
5- Exemple : le système LEX (1)
Résolutionde problèmes Généralisation
Critique
Générationde problèmes
Exercice
Trace détaillée de latentative de résolution
de l'exercice
Heuristiquespartiellement
apprises
Exempled'apprentissage
92!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
5- Exemple : le système LEX (2)
Résolutionde problèmes Généralisation
Critique
Générationde problèmes
Calculer la primitive de :! 3x cos(x) dx
! 3x cos(x) dx
3x sin(x) - ! 3x sin(x) dx
3x sin(x) - 3 ! x sin(x) dx
3x sin(x) - 3x cos(x) dx + C
OP2 avec :u = 3xdv = cos(x) dx
OP1
OP5
Un des exemples positifs proposés :
! 3x cos(x) dx" Appliquer OP2 avec :
u = 3x dv = cos(x) dx
Espace des versions pour l'utilisation del'opérateur OP2 :
S ={ ! 3x cos(x) dx " Appliquer OP2avec : u = 3x
dv = cos(x) dx}G ={ ! f1(x) f2(x) dx " Appliquer OP2
avec : u = f1(x) dv = f2(x) dx}
93!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
3.3 - Le choix d’une méthode d’apprentissage
x!h!
H
hi hj
gms(hi, hj)
smg(hi, hj)
H
Dépend fondamentalement de l’espace des hypothèses H
94!Cornuéjols 1-Introduction à l’Apprentissage Artificiel
04/10/12
Induction de grammaire
• !"#$%&'(&"')&*"+,-"'
./'0'1*2'-*3'