1
Apprentissages
Intelligence artificielle
P. De Loor - enib – 2004
2
Multiplicité des apprentissages
«Essais qu'on fait d'une chose pour y devenir habile » 3 courants des Sciences Cognitives
Behavioristes Cognitivistes Connexionnistes
Plusieurs apprentissages artificiels Renforcement
Évolution simulée Induction logique/baysienne Réseaux de neurones
?
Plan sur la multiplicité des apprentissages Apprendre quoi ?
Apprendre à partir de quoi ? Points communs
Apprendre comment ? Points communs
Multiplicité des
apprentissages artificiels
4
Multiplicité des apprentissages
Plusieurs sujets d’apprentissages artificiels Apprendre quoi ?
à classer à raisonner à agir à apprendre
…
Y a-t-il des points communs ?
5
Apprendre à Classer
largeur : 10 hauteur : 15 largeur : 100 hauteur : 15 largeur : 100 hauteur : 25 largeur : 10 hauteur : 2 largeur : 2 hauteur : 7
grand
moyen
petit
largeur : 50 hauteur : 7
6
Apprendre à raisonner
A B
C
A B C
A B C A B
C
Une figure est une arche quelque soit la forme de C si C est sur A et sur B et qu’il y a un espace entre A et B
7
Apprendre à agir
[Sigaud & Flacher2002]
Un mouton veut survivre le plus longtemps possible
Il doit choisir ses déplacements
Chaque fois qu’une variable d’état sort d’un seuil de confort il perd des points de vie
Être dans la bergerie 1.5
0.01 -0.02 Sommeil
Être au point d’eau 1
0.02 Soif -0.2
Être dans l’herbe 1.8
0.01 -0.03 Faim
Condition de satisfaction seuil
non oui état
8
Apprendre à partir de quoi Gros paquets d’exemples
Exemples donnés au fur et à mesure Aucuns exemples
juste le résultat (gagné/perdu) règle du jeu / jeu contre soi-même Exemples générés par évaluation
améliorer sa qualité d ’apprentissage
Points communs : Apprendre c’est s’améliorer
L’apprentissage est « mesurable »
Les apprentissages supposent un modèle à apprendre et un modèle apprenant
Un programme apprend une tache (T) à partir d ’expériences (E) si les performances (P) pour effectuer T
s ’améliorent avec E. (Mitchell97)
10
Generateur d ’expérience
Evaluation de Performance
Comparaison
Generalisation
Hypothèse
E
P Apprentissage
Points communs : Apprendre c’est s’améliorer
11
Ce que l ’on améliore apprentissage de concepts
règles les plus générales possibles (simples et discriminantes)
apprentissage de comportements
nombre de parties gagnées
apprentissage de raisonnements
explication
Points communs : Apprendre c’est s’améliorer
12
Points communs : Apprendre c’est généraliser
oui non
?
13
Multiplicité des apprentissages : apprendre comment
Plusieurs techniques d’apprentissages artificiels
Apprendre comment ?
sujets d’apprentissage
modèle des sujets Un apprentissage artificiel
métaphores
techniques
Modèle
« l’apprenant » Adéquation ?
14
Exemples de modèles Apprenant
Réseaux baysiens
Modèle du sujet : Attributs/valeurs et probabilité conditionnelle Modèle apprenant : réseau baysien
Technique : induction baysienne Métaphore : théorie des probabilités ? Réseaux de neurones
Modèle du sujet : entrées/sorties
Modèle apprenant : fonction mathématique et interconnexions Technique : rétro-propagation (par exemple)
Métaphore : connexionnisme Logique propositionnelle
Modèle du sujet : association attribut/valeurs - véracité
Modèle apprenant : hypothèses conjonctions d’attributs-valeurs (par exemple) Technique : induction logique/mesure de l’entropie
Métaphore : bon sens (cognitivisme ?)
Exemple : l’induction baysienne
température
élevée ciel bleu
hiver
besoin de bois
disponibilité camions
Livré aujourd’hui
probabilité d’être livré aujourd’hui ? Probabilité d’avoir besoin de bois si le ciel est bleu ?
P(h|te,cb)=0.1 P(h|te,¬cb)=0.3 P(h| ¬te,cb)=0.6 P(h| ¬te, ¬cb)=0.8
16
Exemple : les réseaux de neurones artificiels
Réseaux de neurones (artificiel)
∈
∑
=
) (
*
j source i
i ij
j w y
σ
w1n w1m w2n w2m
yn
y1
y2
ym
) ( i
i f
y = σ
McCulloh et Pitts 1943
17 Perceptron
Multicouche (Rosenblatt 57) Réseaux
Récurrents/analogie énergétique (Hopfield 1982)
Carte
auto-organisatrice (Kohonen 1982)
Loi de Hebb
modèles apprentissage
Apprentissage compétitif non supervisé Rétro-propagation (Rumelhart et McClelland,
1986)
supervisé
Exemple : les réseaux de neurones artificiels
18 +
-
Supervisé souvent, mais pas toujours …
Exemple : les réseaux de neurones artificiels
19
Dynamique d’un réseau de Hopfield Exemple : les réseaux de neurones artificiels
20
Dynamique d’un réseau de Hopfield (décomposition harmonique) Exemple : les réseaux de neurones artificiels
Exemple : évolution simulée (Holland75)
Métaphore (Darwin)
environnement
population sélection reproduction
évolution
22
Exemple : évolution simulée
Générer une population aléatoirement
Évaluer chaque individu par la fonction de fitness
Sélectionner les meilleurs
Faire des croisements/mutations
23
Exemple : l’apprentissage par renforcement
environnement
Apprentissage par exploration trouver la meilleure action d ’après l ’expérience passée
optimiser les récompenses
récompense ou renforcement perception
actions état
but atteint ?
selection modification
24
Existe avec AG et RdN
Mais désigne généralement la technique suivante : Construction d’un modèle probabiliste de l’environnement (chaines de markov)
Récompense à certains moments
Règle de gestion de l’exploration/exploitation
Exemple : l’apprentissage par renforcement
25
Exemple : l’induction logique
Trouver une formule logique Compromis général/spécifique Problèmes lié au bruit
+
- +
? +
? ?
-
26
Points communs :
apprendre c’est « impliciter » un modèle
Equation logique et ?
ou ?
taille de l’équation ? RdN
Nb de neurones Architecture
…
Points communs : Impliciter un modèle c’est introduire des Biais
« La
Connaissance » « Modèle ! »
Apprentissage artificiel
Modèle ?
résultats résultats
biais de représentation
biais inductif
28
Points communs : Impliciter un modèle c’est introduire un Biais
Les biais :
Il y a incertitude sur la validité du modèle (le modèle doit être souple)
Si il y a généralisation : le modèle autorise une
« confusion/analogie » entre différents cas Le biais de représentation est la différence entre ce que permet le modèle et ce qu’il faut effectivement apprendre (et qui est inconnu)
Le biais inductif est la possibilité pour un apprentissage de rapprocher des cas qui n’étaient pas à rapprocher
Le biais de représentation implique un biais inductif ou biais d’apprentissage
29
Exemple de biais sur l’apprentissage une fonction de partitionnement
+
- +
+
-
?
? ?
30
Exemple de biais sur l’apprentissage une fonction de partitionnement
exemples
+
f -
Fonction de partitionnement f
31
Exemple de biais sur l’apprentissage une fonction de partitionnement
On peut déduire plusieurs f possibles
((forme=triangle)∧(couleur=rouge)∧(cadre=carré))∨
((forme=triangle) ∧(couleur=bleu)∧(cadre=carré)) ∨ ((forme=rond) ∧(couleur=rouge)∧(cadre=carré))
Cette fonction de partitionnement des exemples exclura tout autre exemple
((forme=rond)∧(couleur=rouge)∧(cadre=carré))∨((forme=r ond)∧(couleur=bleu)∧(cadre=carré))
Cette fonction reclasse bien nos exemples et n’exclue pas tous les autres
32
Exemple de biais sur l’apprentissage une fonction de partitionnement Exemple : reclassement grâce à la fonction :
?
?
?
+
- ((forme=rond)∧(couleur=rouge)∧(cadre=carré))∨((
forme=rond)∧(couleur=bleu)∧(cadre=carré))
Exemple de biais sur l’apprentissage une fonction de partitionnement Problème : paradoxe de l’apprentissage
Pour 3 exemples à partitionner dans 2 ensembles, il y a 8 fonctions de partitionnement possibles.
Si l’on prend n’importe lequel de ces exemples : 4 fonctions le classeront positif !
4 fonctions le classeront négatif ! Alors laquelle est la bonne ?
Le modèle n’admet aucune généralisation Parce qu’il considère tous les attributs
On ne peut faire q’un apprentissage « par-cœur ».
34
Exemple de biais sur l’apprentissage une fonction de partitionnement
Modèle de f généralisant : Un seul attribut-valeur
(cadre=carré)
+
- +
- +
- +
-
35
Exemple de biais sur l’apprentissage une fonction de partitionnement
Modèle d’apprentissage :(cadre=carré)
Imaginons qu’il y ait un Modèle réel :
(cadre=carré)∨((couleur=bleue)∧(forme = triangle))
+
- +
+/- +
- +
-
biais
36
Apprentissage de concepts
Exemple : faire de la planche à voile
Ex ciel temp humidité vent eau prévision planche 1 soleil chaud normale fort tiède stable oui (positif) 2 soleil chaud élevée fort tiède stable oui 3 pluie froid élevée fort tiède variable non (négatif) 4 soleil chaud élevée fort fraîche variable oui
Hypothèse d ’une fonction représentant le concept : conjonction des valeurs des attributs.
37
Différentes hypothèses
Quand il fait chaud et que la température est élevée
<?, chaud, élevée, ?, ?, ?>
Hypothèse la plus générale (dans n ’importe quelle condition)
<?, ?, ?, ?, ?, ?>
Hypothèse la plus restrictive (jamais)
<Ø, Ø, Ø, Ø, Ø, Ø>
Satisfaction d ’un exemple
une hypothèse h satisfait un exemple x si x ⊂h par commodité on dira aussi h(x) = positif
38
La meilleure hypothèse
Hypothèse la plus générale telle que Exemples positifs confirmés
Exemples négatifs infirmés
∀x, c(x)=h(x) (c:concept, h:hypothèse) Nombre d ’hypothèses possibles
monstrueux (valeurs attributs + ? et ø) heuristiques de recherche
Classement «Spécifique - Général»
Notion utilisée par de nombreux algorithmes
hi est plus générale que hj si le nombre d ’exemples satisfaits par hi est supérieur au nombre d ’exemples satisfaits par hj Notion indépendante des valeurs des exemples (positifs ou négatifs)
40
Classement « Spécifique - Général »
exemples hypothèses
h1 h3
h2
x1 x2
général spécifique
h1=<soleil,?,?,fort,?,?>
h2=<soleil,?,?,?,?,?>
h3=<soleil,?,?,?,fraîche,?>
x1=<soleil,chaud,élevé,fort,fraîche,stable>
x2=<soleil,chaud,élevé,faible,tiède,stable>
ajout de valeurs
<?,?,?,?,?,?>
<Ø ,Ø ,Ø ,Ø ,Ø >
41
Algorithme « Find-S »
Recherche d ’une hypothèse maximisante satisfaisant tous les exemples positifs.
∀x tel que c(x)=positif : h(x)=c(x) la plus spécifique possible.
aucune considération sur les exemples négatifs Exploitation du classement général-spécifique
42
Algorithme « Find-S »
<Ø,Ø,Ø,Ø,Ø,Ø>
Exemple 1 : <soleil, chaud, normal, fort, tiède, stable>
positif
<soleil, chaud, normal, fort, tiède, stable>
Exemple 2 : <soleil, chaud, élevée, fort, tiède, stable>
positif
<soleil, chaud, ?, fort, tiède, stable>
Exemple 3 : <pluie, chaud, élevée, fort, tiède, stable>
négatif : ne rien faire
<soleil, chaud, ?, fort, tiède, stable>
Exemple 4 : <soleil, chaud, élevée, fort, fraîche, variable>
positif
<soleil, chaud, ?, fort, ?, ?>
spécifique
général
43
Algorithme « Find-S »
Inconvenients
ne trouve pas d ’autres hypothèses valables trouve la plus spécifique
ne détecte pas les inconsistances des exemples
sensible au « bruit »
Il existe des exemples où il y a plusieurs hypothèses valides de spécificité comparable
44
Espace des versions :
algorithme d ’élimination des candidats
Trouve toutes les hypothèses consistantes avec les exemples (espace des versions) Sans calculer toutes les hypothèses possibles
En utilisant le classement « général- spécifique »
Consistance d ’une hypothèse
Une hypothèse h est consistante avec une série d ’exemples D si ∀x∈D, c(x)=h(x)
46
Représentation compacte de l ’espace des versions
<soleil, chaud, ?, fort, ?, ?>
<soleil, ?, ?, fort, ?, ?> <soleil, chaud, ?, ?, ?, ?> <?, chaud, ?, fort, ?, ?>
<soleil, ?, ?, ?, ?, ?>
Plus spécifique (S) :
Plus Générale (G) : <?, chaud, ?, ?, ?, ?> <?, ?, fort, ?, ?, ?>
non consistante avec exemples
3 hypothèses en représentent 6
<?, ?, ?, ?, ?, ?>
47
Algorithme « Candidate- Elimination »
Départ : toutes les hypothèses en 2
Premier exemple :
<soleil, chaud, normale, fort, tiède, stable> positif S trop spécifique
Plus spécifique (S) :
Plus générale (G) :
<Ø,Ø,Ø,Ø,Ø,Ø>
<?,?,?,?,?,?>
48
Transformation :
Deuxième exemple :
<soleil, chaud, élevée, fort, tiède, stable> positif S trop spécifique
à cause de « normale»
Algorithme « Candidate- Elimination »
S : <soleil, chaud, normale, fort, tiède, stable>
G :<?,?,?,?,?,?>
49
Transformation
Troisième exemple :
<pluie, froid, élevée, fort, tiède, variable> négatif G trop générale
à cause de : pluie ou froid ou variable (ou les 3)
Algorithme « Candidate- Elimination »
S : <soleil, chaud, ?, fort, tiède, stable>
G :<?,?,?,?,?,?>
50
Algorithme « Candidate- Elimination »
Transformation
Quatrième exemple :
<soleil, chaud, élevée, fort, fraîche, variable> positif S trop spécifique à cause de « tiède » et « stable »
S : <soleil, chaud, ?, fort, tiède, stable>
G :<soleil,?,?,?,?,?> <?,chaud,?,?,?,?> <?,?,?,?,?,stable>
Transformation
Représente 6 hypothèses consistantes
Algorithme « Candidate- Elimination »
S : <soleil, chaud, ?, fort, ?, ?>
G :<soleil,?,?,?,?,?> <?,chaud,?,?,?,?> <?,?,?,?,?,stable>
n ’est plus plus générale que S
52
Suppose que les exemples sont tous corrects
pas d ’inconsistances possibles (plus d ’hypothèses valides)
Les exemples doivent être représentatifs Concept complètement appris si G=S Hypothèses sous forme de conjonction
très contraignant (inconsistances si ce n ’est pas le cas)
Algorithme « Candidate- Elimination »
53
Poser une question pour apprendre
qui puisse être positive ou négative par rapport aux hypothèses actuelles
exemple : <soleil, chaud, normale, faible, tiède, stable>
choisi pour apprentissage optimal = log2(|VS|) questions
Algorithme « Candidate- Elimination »
<soleil, chaud, ?, fort, ?, ?>
<soleil, ?, ?, fort, ?, ?> <soleil, chaud, ?, ?, ?, ?>
<soleil, ?, ?, ?, ?, ?> <?, chaud, ?, ?, ?, ?>
positif négatif généralisation
spécialisation
54
Exploiter l ’apprentissage
Algorithme « Candidate- Elimination »
<soleil, chaud, ?, fort, ?, ?>
<soleil, ?, ?, ?, ?, ?> <?, chaud, ?, ?, ?, ?>
<soleil, chaud, normale, fort, fraîche, variable > : positif
<pluie, froid, normale, faible, tiède, stable > : négatif
<soleil, chaud, normale, faible, tiède, stable > : 3 positives / 3 négatives ??
<soleil, froid, normale, fort, tiède, stable > : 2 positives / 4 négatives : plutôt négatif ?
55
Notion de complexité
6 variables possédant 2 ou 3 valeurs 96 combinaisons (973 hypothèses possibles) introduction des disjonctions et négations
296≈1028 concepts possibles algo avec disjonctions ?
Impraticable
ne reclasse que les exemples donnés toute question voit nb positifs = nb négatifs biais : 973 ∼1028
56
Le rasoir d’Occam (1320)
Préférer l’hypothèse la plus simple qui corresponde aux données
Jouer au tennis
Jours Observations Température Humidité Vent Tennis
1 soleil élevée élevée faible non
2 soleil élevée élevée fort non
3 couvert élevée élevée faible oui
4 pluie moyenne élevée faible oui
5 pluie tiède normale faible oui
6 pluie tiède normale forte non
7 couvert tiède normale forte oui
8 soleil moyenne élevée faible non
9 soleil tiède normale faible oui
10 pluie moyenne normale faible oui
11 soleil moyenne normale fort oui
12 couvert moyenne élevée fort oui
13 couvert élevée normale faible oui
14 pluie moyenne élevée fort non
58
Arbre de décision
conjonctions et disjonctions Exemple : jouer au tennis
observations
humidité vent
ensoleillé pluvieux
élevée normale fort faible
non oui
oui
couvert
non oui
59
Apprendre un arbre
Qui permet de classer les exemples En acceptant des erreurs dans les exemples
Acceptant des exemples incomplets Qui soit le plus petit possible
Qui soit le plus discriminant possible Choix de l ’ordre de test des variables algorithme ID3 : notion d ’entropie
60
ID3
Exemples (n attributs)
Choix de l ’attribut le plus discriminant (« best classifier »)
Partition
(valeurs de l ’attribut)
Exemples
(n-1 attributs)
Exemples
(n-1 attributs)
Exemples
(n-1 attributs)
Valeur 1 Valeur n
Récusions
61
ID3
Fin d ’une branche
Exemples
(k attributs) Tous la même valeur
fin
62
Attribut discriminant
Théorie de l ’information
attribut apportant le plus de gain à l ’information
défini à partir de la notion d ’entropie entropie d ’un ensemble d ’exemples
S exemples positifs ou négatifs p+: proportion d ’exemples positifs p-: proportion d ’exemples négatifs
Entropie(S) = - (p+ x log2 x p+) - (p-x log2 x p-)
Entropie
Si il y a autant de + que de - Entropie(S) = 1
Si tous les exemples ont la même valeur Entropie(S) = 0
Généralisation à c valeurs possibles Entropie(S) =
Σ
-pilog2(pi)i=1 c
1
0 1 p+
0.5 0
64
Entropie : exemple
+ +
+ +
+ +
+ +
+
- -
- -
-
Entropie : -(9/14)log2(9/14) - (5/14)log2(5/14) = 0.940
65
Gain d ’entropie dû à un attribut A
Entropie(S) Exemples S
attribut A
n valeurs partition
valeur 1
valeur 2
valeur n
Entropie(S1)
Entropie(S2)
Entropie(Sn) Exemples S1
Exemples S2
Exemples Sn
Gain(S,A) = Entropie(S) -
Σ
|Sv| x Entropie(Sv)|S|
n v=1
66
Gain d ’entropie : exemple
Jours Observations Température Humidité Vent Tennis
1 soleil élevée élevée faible non
2 soleil élevée élevée fort non
3 couvert élevée élevée faible oui
4 pluie moyenne élevée faible oui
5 pluie tiède normale faible oui
6 pluie tiède normale forte non
7 couvert tiède normale forte oui
8 soleil moyenne élevée faible non
9 soleil tiède normale faible oui
10 pluie moyenne normale faible oui
11 soleil moyenne normale fort oui
12 couvert moyenne élevée fort oui
13 couvert élevée normale faible oui
14 pluie moyenne élevée fort non
S:[9+,5-]
entropie=0.940
entropie=0.940
Humidité S:[3+,4-]
entropie=0.985
S:[6+,1-]
entropie=0.592 Gain=0.151
élevée normale
entropie=0.940 Vent S:[6+,2-]
entropie=0.811
S:[3+,3-]
entropie=1 Gain=0.048
faible fort
67
Sur-Apprentissage
Si il y a peu d’exemples, un exemple erroné peut introduire un biais : arbre de décision sous-optimal.
L’algorithme apprend le bruit : arbre de décision grandissant.
68
Exemple de bruit
Tennis
Avec les 14 premiers exemples (ID3).
Exemple erroné supplémentaire :que ce passe-t-il ?
<obs:soleil,temp:élevée,hum:normale,vent:fort,tennis:non>
observations
humidité vent
soleil couvert pluie oui
oui
élevée normale forte faible
non non oui
Sur-apprentissage
Exemple [machine Learning]
Taille de l’arbre apprentissage
0 100
0
1 Données d’apprentissage (avec bruit)
Données de test
70
Sur-apprentissage
Comment limiter la taille de l’arbre ? Arrêter au bout d’un certain temps
Combien ?
Toutes les branches de même longueur ? Elager les branches si elles semblent biaisées
71
Sur-Apprentissage
Prendre un ensemble d’exemples pour tester l’apprentissage.
L’impact des nœuds de l’arbre est mesuré sur cet ensemble (qui n’est pas appris) Si l’impact est négatif, le nœud est élagué.
72
C4.5
Heuristique
Protège ID3 contre le biais
Calcul de l’arbre
Mise sous forme de règles
Généraliser les règles