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