Apprentissage automatique Introduction Dans un système basé sur les connaissances la connaissance est le point central et essentiel ; Il est souvent difficile d’acquérir la connaissance d ’un expert ; Existence d’experts non garantie (ex. prévision météo) ; par contre existence d ’un historique ! Besoin d ’automatiser le processus d ’acquisition des connaissances Apprentissage automatique 2 Apprentissage Apprentissage automatique 3 Définitions « a learning system uses sample data to generate an updated basis for improved performance on subsequent data, and expresses the new basis in intelligible symbolic form » [Donald Michie, 1991] ; « learning denotes changes in the system that are adaptative in the sense that they enable the system to do the same task or tasks drawn from the same population more effectively the next time » [Herbert Simon, 1983] Apprentissage automatique 4 Choisir une approche d’apprentissage : contraintes Objectifs – Améliorer les performances ; – Acquérir de nouvelles connaissances ; Disponibilité d’une connaissance du domaine Disponibilité de données – incrémental vs. batch Caractéristiques des données – Prédicats, propositions, etc. Apprentissage automatique 5 Choisir une approche d’apprentissage : contraintes Mécanisme de recherche – Model-driven (Top-down) – Data-driven (Bottom-up) – Autres. Raisonnement – Induction – Abduction – Déduction Apprentissage automatique 6 Tâches d’apprentissage Apprentissage supervisé – Knowledge poor – Knowledge intensive Résolution de problèmes – Apprendre des conditions d’application d’opérateurs – Apprendre à résoudre d’autres problèmes Apprentissage non supervisé – Pas d’oracle Découverte scientifique – Découverte de lois mathématiques, etc. Apprentissage automatique 7 Comment évaluer un apprentissage Mathématiques Empirique – Populaire – Nécessite beaucoup de données Psychologie – Comparer à un modèle humain Apprentissage automatique 8 Différentes techniques d’apprentissage Classification des techniques en fonction du but principal. L'apprentissage synthétique vise principalement connaissances nouvelles ou meilleures --> induction à créer des L ’apprentissage analytique vise plutôt à mettre les connaissances sous une forme plus appropriée --> déduction induction : processus de formation d'hypothèses - les prémisses - qui impliquent des conséquents donnés, déduction : processus de dérivation de conséquents d'après des prémisses données. Apprentissage automatique 9 Apprentissage supervisé sans connaissances du domaine (knowledge poor) À partir d’un ensemble d’exemples, on induit une hypothèse (description du concept) ; Mesures de performances typiques : – – – – Capacité prédictive Intelligibilité Vitesse d’apprentissage et de test Besoins en stockage Apprentissage automatique 10 Apprentissage supervisé sans connaissances du domaine (knowledge poor) : exemples Arbres de décision (TDIDT) Induction de règles Espace des versions Algorithmes génétiques Réseaux de neurones Réseaux Bayesien Etc. Apprentissage automatique 11 Arbres de décision : approche ID3 • Produit un arbre de décision à partir d ’un ensemble d ’exemples décrivant le problème ; • Partager récursivement l’ensemble des données en sous-ensembles ; • Technologie mature et compréhensible ; • Efficace pour la classification ; • Partition de l’espace des instances (exemples) selon un attribut à la fois est limitatif. Apprentissage automatique 12 Approche ID3 Si les exemples sont tous de la même classe Alors - créer une feuille étiquetée par le nom de la classe ; Sinon - sélectionner le meilleur attribut pour discriminer ; - diviser l'ensemble d'apprentissage en sous-ensembles, chacun étant associé à l'une des valeurs possibles de l'attribut choisi ; - appliquer la même procédure pour chacun des sous-ensembles ; Une mesure d'entropie est utilisée pour mesurer le pouvoir discriminant d'un nœud de l'arbre : I(S) = - ∑ k PS,Ck * log2 PS,Ck avec PS,Ck : probabilité d ’occurrence de la classe Ck dans l ’ensemble S des exemples ; Sj : ens des exemples de S ayant la valeur Vj pour l ’attribut Ai ; E(Ai, S)= ∑ (|sj|/|S|) * I(Sj) j ID3 choisit l ’attribut Ai qui maximise : Gain (Ai, S)= I(S)-E(Ai, S) Apprentissage automatique 13 ID3 : un exemple Apprentissage automatique 14 ID3 : un exemple Apprentissage automatique 15 Arbres de décision Exemples de systèmes – C4.5 [Quinlan, 1993] – GID3 [Fayyad, 1992] – CART [Breiman et al., 1984] Fonctions de sélection diverses : – – – – – GINI [CART, 1984] Gain ratio [Quinlan, 1986] Binarization [Bratko et Kononenko. 1986] Chi-square [Mingers, 1989] Normalized information gain [De Mantaras, 1991] Élagage de l’arbre : pré vs. post-élagage. Apprentissage automatique 16 C4.5 : un ID3 amélioré - Élague l ’arbre - Génère des règles à partir de l ’arbre - Génère des règles probabilistiques - Considère les valeurs inconnues d ’attributs - Considère les valeurs continues L ’approche ID3 est populaire : exemples. Apprentissage automatique 17 Espace des versions Organiser les hypothèses dans un graphe de généralisation ; Principe : mettre à jour deux ensembles G (hypothèses plus générales) et S (hypothèses les plus spécifiques). G et S représentent les bornes de l’espace de recherche ; Langage à base de conjonctions pour cette version de l’algorithme ; Apprentissage automatique 18 Espace des versions : algorithme d’élimination [Mitchell, 1977] G={T} ; S= F ; Pour chaque exemple positif e+ – Si S est faux pour e+, généraliser S jusqu’à ce qu’il reconnaisse e+ ; – Supprimer tous les éléments de G, ne reconnaissant pas e+ ; Pour chaque exemple négatif e– Si un élément de G reconnaît e-, le spécialiser jusqu’à ce qu’il ne reconnaisse plus e- ; – Supprimer les éléments de G plus spécifiques que S ; Apprentissage automatique 19 Espace des versions : exemple Étudiants Bon résultat an n-1 Masculin Assidu Boit Bon résultat an n Richard Oui Oui Non Oui Non Alain Oui Oui Oui Non Oui Alice Non Non Oui Non Non Jeff Non Oui Non Oui Non Gail Oui Non Oui Oui Oui Simon Non Oui Oui Oui Non T N ~N M ~M A ~A B ~B N &A -G={~N, ~M, A, ~B} S=F -G={A, ~B} S=N&M&A&~B -G={A&N, A&M, A&B, ~B&N, ~B&M, ~B&~A} -G={A&N, A&B} S=A&N -G={A&N} S=A&N N &A & ~M N &A & M S=inchangé N &A & ~M &B Apprentissage automatique N &A & M & ~B F 20 Induction de règles Induire en général une règle sous FND ; Chaque règle couvre en général un sous-ensemble des exemples positifs de la classe ; Processus compréhensible mais lent en phase d’apprentissage ; Plusieurs systèmes : – AQ [Michalski et al., 1986] – CN2 [Clark & Niblett, 1989] – BEXA [Theron & Cloete, 1994] Idée de base : induire itérativement des règles pour les instances positives des exemples. Va du général au spécifique. Apprentissage automatique 21 Induction de règles : algorithme Find a conjunction that is satisfied by some examples of the target class, but no examples from another class; Append this conjunction as one disjunct of the logical expression being developed; Remove all examples that satisfy this conjunction and, if there are still some remaining examples of the target class, repeat the process. Fonction d’évaluation d’une règle induite : nr,c +1 nr,c = nombre d’instances de c satisfaisant les conditions de r L(r,c)= ntot+#classes ntot = nombre total d’instances qui satisfont les conditions de r Apprentissage automatique 22 Algorithmes génétiques Simule l’évolution Darwinienne ; Une population d’individus, à chacun d’eux est associé sa « force » ; 2 types d’opérateurs – Croisement ; – Mutation. Apprentissage automatique 23 Opérateurs génétiques Croisement T#F# + F#TF Æ T#TF et F#F# – Tirer le meilleur des 2 parents ; – Un des descendants peut être plus mauvais que les parents ; il sera éliminé. Mutation T#TF Æ F#TF - Au hasard Æ Peut nécessiter des milliers de cycles pour atteindre une solution optimale. Apprentissage automatique 24 Algorithmes génétiques à travers un exemple Efficaces dans la recherche des « meilleures » solutions Exemple de codification : – Représenter un ensemble de règles de prédiction de la qualité du logiciel • Chromosome = tableau de pointeurs sur des règles • Force = le taux de prédiction de la qualité Apprentissage automatique 25 Un algorithme de base Algorithme Répéter jusqu ’à "aucun progrès" ou "nombre max de générations" Ajouter le chromosome le plus fort à la nouvelle population ; Répéter jusqu ’à atteindre la taille de la population Sélectionner 2 chromosomes ; Effectuer croisement + mutation ; Ajouter les « enfants » obtenus à la nouvelle population ; Fin Fin Apprentissage automatique 26 Un algorithme de base Sélection (exemple) ÉTechnique de sélection dites de la roulette : Grande force => grande probabilité d'être sélectionné ÉExemple (une population de 5 ensembles de règles) Taux de prédiction des ensembles de règles RS1 44% RS2 50% RS3 69% RS4 82% probabilité d’être sélectionné RS5 93% RS5 28% tpi pi = ∑ tpj j p1 = tp1 44% = = 13% ∑ tpj 44% + 50% + 69% + 82% + 93% RS4 24% RS1 13% RS2 15% RS3 20% j Apprentissage automatique 27 Un algorithme de base ÉCroisement (exemple) Apprentissage automatique 28 Un algorithme de base É Mutation Default Class = 1 Default Class = 2 Apprentissage automatique 29 Application au génie logiciel : modèles d ’estimation de la qualité °Chercher des métriques utiles Size Coupling Cohesion Inheritance etc. ±Capturer les relations entre métriques et maintenabilité Apprentissage automatique ²Estimer la qualité sur de nouveaux cas 30 Application : génie logiciel Données extraites d ’un système à 83 classes Algorithme d ’apprentissage C4.5 Genère arbres de décision / ensemble de règles Règle NOC > 1 ∧ NOD <= 8 ⇒ class 1 [72.2%] Pour une classs c If Number of Children > 1 And Number of Descendants <= 8 Then c belongs to level 1 (easy to maintain) Apprentissage automatique 31 Modèles obtenus 79.52% 85.00% 80.00% 75.00% 70.00% 65.00% 15 13 11 9 7 60.00% 5 3 1 classification à 3-valeurs 15 arbres --> 15 ensembles de règles en moyenne 8 règles/modèle (de 5 à 11) taux de prédiction moyen (force) 75.5% Prediction Accuracy Rate Rulesets (3-Value Classification) Apprentissage automatique 32 But : améliorer l’efficacité des modèles Exécuter l’algorithme sur 15 ensembles de règles – Évolution • • • • • generation 0: RS13 (80,72%) generation 2: RS105 (83,13%) generation 3: RS125 (84,33%) generation 7: RS161 (90,36%) generation 28: Pas de progrès Apprentissage automatique 33 Raisonnement et apprentissage par cas Profiter de l ’expérience accumulée Très forte avancée depuis les travaux de Schank en 1982 sur Dynamic Memory CHEF [Hammond, 1986] : planification de repas PROTOS [Bareiss, 1988] : diagnostic d ’anomalies auditives SMART [Acorn & al., 1992] : HELPDESK pour ordinateurs COMPAQ Apprentissage automatique 34 Raisonnement par cas : schéma Apprentissage automatique 35 Raisonnement par cas Représenter un cas : enregistrement d ’une base de données, prédicats, frames, etc. Indexer les cas Calcul de similarités entre cas (k-plus proches voisins, etc.) Apprendre à partir de cas nouveaux. Apprentissage automatique 36 Systèmes hybrides : règles et cas Les problèmes déviant de la norme sont mieux pris en compte grâce aux cas. Règles : norme + cas : exceptions. Adapter le raisonnement à la nouvelle architecture. Apprentissage automatique 37 Mais aussi ... Explanation-Based Regroupement Réseaux Learning conceptuel de neurones Etc. Apprentissage automatique 38