260 likes | 425 Views
Chapitre 2. Apprentissage de Concepts & l’Algorithme Espace des Versions. Introduction. Central à l’apprentissage : Induction de fonctions générales à partir d'exemples spécifiques L’apprentissage de Concepts:
E N D
Chapitre 2 Apprentissage de Concepts & l’AlgorithmeEspace des Versions
Introduction • Central à l’apprentissage: Induction de fonctions générales à partir d'exemples spécifiques • L’apprentissage de Concepts: • Acquisition de définitiond’unecatégoriegénérale à partir d’1 échantillond’exemplesd’apprentissage + et – de la catégorie (Oiseau, Voiture, Chaise, etc.) • Chaque concept peut être considéré comme une fonction booléenne (par exemple « vrai » pour « oiseau », faux pour les autres animaux) • Apprentissage de Concepts: • Rechercher dans l'espace des hypothèses possibles celle qui correspond le mieux aux exemples d’apprentissage • Inférer 1 fonction à valeur booléenne à partir d'exemples d’apprentissagede l’entrée et la sortie de cette fonction • La recherchepeutprendre en considération la structure de l’espace des hypothèses • AlgorithmesGénéral-à-spécifique
Apprendre quoi? • Classification de Fonctions • Apprendre des fonctionscachées : estimer des paramètres (“fitting” parameters) • Apprentissage de Concepts (e.g., chaise, visage, jeu) • Diagnostic, pronosticmédical, évaluation de risques, fraude, systèmes mécaniques • Modèles • Cartes (de navigation) • Distribution • Modèles de Langages (e.g., automates/grammaires) • Compétences • Jeux • Planification • Raisonnement (acquisition de représentation à utiliser dans le raisonnement) • Définitions de Clusters pour la reconnaissance de formes • Formesd’objets • DéfinitionsFonctionellesoutaxonomiques • Beaucoup de Problèmespeuventêtreréduits à la Classification
Supervisé • Qu’est-ce qui estappris? Fonctionl de cassification; autresmodèles • Entrées et sorties? Apprentissage: • Comment? Présentationd’exemples à l’apprenant (par un instructeur) • Non supervisé • Définition de cluster, ou la fonction de quantification vectorielle (dictionnaire) • Apprendre: • Formation, segmentation, et étiquetage de clusters sur la base d’observations, mesures • Renforcement • Politique de contrôle (fonction d’1ensemble d’états du monde actions) • Apprentissage: • feedback (différé) des valeurs des récompenses à des agents sur la base d'actions sélectionnées; modèle mis à jour sur la base de récompenses, état (partiellement) observable Comment Apprendre?
Apprentissage de Concept (Supervisé) • Etantdonnés: exemplesd’ apprentissage<x, f(x)> et unefonctioninconnuef • Trouver: unebonne approximation de f • Exemples • Diagnostic de maladies • x = propriétés du patient (antécédents médicaux, symptômes, tests de laboratoire) • f = maladie (ou thérapie recommandée) • Evaluation de risques • x = propriétés des consommateurs, facteurs (démographie, historique des incidents) • f = niveau de risque (coût prévu) • Pilotage automatique • x = image bitmap de la surface de la route devant le véhicule • f = degrés de rotation du volant • Étiquetagemorpho-syntaxique (Part Of Speech tagging) • Détéction de fraude/intrusion • Analyse des « journaux d’accès au pages » (logging) sur le Web
Exemplesd’Apprentissage du Concept EnjoySport • Spécification des Exemples • Similaire à la définition d’un type de données • 6 attributs: Sky, Temp, Humidité, Vent, Eau (température), Prévisionmétéo • Attributs à valeurs nominales (symboliques) - type de données énumératif • Concept Binaire • Problème d'apprentissage supervisé: Décrire le Concept Général • Apprendre le concept EnjoySportn’importequel jour selon les valeurs des attributs
Représentationd’Hypothèses • Quelle représentation d’hypothèse à adopter pour l'apprenant? • Plusieursreprésentationspossibles • Hypothèseh : • Conjonctionde contraintesd’attributs • e.g. Conjonction de 6 contraintessur les valeurs des attributs • Si toute instance x satisfait toutes les contraintes de l’hypothèse h, alors h classe x comme étant un exemple positif (h (x) = 1) • Valeurs des Contraintes • Valeursspécifiques (e.g., Water = Warm) • Pas importantes (Don’t care , e.g., “Water = ?”), i.e. toutevaleurest acceptable • Aucunevaleurpermise (e.g., “Water = Ø”)
Représentationd’Hypothèses (cont.) • ExempleHypothèsepourEnjoySport • Sky AirTemp Humidity Wind Water Forecast <Sunny ? ? Strong ? Same> • Est-ce compatible avec les exemples d’apprentissage? (Apprécier le Sport seulement les «jours ensoleillés », avec « vents forts » et « même prévision ») • Quelles sont les quelques hypothèses qui sont compatibles avec les exemples? • Hypothèse la plus générale (Most general Hypothesis) • < ? , ? , ? , ? , ? , ? > chaque jour est un exemplepositif • Hypothèse la plus spécifique (Most specific hypothesis) • < ∅ , ∅ , ∅ , ∅ , ∅ , ∅ > aucun jour n’est un exemplepositif • Résumé de la tâche d'apprentissage de concepts • Apprendre l'ensemble des jours pour lesquels EnjoySport = yes • Utilisez une hypothèse pour cela sous la forme d’une conjonction de contraintes
Etantdonnés • Instances X: jourspossibles, chacundécrit par des attributs • Sky (valeursSunny, Cloudy, Rainy) • AirTemp(valeursWarm, Cold) • Humidity (valeursNormal, High) • Wind (valeursStrong, Weak) • Water (valeursWarm, Cool) • Forecast (valeursSame, Change) • HypothèsesH: chaque hypothèse est décrite par une conjonction de contraintes sur les attributs (valeur?, ou∅, ouvaleurspécifique) (e.g., <?, Cold, High, ?, ?, ?>) • Concept cible c: EnjoySport: X {0,1} • Exemplesd’apprentissageD: exemplespositifs et négatifs de la fonctioncible Tâche d‘Apprentissage de Concepts Prototypiques
Déterminer • Hypothèseh Htellequeh(x) = c(x) pour tout x X • Exemplesd’apprentissage • L’ensemble des exemples d’apprentissagec(x) présentés à l'apprenant sous la forme <x, c(x)> (c (x) = 1 positif) • D: ensemble des exemples d’apprentissagedisponibles • hypothèse: pas de valeurs manquantes X • bruit dans les valeurs de c (étiquettes contradictoires)?
Apprentissage de Concepts en tantqueRecherche • Apprentissage de concept Ξ tâche de recherche à travers un grand espace d'hypothèses • La représentation de l’hypothèse définit implicitement l'espace des hypothèses définit tout ce que le programme peut apprendre! e.g. Tâched’apprentissageEnjoySport : Sky 3 valeurs; AirTemp 2 valeurs; etc. Donc X contient • 3 * 2 * 2 * 2 * 2 * 2 = 96 instances distinctes • 5 * 4 * 4 * 4 * 4 * 4 = 5120 hypothèsessyntaxiquementdistinctesdans H Puisque ∅ dans une hypothèse classe une instance comme négative, le nombre d’hypothèses sémantiquement distinctes est 973 (les problèmes d'apprentissage ont généralement des espaces beaucoup plus grands) • Algorithmes pour des explorations efficaces de l’espace?
Hypothèsed’ApprentissageInductif • HypothèseFondamentale de l’ApprentissageInductif • Déclaration informelle • Toute hypothèse qui est jugée bien approximer la fonction cible sur un ensemble d'exemples d’apprentissage suffisamment large approximera bien cette fonction cible sur d'autres exemples non observés • Définitions différées: suffisamment large, bonne approximation, non observés • Ultérieurement: Comment trouvercettehypothèse?
Instances, Hypothèses, et la Relation d’OrdrePartielMoins-Spécifique-Que h1 = < Sunny, ? , ? , Strong , ? , ? > h2 = < Sunny, ? , ? , ? , ? , ? > • h2 impose moins de contraintessur les instances que h1 • Toute instance classifiée +ve par h1 sera aussiclassifiée +ve par h2 Définitions: • Définition: Pour toute instance x dans X et hypothèse h dans H, on dit que x satisfait h, si et seulement si h (x) = 1 • Définition:Soit hjet hk deux fonctions booléennes définies sur X. On dit que hjest plus_générale-ou-égale_àhk (écrite hj≥ghk) si et seulement si • De façonsimilaire on définit la relation plus_générale_que. • ≥gdéfinitune relation d’ordrepartiel (i.e. une structure) surl’espace des hypothèses H • Algorithmesd’apprentissage qui utilisent la structure à leuravantage?
h1 h3 x1 h2 x2 Instances, Hypothèses, et la Relation d’OrdrePartielMoins-Spécifique-Que Instances X HypothèsesH Spécifique Général h1 = <Sunny, ?, ?, Strong, ?, ?> h2 = <Sunny, ?, ?, ?, ?, ?> h3 = <Sunny, ?, ?, ?, Cool, ?> x1 = <Sunny, Warm, High, Strong, Cool, Same> x2 = <Sunny, Warm, High, Light, Warm, Same> h2 P h1 h2 P h3 P Less-Specific-Than More-General-Than
L’AlgorithmeFind-S : TrouveruneHypothèseMaximalementSpécifique • Commence avec l’hypothèse de H la plus spécifique possible, puis généralise à chaque fois qu'il ne parvient pas à couvrir un exemple positif observé durant l’apprentissage • 1. Initialiserhavec l’hypothèse la plus spécifique de H • H: l'espace des hypothèses, ensemble muni d’un ordre partiel sous la relation Moins-spécifique-que (Less-Specific-Than) • 2. Pour chaque instance d’apprentissage positive x • Pour chaque contrainte aidanshsur un attribut • SI la contrainteaidanshestsatisfaite par x • ALORS ne rien faire SINON remplaceraidansh par la contraintesuivante plus générale qui estsatisfaite par x • 3. Output: hypothèseh
x3 h0 - h1 h2,3 x1 x2 + + x4 h4 + Exploration de l‘Espace des Hypothèses par Find-S Instances X HypothèsesH h0= <Ø, Ø, Ø, Ø, Ø, Ø> h1= <Sunny, Warm, Normal, Strong, Warm, Same> h2= <Sunny, Warm, ?, Strong, Warm, Same> h3= <Sunny, Warm, ?, Strong, Warm, Same> h4= <Sunny, Warm, ?, Strong, ?, ?> x1 = <Sunny, Warm, Normal, Strong, Warm, Same>, + x2 = <Sunny, Warm, High, Strong, Warm, Same>, + x3 = <Rainy, Cold, High, Strong, Warm, Change>, - x4 = <Sunny, Warm, High, Strong, Cool, Change>, +
L’AlgorithmeFind-S • Avantages de Find-S • Choisit un h maximalement spécifique consistant avec les exemples d’apprentissage positifs • (chaque étape de généralisation est la plus spécifique qui soit consistante avec les exemples d’apprentissage observés jusqu'à ce point) • L’hypothèse finale sera également consistante avec les exemples négatifs (pour peu que les exemples d’apprentissage fournis soient corrects) • Faiblesses de Find-S • Ne peut dire s’il a convergé vers le concept cible correct . (A-t-il trouvé la seule hypothèse consistante avec les données ou y’en a-t-il beaucoup d'autres?) • Pourquoi l'hypothèse la plus spécifique? (Et pas la plus générale, ou d'autres?) • Impossible de dire quand les données sont inconsistantes. (Erreurs? Bruit?) • Selon H, il pourrait y avoir plusieurs hypothèses maximalement spécifiques. Find-S doit être étendu de telle sorte à pouvoir faire un backtracking à une autre hypothèse que celle trouvée?
Espaces de Versions (Version Space) • L’idéeclédansl’Algorithme Candidate-Elimination: • Son output est une description de TOUTES les hypothèses consistantes avec les exemples d’apprentissage (sans énumeration) (Espace des Versions) • Représente les hypothèses les plus générales et les plus spécifiques • Définition: Unehypothèse h estconsistante avec un ensemble d’exemples d’apprentissage Dssih(x) = c(x) pour tout exemple<x , c(x) >dansD. Consistant(h, D) < x, c(x) > D , h(x) = c(x) (différente de satisfaitoùxsatisfaithquandh(x) = 1, indépendamment du fait quexest un exemplepositifounégatif) • Définition : L’Espace des Versions , dénoté VSH,D, défini sur l’espace des hypothèses H et les exemples d’apprentissage D, est le sous-ensemble d'hypothèses de H consistantes avec ces exemples. VSH,D { h H | Consistant (h, D) }
Representation d’Espaces de Versions • Définition: FrontièreGénérale • La Frontière générale G, par rapport à l’espace H d'hypothèses et exemples d’apprentissage D, est l'ensemble des hypothèses de H maximalement générales et consistantes avec D. • Définition: FrontièreSpécifique • La Frontière spécifique S, par rapport à l’espace H d'hypothèses et exemples d’apprentissage D, est l'ensemble des hypothèses de H minimalement générales (i.e. maximalement spécifiques ) et consistantes avec D. • Espace des versions (Version Space) • Chaque élément de l’espace des versions se situe entre S et G • oùveut dire plus généraleque (more-general-than) c’est-à-dire moinsspécifique • que (less-specific-than )
AlgorithmeCandidate-Elimination • 1. Initialisation G ens. (singleton) contenantl’hyp. la plus généraledeH, dénoté{<?, … , ?>} S ensemble des hypothèses les plus spécifiques de H, dénoté {<Ø, … , Ø>} • 2. Pour chaqueexempled’apprentissaged SI dest un exemplepositif (mise à jour de S, Update-S) • Retirer de G toute hypothèse inconsistante avec d Pour chaque hypothèse s de S qui n'est pas consistante avec d • Retirer s de S • Ajouter à S toutes les généralisations minimales h de s telles que • 1. hestconsistante avec d • 2. Il existe un membre de G qui est plus généralqueh • Retirer de S toute hypothèse qui est plus générale qu’une autre hypothèse de S
Candidate Elimination Algorithm [2] • (continued) • SI dest un exemplenégatif (mise à jour de G, Update-G) • Retirer de S toute hypothèse inconsistante avec d Pour chaque hypothèse g de G qui n'est pas consistante avec d • Retirer g de G • Ajouter à G toutes les spécialisationsminimales h de g telles que • 1. hestconsistante avec d • 2. Il existe un membre de S qui est plus spécifiquequeh • Retirer de G toute hypothèse qui est moins générale qu’une autre hypothèse de G
S0 <Ø, Ø, Ø, Ø, Ø, Ø> S1 <Sunny, Warm, Normal, Strong, Warm, Same> S2 <Sunny, Warm, ?, Strong, Warm, Same> = S3 S4 <Sunny, Warm, ?, Strong, ?, ?> <Sunny, ?, ?, Strong, ?, ?> <Sunny, Warm, ?, ?, ?, ?> <?, Warm, ?, Strong, ?, ?> G4 <Sunny, ?, ?, ?, ?, ?> <?, Warm, ?, ?, ?, ?> <Sunny, ?, ?, ?, ?, ?> <?, Warm, ?, ?, ?, ?> <?, ?, ?, ?, ?, Same> G3 G0 = G1 = G2 <?, ?, ?, ?, ?, ?> Exemple: Déroulement de l’algorithme d1: <Sunny, Warm, Normal, Strong, Warm, Same, Yes> d2: <Sunny, Warm, High, Strong, Warm, Same, Yes> d3: <Rainy, Cold, High, Strong, Warm, Change, No> d4: <Sunny, Warm, High, Strong, Cool, Change, Yes>
Propriétés de l’algorithme • La frontière S de l'espace des versions résume les exemples positifs rencontrés précédemment • S peut être utilisé pour déterminer si une hypothèse donnée est compatible avec des exemples • Toute hypothèse plus générale que S couvrira tout exemple que S couvre (et donc tout exemple positif passé) • La frontière G de l'espace des versions résume les exemples négatifs rencontrés précédemment • Toute hypothèse plus spécifiqueque G doit nécessairement être consistante avec les exemples négatifs passés • L’espace des versions est indépendant de l'ordre dans lequel les exemples d’apprentissage sont présentés
Convergence de l’ Alg. Candidate-Elimination • l’ Algorithme Candidate-Elimination Converge si • Il n’y a pas d'erreurs dans les exemples d’apprentissage • Une hypothèse h de H qui décrit correctement le concept cible existe • Le concept cible est appris de façon exacte quand S et G convergent vers la même hypothèse unique • Supposons qu’il y ait une erreur dans un exemple (faux négatif) • L’Alg. supprimera le concept cible correct du VS S et G finissent par converger vers un VS vide