Apprentissage de concepts

publicité
Apprentissage de concepts
(Référence : Tom Mitchell, Machine Learning, McGraw
Hill, 1997)
Apprentissage de concepts
•
Définitions
•
Espace de recherche : du général au spécifique
•
L’algorithme d’élimination des candidats
•
Biais inductifs
Apprentissage de concepts
2
Définition
 Problème : apprendre une fonction de mapping
d’exemples vers deux classes : positive & négative.
 Input : Un ensemble d’exemples déjà classifiés
comme positifs or négatifs.
 Apprendre un concept : processus d’induction d’une
fonction de mapping des exemples vers un ensemble
Booléen.
 Exemples :

Classifier des objets dans des images
astronomiques comme des étoiles ou des galaxies

Classifier des animaux comme vertébrés ou
invertébrés
Apprentissage de concepts
3
Exemple : Champignons
Tâche : Prédire si des champignons sont vénéneux
Performance : Taux d’exactitude de la classification
Expérience : Une base de données décrivant des
champignons et leurs classes.
Connaissance à apprendre :
Fonction de mapping des champignons vers {0,1}
où 0:non vénéneux et 1: vénéneux
Représentation de la connaissance à apprendre :
Conjonction de valeurs d’attributs.
Mécanisme d’apprentissage :
Élimination des candidats
Apprentissage de concepts
4
Représentation des exemples
Attributs / Caractéristiques :
• color :
{red, brown, gray}
• size :
{small, large}
• shape :
{round,elongated}
• land :
{humid,dry}
• air humidity : {low,high}
• texture :
{smooth, rough}
Apprentissage de concepts
5
Espace des entrées et des sorties
X : l’espace de tous les exemples possibles
(espace des entrées).
Y: l’espace des classes (espace des sorties).
Un exemple dans X est un vecteur de caractéristiques x.
Par exemple : x = (red,small,elongated,humid,low,rough)
X est le produit croisé de toutes les valeurs de
caractéristiques.
X
Nous ne disposons que
d’un petit sous-ensemble
Y = {0,1}
Apprentissage de concepts
6
Exemples d’apprentissage
D : ensemble des exemples d’apprentissage,
D : ensemble de pairs { (x,c(x)) }, où c est le concept
cible.
Exemple :
((red,small,round,humid,low,smooth),
((red,small,elongated,humid,low,smooth),
((gray,large,elongated,humid,low,rough),
((red,small,elongated,humid,high,rough),
Instances de l’espace des entrées
Apprentissage de concepts
poisonous)
poisonous)
not-poisonous)
poisonous)
Instances de l’espace
des sorties
7
Représenter une hypothèse
Une hypothèse h est une fonction de X vers Y
h: X
Y
Espace des conjonctions.
Symboles spéciaux :
 ? n’importe quelle valeur est acceptable
 0 aucune valeur n’est acceptable
Les hypothèses suivantes :
(?,?,?,?,?,?) : tous les champignons sont vénéneux
(0,0,0,0,0,0) : aucun champignon n’est vénéneux
Apprentissage de concepts
8
Espace d’hypothèses
L’espace de toutes les hypothèses est
représenté par H
X
h
h une hypothèse dans H.
x un exemple de champignon.
si h(x) = 1 alors x est vénéneux, sinon x ne l’est pas.
Le but est de trouver l’hypothèse, h*, qui est très “proche”
du concept cible c.
On dit d’une hypothèse qu’elle “couvre” les exemples
qu’elle classifie comme positifs.
Apprentissage de concepts
9
Supposition 1
Exploration de l’espace de toutes les conjonctions.
Nous supposons que le concept cible appartient à
cet espace.
H
Concept cible c
Apprentissage de concepts
10
Supposition 2
Une hypothèse proche du concept cible c, obtenue
après avoir vu plusieurs exemples d’apprentissage,
s’avèrera efficace sur un ensemble de nouveaux
exemples.
Ensemble
d’apprentissage D
Nouvel
ensemble D’
L’hypothèse h*
est bonne
L’hypothèse h*
est bonne
Apprentissage de concepts
11
Apprentissage de concepts : une recherche
Une recherche qui va du général au spécifique. Inhérente
à l’espace des hypothèses.
Considérons ces deux hypothèses :
h1 = (red,?,?,humid,?,?)
h2 = (red,?,?,?,?,?)
h2 est plus générale que h1 car h2 classifie plus
d’instances que h1 et h1 est couverte par h2.
Apprentissage de concepts
12
Générale  Spécifique
Par exemple, considérons les hypothèses suivantes :
h1
h2
h3
h1 est plus générale que h2 et h3.
h2 et h3 ne sont ni plus spécifique ni plus générale l’une
par rapport à l’autre.
Apprentissage de concepts
13
Définition
hj et hk deux hypothèses de mapping d’exemples vers {0,1}.
hj est plus générale que hk ssi,
Pour tous les exemples x, hk(x) = 1  hj(x) = 1
Ainsi, hj >= hk
La relation >= relation impose un ordre partiel à travers
l’espace des hypothèses H. Elle est réflexive,
antisymétrique et transitive.
Apprentissage de concepts
14
Treillis
Un espace d’entrées X défini ainsi un treillis d’hypothèses
ordonnées selon une relation général-spécifique :
h1
h3
h7
h2
h4
h5
h6
h8
Apprentissage de concepts
15
Trouver une hypothèse maximalement
spécifique
Algorithme de recherche dans l’espace des conjonctions :


Commencer avec l’hypothèse la plus spécifique
Généraliser l’hypothèse quand elle échoue à reconnaître un
exemple positif
Algorithme :
- Initialiser h à l’hypothèse la plus spécifique
- Pour chaque exemple positif X
Pour chaque valeur a dans h
Si l’exemple X et h coïncide sur a, Alors rien
Sinon généraliser a par la prochaine contrainte
la plus générale
3. Retourner l’hypothèse h
Apprentissage de concepts
16
Exemple
Exécutons l’algorithme précédent sur ces exemples :
((red,small,round,humid,low,smooth),
((red,small,elongated,humid,low,smooth),
((gray,large,elongated,humid,low,rough),
((red,small,elongated,humid,high,rough),
poisonous)
poisonous)
not-poisonous)
poisonous)
On commence par l’hypothèse la plus spécifique :
h = (0,0,0,0,0,0)
Le premier exemple est positif. h échoue à le reconnaître, on
généralise h pour qu’il couvre exactement cet exemple :
h = (red,small,round,humid,low,smooth)
Apprentissage de concepts
17
Exemple
Puis, vient l’exemple 2 :
((red,small,elongated,humid,low,smooth), poisonous)
C’est un exemple positif. Tous ces attributs coïncident avec
l’hypothèse h sauf, l’attribut forme (shape) : il a la valeur elongated, et
non pas round. On généralise cet attribut en utilisant le symbole ? :
h: (red,small,?,humid,low,smooth)
Le 3ème exemple est négatif, on l’ignore. En traitant le 4ème exemple,
l’hypothèse est généralisée ainsi :
h = (red,small,?,humid,?,?)
h est interprétée comme suit : tout champignon qui est rouge, petit
et récolté dans un sol humide doit être classifié comme
vénéneux.
Apprentissage de concepts
18
Analyse de l’algorithme
L’algorithme trouve l’hypothèse la plus spécifique et consistante avec
l’ensemble des exemples d’apprentissage.
Il exploite les relations <général-spécifique> pour se déplacer dans le
treillis à la recherche de la prochaine hypothèse la plus spécifique.
h1
h3
h2
h4
h7
h5
h6
h8
Apprentissage de concepts
19
Points à considérer
 Il y a plusieurs hypothèses consistantes avec l’ensemble
d’apprentissage D. Pourquoi préférer la plus spécifique ?
 Qu’arriverait-il si les exemples ne sont pas tous
consistants ? S’ils contiennent des erreurs, du bruit ?
 Et si l’espace des hypothèses H possède plus d’une
hypothèse maximalement spécifique h ? La recherche
dans le treillis devrait être différente pour permettre cette
possibilité.
Apprentissage de concepts
20
Algorithme d’élimination des candidats :
principales idées
 L’algorithme qui trouve l’hypothèse maximalement
spécifique ne trouve en fait qu’une seule hypothèse
consistante avec les données d’apprentissage.
 L’algorithme d’élimination des candidats (CEA) trouve
TOUTES les hypothèses consistantes avec les
données d’apprentissage.
 CEA fonctionne sans explicitement énumérer toutes
les hypothèses consistantes.
 Applications :
o
Spectroscopie de masses en chimie
o
Règles de contrôle pour recherche heuristique
Apprentissage de concepts
21
Consistance vs Couverture
Ensemble
d’apprentissage D
h2
h1
Exemples positifs
Exemples négatifs
 h1 couvre un ensemble d’exemples différent de celui
couvert par h2
 h2 est consistant avec D
 h1 n’est pas consistant avec D
Apprentissage de concepts
22
Espace des versions VS
Espace des hypothèses H
Espace des versions : Sous-ensemble d’hypothèses de
H, consistant avec l’ensemble d’apprentissage D.
Apprentissage de concepts
23
Exemple : champignons
Ensemble d’apprentissage D:
((red,small,round,humid,low,smooth),
((red,small,elongated,humid,low,smooth),
((gray,large,elongated,humid,low,rough),
((red,small,elongated,humid,high,rough),
poisonous)
poisonous)
not-poisonous)
poisonous)
Le 1er algorithme ne trouve qu’une parmi 6 hypothèses consistantes :
G:
(red,?,?,?,?,?) (?,small,?,?,?,?)
(red,?,?,humid,?,?)
S:
(red,small,?,?,?,?)
(red,small,?,humid,?,?)
Apprentissage de concepts
(?,small,?,humid,?,?)
S: plus spécifique
G: plus générale
24
Candidate-Elimination Algorithm (CEA)
L’algorithme CEA garde deux listes d’hypothèses
consistantes avec l’ensemble d’apprentissage :
 La liste des hypothèses les plus spécifiques S et,
 La liste des hypothèses les plus générales G
Cela permet de dériver l’espace des versions VS
dans sa totalité
G: (red,?,?,?,?,?)(?,small,?,?,?,?)
VS
S:
(red,small,?,humid,?,?)
Apprentissage de concepts
25
Candidate-Elimination Algorithm
1. Initialiser G comme l’ensemble des hypothèses
maximalement générales de H
2. Initialiser S comme l’ensemble des hypothèses
maximalement spécifiques de H
3. Pour chaque exemple d’apprentissage X faire
a) si X est positif : généraliser S si nécessaire
b) si X est négatif : spécialiser G si nécessaire
4. Output {G,S}
Apprentissage de concepts
26
Exemples positifs
a) Si X est positif :


G:
S:
Supprimer de G toute hypothèse inconsistante avec X
Pour chaque hypothèse h de S non consistante avec X
 Supprimer h de S
 Ajouter à S toutes les généralisations minimales k de h
consistantes avec X, t.q un membre de G soit plus
général que k
 Supprimer de S toute hypothèse plus générale que
n’importe quelle hypothèse de S
Inconsistant
h
Ajouter généralisations
minimales
Apprentissage de concepts
27
Exemples négatifs
b) Si X est négatif :


Supprimer de S toute hypothèse inconsistante avec X
Pour chaque hypothèse g dans G non consistante avec X
 Supprimer g de G
 Ajouter à G toutes les spécialisations minimales h de g
consistantes avec X t.q un membre de S est plus
spécifique que h
 Supprimer de G toute hypothèse moins générale que
n’importe quelle hypothèse de G
G:
S:
g
Ajouter spécialisations
minimales
Apprentissage de concepts
Inconsistant
28
Exemple
Initialiser S et G :
S: (0,0,0,0,0,0)
G: (?,?,?,?,?,?)
Les deux premiers exemples sont positifs :
((red,small,round,humid,low,smooth),
((red,small,elongated,humid,low,smooth),
G: (?,?,?,?,?,?)
poisonous)
poisonous)
spécialiser
(red,small,?,humid,low,smooth)
(red,small,round,humid,low,smooth)
S: (0,0,0,0,0,0)
Apprentissage de concepts
généraliser
29
Exemple : un premier exemple négatif
Le 3ème exemple est négatif :
((gray,large,elongated,humid,low,rough),
G: (?,?,?,?,?,?)
(red,?,?,?,?,?,?)
(?,small,?,?,?,?)
not-poisonous)
spécialiser
(?,?,?,?,?,smooth)
S:(red,small,?,humid,low,smooth)
généraliser
Pourquoi (?,?,round,?,?,?) n’est pas une spécialisation
valide de G ?
Apprentissage de concepts
30
Exemple : un autre positif
Le 4ème exemple est positif :
((red,small,elongated,humid,high,rough),
G: (red,?,?,?,?,?,?)
(?,small,?,?,?,?)
poisonous)
(?,?,?,?,?,smooth)spécialiser
(red,small,?,humid,?,?)
S:(red,small,?,humid,low,smooth)
Apprentissage de concepts
généraliser
31
VS : l’espace des versions appris
G: (red,?,?,?,?,?,?)
(red,?,?,humid,?,?)
(?,small,?,?,?,?)
(red,small,?,?,?,?) (?,small,?,humid,?,?)
S: (red,small,?,humid,?,?)
Apprentissage de concepts
32
Questions
 Est-ce que l’algorithme converge vers la bonne hypothèse ?
Il converge dans les conditions suivantes :
 Les exemples sont exempts d’erreurs
 Le concept cible est inclus dans l’espace des hypothèses H
 Qu’arrive t-il s’il existe des erreurs dans les exemples ?
 La bonne hypothèse sera inconsistante et sera donc éliminée
 Si S et G convergent vers un espace vide, nous en concluons
que le concept recherché est en dehors de l’espace H.
Apprentissage de concepts
33
Classifier de nouveaux exemples
Si VS ne se réduit pas à une simple hypothèse et l’on
veut classifier une nouvelle instance ?
Supposons que toutes les hypothèses de S affirment
que l’instance est positive ?
Donc, nous sommes surs que toutes les hypothèses dans VS
affirment que l’instance est positive.
Pourquoi ?
C’est le même cas si l’instance est classée négative par tous les
membres de G.
Apprentissage de concepts
34
En résumé
 CEA exploite la relation général-spécifique entre
hypothèses pour trouver toutes les hypothèses
consistantes avec l’ensemble d’apprentissage.
 L’espace des versions contient toutes les hypothèses
consistantes ; il est représenté par 2 listes : S et G.
 CEA n’est pas robuste au bruit ; il suppose aussi que
le concept cible est inclus dans l’espace des hypothèses.
 Tout algorithme inductif nécessite que l’on fixe
certaines données à propos de l’espace des hypothèses,
sinon, il serait impossible d’effectuer des prédictions.
Apprentissage de concepts
35
Téléchargement