Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
!"#$"
%&'()&*"+(,&-./(01"
%2,(34,)15*67"8"9:;%"""<9%"=>?"
4&'()&*@6(,&-*/(01A42,(B4,)1'*67@C,"
Une Introduction à l’apprentissage artificiel""
!"#$"
D*"6(-,1"
• 8 Cours : 4 AA + 4 FD
• 3 quizz + 2 DM + 2 contrôles sur table (19 déc. 2014)
• Documents
– Le livre "L'apprentissage artificiel. Concepts et algorithmes" (Eyrolles. 2ème éd. 2010) A. Cornuéjols & L. Miclet.
– Les transparents + Informations + devoirs +
projets sur :"
7EBF!!GGG@42,(B4,)1'*67@C,!-C,H)&C(!I*IJ,*1!6(,&-*/(01!5*467)&2!<41'*,H9K9!+(-,1H9K9HL@7'I0"
M"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
!"#$"
!" #$%&'()*+,(%#-#./011'2%,33042#0',5+62.#
7" #%BB,*&P1142*"1-B*,W)1."O*"6(&6*B'"F">X"4BB,(67*#
8" #%BB,*&P1142*"B4,",.1*4-Y"6(&&*Y)(&&)1'*1#
9" #Z&"B*-"O*"'7.(,)*"1-,"0R)&O-6P(&"*'"I.'7(O*1"OR.W40-4P(&"O*"0R4BB,*&P1142*#
L"
304&"
N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V" !"#$"["N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
Introduction à
l’ Apprentissage Artificiel
!"#$"
Apprendre ?
="N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V" !"#$"\"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
!"#$"
DR4BB,*&P1142*"4,PS6)*0""
• 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
]"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V" !"#$"
^-R*1'H6*"_-*"0R4BB,*&P1142*"`"
Meilleure modélisation du monde
à partir d’observations
en vue de prédiction et de compréhension
?"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
!"#$"
^-R*1'H6*"_-*"0R4BB,*&P1142*"`"
Changements dans un système lui permettant de
réaliser le même type de tâche qu’à l’entraînnement
avec une meilleure performance
à l’avenir
#"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V" !"#$"
%BB,*&P1142*"Q"B4,P,"OR*Y*IB0*1"
• +(&6*B'"6(IB0)_-."Q"B,(2,4II*,"
– <(-W*I*&'1"4BB,(B,).1"B(-,"-&",(J('"
– 3*,1(&&*"Q",*6,-'*,"!"&*"B41",*6,-'*,"
– +4,46'.,)1P_-*1"B,.O)1B(14&'"Q"-&"6*,'4)&"'aB*"O*"64&6*,"
>$"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
" "%BB,*&P1142*"-#10','#)/2:2;1.23#
!"#$"
Recherche de régularités
>>"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V" !"#$"
>@">H"^-*0"(J/*6PC"`"""
>M"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
!"#$" 2- Modélisations
2.1 Types de modèles : Modèles constructifs
>L"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V" !"#$"
Données -> régularités pour prédire"
!"#$"
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
!"#$"
Illustrations : Grand DARPA challenge (2005)
!"#$"
Illustrations : Grand DARPA challenge (2005)
!"#$"
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)
!"#$"
Illustrations : Grand DARPA challenge (2005)
!"#$"
1. 1- Quel objectif ?
• Systèmes autonomes avec apprentissage
!"#$"
<23#2%&'=23"
M>"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V" !"#$"
Induction supervisée
!"#$"
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
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
bY*IB0*"
U!"#$%&!'()*+,#*-!V"c*16,)B'*-,"
%E,)J-'"
U.!#,/0!V"
dP_-*E*"
U!&V"
Les données : organisation et types "
!"#$"
D*1"O(&&.*1"
• >2+&('62..23#
• K._-*&6*1"
• K',-6'-,.1"
• 5*IB(,*00*1"
• KB4P40*1"
M="N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"""""""""""""b3%5H"M$>[" !"#$"
D*1"O(&&.*1"
• e*6'(,)*00*1"
• ?=@*2%+23#
• K',-6'-,.1"
• 5*IB(,*00*1"
• KB4P40*1"
D4"B,('.)&*"N"1Bf3$$$$[f+g+hij;Kb"T"*1'"46PW.*"
B4,"k"
">""""E642E2'2"44'244'224"62'266444'"42462'2662"6626626'62"4E62646E"""""""
\>"""'26E'622'"E'2662'62"E'646262'"E42E662'"'622E64E"66642E6E""""""
>M>"444'466224"62'44444'4"646'6'4462"2'66626244"24444424'4"442464'6'6""""""
>?>"2'42444'4'"'4444'444'"'66'4442'6"2E22E'6'"62E646E'"626'266'26"""""
"k"
[$M>"4244646266"24226'664'"'64'426466"46E62'62'"6E44'6666"'666'64'66"""""
[$?>"2664'22622"'26444444'"444442446'"6"
cbe9+bl*'7$""
mjj53;j5jl&(&*""
j:mjj5la*1""
93%cc;l>#M@>\?@$@n""
:b5<%KolM==@M==@M==@j""
pb5bq%gl>#M@>\?@$@M=["
1*4,67"*Y*IB0*@6(I"&4I1*,W*,"
>#M@>\?@$@M=["
M\"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"""""""""""""b3%5H"M$>["
!"#$"
D*1"O(&&.*1"
• e*6'(,)*00*1"
• K._-*&6*1"
• ?&'*+&*'=3#
• 5*IB(,*00*1"
• KB4P40*1"
D(2)_-*"O-">*,"(,O,*"F"
""""""""""J0(6Um>V"r"1-,'4J0*UmMV"r"4-HO*11-1Um>smMV"r"k""
M]"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"""""""""""""b3%5H"M$>[" !"#$"
D*1"O(&&.*1"
• e*6'(,)*00*1"
• K._-*&6*1"
• K',-6'-,.1"
• A2;1('2..23#
• KB4P40*1"
M?"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"""""""""""""b3%5H"M$>["
!"#$"
D*1"O(&&.*1"
• e*6'(,)*00*1"
• K._-*&6*1"
• K',-6'-,.1"
• 5*IB(,*00*1"
• ?10,0.23#
M#"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"""""""""""""b3%5H"M$>[" !"#$"
Types de formats
Numérique continue (R) +(IB'*"*&"J4&_-*"F">M"#>=s?\"t"
Numérique discrète (N ou Z) :(IJ,*"OR*&C4&'1"""F">>"
Binaire +.0)J4'4),*""""""""""""""""F"W,4)"
Catégorie +(-0*-,"O4&1""u,(-2*s"W*,'s"J0*-v"
Texte D4"B,('.)&*"N"1Bf3$$$$[f+g+hij;Kb"T"*1'"
46PW.*"B4,"k"
Données structurées %,J,*s"*YB,*11)(&"n<Ds"k"
Séquences H"p.&(I*"
H"K._-*&6*"O*",*_-w'*1"1-,"1)'*"G*J"
Images, vidéos
!"#$"
5,()1"'aB*1"OR4BB,*&P1142*"
L>"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V" !"#$"
Types d’apprentissages
!"#$"
Apprentissage supervisé
• Un échantillon d’apprentissage
S = {(x1, y1), (x2, y2), … , (xi , yi), … , (xm, ym)}
LL"
!"
#"
• Prédiction pour de nouveaux exemples x –h-> y ?
!"#$"
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, …)
!"#$"
Apprentissage supervisé
L="!"#$"
Apprentissage supervisé
• Un échantillon d’apprentissage
S = {(x1, y1), (x2, y2), … , (xi , yi), … , (xm, ym)}
L\"
!"
#"
• Prédiction pour de nouveaux exemples x –h-> y ?
!"#$"
1 - L'induction supervisée
!"#$"
• Discrimination
– On peut prédire que
– 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.
Apprentissage supervisé"
!"#$"
Types d’apprentissages"
!"#$"
Action Perception
Environnement
Récompense
Apprentissage de réflexes ... -> … apprentissage de planification
Types d’apprentissages"
!"#$"
Z&"B*-"O*";632#2%#1'0,@*2"
[>"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V" !"#$"
• 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
Un exemple"
!"#$"
Description! Votre réponse! Vraie réponse!
1 grand carré rouge! -!
• 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 -
>"2,4&O"64,,."W*,'"
M"B*P'1"64,,.1",(-2*1"
M"2,4&O1"6*,60*1",(-2*1"
>"2,4&O"6*,60*"W*,'"
>"B*P'"6*,60*",(-2*"
>"B*P'"64,,."W*,'"
>"B*P'"64,,.",(-2*"
M"2,4&O1"64,,.1"W*,'1"
x"
x"
x"
H"
x"
x"
x"
H"
Encore un autre exemple "
!"#$"
Illustration : un problème d’apprentissage
• On cherche à apprendre une fonction inconnue
x1 x2 x3 x4
y6'")&6(&&-*"F"!"2"l".UY>sYMsYLsY[V(
B:2;1.2# :!# :7# :8# :9# B,@*2C2#
>" $" $" >" $" $"
M" $" >" $" $" $"
L" $" $" >" >" >"
[" >" $" $" >" >"
=" $" >" >" $" $"
\" >" >" $" $" $"
]" $" >" $" >" $"
Pouvez-vous deviner
la fonction ?
!"#$"
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 ?
!"#$"
Illustration : un problème d’apprentissage
• Chercher une règle simple : de la forme d’une conjonction • 16 fonctions possibles (sans les négations)
B:2;1.2# :!# :7# :8# :9# B,@*2C2#
>" $" $" >" $" $"
M" $" >" $" $" $"
L" $" $" >" >" >"
[" >" $" $" >" >"
=" $" >" >" $" $"
\" >" >" $" $" $"
]" $" >" $" >" $"
Règle Contre-exemple
x1 (6) 1 1 0 0 0 x2 (2) 0 1 0 0 0 x3 (5) 0 1 1 0 0 x4 (7) 0 1 0 1 1 x1 ! x2 (6) 1 1 0 0 0 x1 ! x3 (3) 0 0 1 1 1 x1 ! x4 (3) 0 0 1 1 1 x2 ! x3 (3) 0 0 1 1 1 x2 ! x4 (3) 0 0 1 1 1 x3 ! x4 (4) 1 0 0 1 1 x1 ! x2 ! x3 (3) 0 0 1 1 1
Règle Contre-exemple
x1 ! x2 ! x4 (3) 0 0 1 1 1 x1 ! x3 ! x4 (3) 0 0 1 1 1 x2 ! x3 ! x4 (3) 0 0 1 1 1 x1 ! x2 ! x3 ! x4 (3) 0 0 1 1 1
Aucune de ces règles ne convient
!"#$"
Illustration : un problème d’apprentissage
• Chercher une règle simple : de la forme m of n • 20 fonctions possibles B:2;1.2# :!# :7# :8# :9# B,@*2C2#
>" $" $" >" $" $"
M" $" >" $" $" $"
L" $" $" >" >" >"
[" >" $" $" >" >"
=" $" >" >" $" $"
\" >" >" $" $" $"
]" $" >" $" >" $"
Règle Contre-exemple
{x1} 8#
{x2} 7#
{x3} !#
{x4} D#
{x1,x2} 7# 8#
{x1,x3} !# 8#
{x1,x4} E# 8#
{x2,x3} 7# 8#
{x2,x4} 7# 8#
{x3,x4} 9# 9#
{x1,x2,x3} !# 8# 8#
Règle Contre-exemple
{x1,x2,x4} 7# 8# 8#
{x1,x3,x4} !# FFF#
8#
{x2,x3,x4} !# G# 8#
{x1, x2,x3,x4} !# G# 8# 8#
On a trouvé une règle ! !"#$"
Et pour la prédiction de séquence …
!"#$"[#"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
Apprentissage supervisé de concept
Une 1ère approche
!"#$"
• Induction d’une fonction indicatrice (à valeur dans {-1,+1})
=$"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
9&O-6P(&"1-B*,W)1.*"O*"6(&6*B'"F"*Y*IB0*"
!"#$"
+" +"+"+"
+" +"+"
-"-"
-"
-"
-"
-"
-"-"
-"
B310+2#)23#2:2;1.23#H#"X"
x!H"`"
" ### Hypothèse de continuité dans#X##=>"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
%BB,*&O,*"""""B,.O)6P(&"O4&1"X""
!"#$"
b1B46*"O*1"*Y*IB0*1#H#X#" b1B46*"O*1"7aB('7z1*1#H#H###
LH
+" +"+"+"
+" +"+"
-"-"
-"
-"-"
-"
-"-"
-"
x ! 3(
=M"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
%BB,*&O,*"l"-&"/*-"*&',*"*1B46*1"
!"#$"
+" +"+"+"
+" +"+"
-"-"
-"
-"-"
-"
-"-"
-"
LH
x ! 3(
X H
=L"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
%BB,(67*,"0*"N"6(&6*B'"6)J0*"T"
!"#$"
# #Quelle méthode d’exploration de#H#I##
+" +"+"+"
+" +"+"
-"-"
-"
-"-"
-"
-"-"
-"
LH
x ! 3(
X H
x ! 3(x !3(? ?
=["N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
DR*YB0(,4P(&"O*"H""
!"#$"
$%&&'()"*%++,-'+".('"#/0%)#12'"34!'*).'.2'#
++
+
+ +
+
+
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)
<(O)S64P(&"OR-&*"7aB('7z1*"6(-,4&'*"
!"#$"
• J!#H#*%&051)'#;063#,(*%++'*)'#
• J7#H#*%++'*)'##;063#,(*%&051)'#
• J8#H#*%&051)'#2&#*%++'*)'#H#
*%#4+'()'#
++
+
+ +
+
+
0
0
00
0
0
0
0
X
h1
h2h3
Couverture des exemples par une hypothèse"
!"#$"=]"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
Structuration de H
!"#$"
Induction supervisée de concept
Algorithme de l’espace des Versions
=?"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
!"#$"
Vers la généralisation
++ +
+ ++
+
0
00
0
0
0
0
Xcouverture(ht)
ht
ht+1
H
+
couverture(ht+1)
=#"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
;*04P(&"OR)&60-1)(&"*'",*04P(&"O*"2.&.,40)'."
!"#$"
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)
\$"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
D4",*04P(&"O*"2.&.,40)'.")&O-)'*"O4&1"H""
!"#$"
{ J!#H#*%&051)'#;063#,(*%++'*)'#
{ J7#H#*%++'*)'##;063#,(*%&051)'#
{ J8#H#*%&051)'#2&#*%++'*)'#H#
*%#4+'()'#
++
+
+ +
+
+
0
0
00
0
0
0
0
X
h1
h2h3
\>"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
+(-W*,'-,*"O*1"*Y*IB0*1"B4,"-&*"7aB('7z1*"
!"#$"
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)
\M"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
D4",*04P(&"O*"2.&.,40)'.")&O-)'*"O4&1"H""
!"#$"
Ordre partiel dans H
hi hj
gms(hi, hj)
smg(hi, hj)
H\L"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
5,*)00)1"O*"2.&.,40)14P(&"O4&1"H""
!"#$"\["N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
Opérateurs d’exploration de H
!"#$"
• p.&.,40)14P(&"– 5,4&1C(,I*"-&*"O*16,)BP(&"*&"-&*"O*16,)BP(&"B0-1"2.&.,40*"
• KB.6)40)14P(&"– c-40*"O*"04"2.&.,40)14P(&"
– Ub&"2.&.,40"F"B,(O-)'"-&*"O*16,)BP(&"_-)"*1'"-&*"6(&1._-*&6*"0(2)_-*"O*"04"O*16,)BP(&")&)P40*V"
• ;*C(,I-04P(&"
– 5,4&1C(,I*"-&*"O*16,)BP(&"*&"-&*"O*16,)BP(&"0(2)_-*I*&'"._-)W40*&'*"
\="N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
D*1"(B.,4'*-,1"
!"#$"
• Règle d’abandon de conjonction
– %"r"m"""+"" ""l|" ""%"""+"
" ""C*,,4,)"r",(-2*"""6(}'*-Y" ""l|" ""C*,,4,)"""6(}'*-Y"
• Règle d’ajout d’alternative
– %""""+"" ""l|" ""% # m""""+"
" "C*,,4,)"""6(}'*-Y" ""l|" ""C*,,4,)""#"",(-2*""""6(}'*-Y"
• Règle d’extension du domaine de référence
– %"r"~m"l";�"""+""""l|""""%"r"~m"l";R�"""+""
" "2,4&O"r"~6(-0*-,"l",(-2*�"""""""""6(}'*-Y"""
"l|""2,4&O"r"~6(-0*-,",(-2*""# "J0*-�"""6(}'*-Y"
\\"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
jB.,4'*-,1"O*"2.&.,40)14P(&"
!"#$"
[H"jB.,4'*-,1"O*"2.&.,40)14P(&"
• Règle de clôture d’intervalle
– %"r"~mlW>�"""+""r""%"r"~m"l"WM�"""+""""l|""%"r"~m"l"W>"@@@"WM�"""+"
" "2,4&O"r"~6(}'"l">$$�"""Q"467*'*,"rr"2,4&O"r"~6(}'"l">=$�"""Q"467*'*,""
"""l|""2,4&O"r"~6(}'"l">$$"@@">=$�"""Q"467*'*,""
• Règle de l’ascension dans l’arbre de hiérarchie
– %"r"~ml"&>�"""""+"""""rr""""%"r"~ml"&M�"""""+""""l|""""%"r"~ml":�"""""+""
" "6(,,(1)C"r"~.0.I*&'"l"670(,)&*�"""""'(Y)_-*"
" "6(,,(1)C"r"~.0.I*&'"l"J,(I)&*�"""""'(Y)_-*"
" ""l|"""6(,,(1)C"r"~.0.I*&'"l"740(2z&*�"""""'(Y)_-*"
4#&567*!(
805$)*!(93&50)*!(\]"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V" !"#$"
[H"jB.,4'*-,1"O*"2.&.,40)14P(&"
• Règle de variabilisation
– yU4V"r"yUJV"r"@@@""""""+"" "l| ""$"Ws"yUWV"""+"
" "2,4&OU1(II*'h(J/*'V"r"2,4&OUC(&Oh(J/*'V"r"@@@"""""+"
" "l|" ""$"B4,P*s"2,4&OUB4,P*V""""+"
• Règle de changement de conjonction en disjonction
– %"r"m""""+" "l|"""""""% # m"""""+"
" "2,4&O""r",(-2*"""""6(}'*-Y" "l|"" "2,4&O"# ,(-2*""" 6(}'*-Y"
• Règle d’extension du domaine de quantification
– %"Ws"yUWV " +" ""l|" "$ Ws"yUWV"""""+"
%"B4,P*s"2,4&OUB4,P*V " +" ""l|" "$ B4,P*s"2,4&OUB4,P*V """+"
\?"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
!"#$"
[H"jB.,4'*-,1"O*"2.&.,40)14P(&"
• Inversion de la résolution
– %"r"m"""""+""""rr""""Ä%"r"c""""+""""""""l|"""""m # c"""""+"
W)*-Y"r"2,4&O""""""+""""rr""""Ä"W)*-Y"r",(-2*"""""+""""""""
"""l|"""""2,4&O # ,(-2*"" """"+"
• Règle anti-extension
– %""r""~mlW>�"""""+"""rr"""c"r"~mlWM�""" ""Ä+"""l|"""~m"Å"WM�""""""+"
• Règle constructive de généralisation (modifiant les descripteurs)
– %""r""m"""+"""rr"""c"""+ "l|" ""%""r""c"""+"
\#"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V" !"#$"]$"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
L’espace des versions a deux bornes
Une idée brillante
!"#$"
=H";*B,.1*&'4P(&"O*"0Ç*1B46*"O*1"W*,1)(&1"
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
]>"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V" !"#$"]M"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
L’algorithme d’élimination des candidats
!"#$"
%BB,*&P1142*"@@@"
""""""""""""""""""""""":(%#0($)+!(;(<5/0(=!(&>!+%#-!(=!+(?!0+)5*+"
9O.*"F""
""""""""""I4)&'*&),"0*"KH1*'""
""""""""""""""""""""""""*'"0*"pH1*'""
4B,z1"674_-*"&(-W*0"*Y*IB0*"
# """""""@&650),3$!(=>A&)$)*#B5*(=!+(-#*=)=#,+"
]L"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V" !"#$"
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 = É"
]["N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
%02(,)'7I*"OÇ.0)I)&4P(&"O*1"64&O)O4'1"
!"#$"
• 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
]="N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
<)1*"Q"/(-,"O*"K"
!"#$"
• 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
]\"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
<)1*"Q"/(-,"O*"p"
!"#$"
=H"%02(,)'7I*"OÇ.0)I)&4P(&"O*1"64&O)O4'1"
Mise à jour des bornes S et G
H
G
Sx
x
x
x(a)
(b)
(c)
(d)
x(d')
(b')
(a')
xx
x
]]"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V" !"#$"
• Incrémentalité
• Complexité ?
• Utilisation si non convergence ?
• Que signifie S = G = Ø ?
• Possibilité d'"apprentissage actif" ?
• Que faire si les données sont bruitées ?
]?"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
3,(B,).'.1"O*"0R402(,)'7I*"
!"#$"
bY*,6)6*"
]#"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V" !"#$"?$"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
Illustration : Le système LEX
!"#$"
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
?>"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
bY*IB0*"F"0*"1a1'zI*"Dbn"U>V"
!"#$"
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}
?M"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
bY*IB0*"F"0*"1a1'zI*"Dbn"UMV"
!"#$"
Ce que nous n’avons pas vu
?L"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V" !"#$"
:(-1"W*,,(&1"B0-1"'4,O"
• D*"B,(J0zI*"O-"+()042#O*1"2%&'=23#
• D*"B,(J0zI*"O-"6(O42*"O*1"1(,P*1"
• D*"B,(J0zI*"O*"./=K0.*0,(%#O*1"7aB('7z1*1"4BB,)1*1"
• cR0*&'23#L(';23#)/011'2%,33042#
?["N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
!"#$"?="N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
Choix du codage
!"#$"
bY*IB0*"F"4BB,*&O,*"*1'"O)Ñ6)0*""
• j-)"
• j-)"
• :(&"?\"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V"
!"#$"
^-*1P(&1"F"O(&&.*1"*'"6(&&4)114&6*1"4"B,)(,)"
• b1'H6*"-&*"'Ö67*"O*",*6(&&4)114&6*"O*"C(,I*"`"O*"64,46'z,*1"`"
• 95$$!*,(-5=!0(&!+(!"!$%&!+(C(
0 1 1 1 1 1 1 0 1 1 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0!
• Le choix de la représentation peut rendre l’apprentissage trivial
" Mais comment faire ce choix ?
?]"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V" !"#$"
%"0*4,&)&2"B-ÜÜ0*"
f = −1
f = +1
f = ?
??"N"9&',(O-6P(&"'("<467)&*"D*4,&)&2"T"""""""U%@"+(,&-./(01V"
!"#$"
+(&60-1)(&1"
?#"N"9&',(O-6P(&"Q"0R%BB,*&P1142*"%,PS6)*0"T"""""""U%@"+(,&-./(01V" !"#$"
+(&60-1)(&1"
• "K*W*,40"'aB*1"(C"0*4,&)&2"'41á1"– K-B*,W)1*O"à"-&1-B*,W)1*O"à",*)&C(,6*I*&'"0*4,&)&2"
– m-'"401("1*I)H1-B*,W)1*O"0*4,&)&2s",4&á)&2s"(&H0)&*"0*4,&)&2s"k"
• "K-B*,W)1*O"0*4,&)&2"l"1*4,67")&"4&"7aB('7*1)1"1B46*"
– i(G"'("6(O*"'7*")&B-'1`"
– i(G"'("67((1*"'7*"7aB('7*1)1"1B46*"i`"
– i(G"'("*YB0(,*"i`"
#$"N"9&',(O-6P(&"'("<467)&*"D*4,&)&2"T"""""""U%@"+(,&-./(01V"