Apprentissage automatique à partir d exemples DEA Génomique et Informatique année 2002-2003 Francois.Coste@irisa.fr Apprentissage? Machine Learning is the study of computer algorithms that automatically improve performance through experience 1
Apprentissage par induction «Apprendre à partir d exemples» À partir d exemples disponibles, trouver le concept (1) correspondant But : prendre des décisions face à des situations inconnues... Généralisation (1) Concept: An abstract or generic idea generalized from particular instances [Merriam Webster] Généraliser est difficile... Nombre fini d exemples nombre «infini» de concepts cohérents Lequel choisir comme solution? Principe du Rasoir d Occam choisir les solutions les plus «simples» Utiliser et introduire des connaissances à priori (biais d apprentissage) Biais de représentation Biais de préférence 2
Apprentissage par induction Apprentissage d'un concept C à partir d'exemples (instances) appartenant au concept x 1,,x n échantillon d apprentissage X Apprentissage H C hypothèse Choix de la description des exemples? Choix de l espace d hypothèses? Apprentissage réussi? 3
Apprentissage de classifications CHIENS CHATS Apprentissage de classifications Concept = fonction de classification c Objets à classer O = {o 1,o 2, }, Langage de description D = {d 1,d 2, } Ensemble de classes [1,C] Classification c : O [1,C] ( O [1,C]) d h c Exemples = <description, classe> x 1,, x n <d 1,c 1 > <d n,c n > Apprentissage h c 4
Remarques Apprentissage «supervisé» : on connaît le nombre de classes et la classe des exemples ( clustering, cf. cours I.C. Lerman) Cas C = 2 (classes = [1,2]) : discrimination d objets appartenant à la classe 1 / ceux qui n y appartiennent pas (i.e. dans classe 2). Apprentissage d un concept à partir d exemples et de contre-exemples. On notera Γ = {+,-} «exemples positifs, exemples négatifs» Cas C = 1, apprentissage à partir d exemples positifs seulement : problème de caractérisation Plan Définir un problème d apprentissage Exemples : Apprentissage de modèles Apprentissage de modèles probabilistes 5
Définir un problème d apprentissage Choix de la description des exemples? Choix de l espace d hypothèses? Algorithme d apprentissage? Évaluation de l apprentissage? Exemple 1 Apprentissage de l arbre de décision «sortie en mer» Apprentissage Échantillon d apprentissage météo Skipper Décision calme amateur mer tempête amateur terre agitée expérimenté mer tempête expérimenté terre agitée amateur terre Arbre de décision météo = tempête Non Oui skipper = amateur terre Non Oui mer météo = agitée Non Oui mer terre 6
Exemple 2 : Apprentissage pour la reconnaissance de caractères manuscrits Exemples : a a a a... Description : vos propositions? Espace d hypothèses : vos propositions? Remarque : apprentissage par coeur est impossible Description des objets Ensemble d'attributs d = (a 1,, a n ) dans R (apprentissage numérique) discrets (apprentissage symbolique) booléens, littéraux... Mixtes Devrait permettre discrimination des exemples c(o 1 ) c(o 2 ) d(o 1 ) d(o 2 ) mais aussi un apprentissage "efficace" 7
Espace d hypothèses Choix du type de fonctions considéré Espace d'hypothèse Biais de représentation restriction de la recherche provient d une connaissance à priori Espace d'hypothèse grand Favorise existence de h=c Plus difficile à explorer pour trouver la (meilleure) solution Apprentissage D + - - - - - - + - - - + + + c c h H Espace des descriptions Espace d hypothèses (d objets) Programme d'apprentissage cherche la "meilleure" solution dans l'espace d'hypothèses par rapport à l'échantillon d'apprentissage 8
Erreurs de classification Erreur de classification de h pour d : E(d) = P(c(o) h(d) / d(o) = d) Erreur de classification de h (à minimiser) E(h) = d D E(d) P(d(o) = d) Taux d erreur apparent E app (h) = err / n (sur l échantillon) n : nombre d exemples err : nombre d erreurs de classification par h sur les exemples E(h) = lim n E app (h) Bien classer et bien prédire Minimisation E app Sur-spécialisation / X Exple : Apprentissage par cœur, E app = 0 Apprentissage ou mémorisation? Pouvoir prédictif?!? But : au moins une meilleure prédiction que la Règle de la classification majoritaire 9
Critère de simplicité Rasoir d Occam : Favoriser les hypothèses les plus simples Minimum Description Length (MDL) h MDL = argmin h H L 1 (h)+l 2 (X/h) (Minimiser longueur du codage de h et de ses exceptions) Autres critères possibles : intelligibilité du résultat, taux de couverture (pour C=1), Evaluation par ensemble de test Ne pas utiliser les mêmes exemples pour apprendre et pour évaluer la qualité du résultat! Échantillon fourni divisé en échantillon d apprentissage et échantillon de test (Rapports usuels : 1/2,1/2 ou 2/3,1/3) Validation croisée partition de X en p sous-ensembles p apprentissages sur p-1 sous-ensembles, test sur le sous-ensemble restant Bootstrap Tirage avec remise de n exemples : ensemble d apprentissage Test sur X 10
Apprentissage inductif supervisé Training Test errors correct Evaluation d une hypothèse Concept cible Hypothèse FN VP VN FP VP : vrais positifs FN : faux négatifs FP : faux positifs VN : vrais négatifs 11
Rappel et Précision Utilisation d une matrice de confusion pour compter : Concept P N Total Hypothè se P N VP : 70 FN : 30 FP : 50 VN : 150 P H : 120 N H : 180 Total P c : 100 N c : 200 300 Précision (P) = VP / P H = VP / (VP + FP) = 70 / (70+50) = 0.58 Rappel (R) = VP / P C = VP / (VP + FN) = 70 / (70+30) = 0.70 Accuracy (A) = (VP+VN) / Total = 220 / 300 = 0.73 F-measure (F) = (β 2 +1) P R / (β 2 P + R) Sans préférence : β 2 = 1 F = 2*VP/(VP+FP+VP+FN) = 2 70/(100+120) = 0.63 Algorithmes d apprentissage Exploration de l espace d hypothèses 12
Algorithme par énumération Application directe du rasoir d Occam : Enumérer tous les concepts en commençant par les plus «simples» S arrêter au premier concept cohérent avec les exemples Espace des versions (1) [Mitchell 78] Si on peut ordonner partiellement les hypothèses / généralité : Espace des versions : ensemble des hypothèses cohérentes avec les exemples déjà vus G représentable par G : ensemble maximalement général S : ensemble maximalement spécifique S 13
Espace des versions (2) Arrivée d un exemple e+ éliminer les descriptions de G qui ne couvrent pas e+ généraliser les éléments de S qui ne couvrent pas e+ jusqu à ce qu ils le fassent, tout en restant plus spécifiques qu un des éléments de G enlever tout élément plus général qu un autre dans S G S Espace des versions (3) Arrivée d un contre-exemple e- éliminer les descriptions de S qui couvrent e- spécialiser les éléments de G qui couvrent e- jusqu à ce qu ils ne le fassent plus, tout en restant plus généraux qu un des éléments de S enlever tout élément plus spécifique qu un autre dans G S G 14
Espace des versions (4) Arrêt lorsque G et S coïncident (ou quand il n y a plus d exemples) S = G Apprentissage incrémental Ne résiste pas au bruit S et G peuvent être très grands des variantes existent... Approches heuristiques Espace de recherche trop grand pour une exploration exhaustive Fonction f associe un score à chaque hypothèse h On peut alors considérer l apprentissage comme un problème d optimisation dans l espace d hypothèses Hill-climbing Algorithmes Génétiques... Méthodes spécifiques à des représentations : Induction d arbres de décision... 15
1. Initialiser candidat Hill-climbing 2. Evaluer les voisins du candidat 3. Si un voisin a un meilleur score que le candidat Alors ce voisin devient le candidat courant et recommencer en 2. Sinon le candidat courant est la solution Heuristique : ne garantit pas optimalité... Optimisation par AG [Holland 75] Idée = imiter sélection naturelle codage des hypothèses sous forme de chaînes (chromosomes) génération aléatoire d une population initiale d hypothèses sélection pondérée par les scores croisements/mutations sur la population Utilisable même quand l espace d hypothèse est «mal connu» (quand on n a pas d autres idées ;-) ) 16
Chromosome Phénotype Score Apprentissage d arbres de décision 17
Nœud : test Feuille : classification Arbre de décision Pour chaque position i : météo = tempête skipper = amateur Non mer Non Non mer météo = agitée terre terre n(i) nombre d exples en i n(k/i) nombre d exples de classe k en i p(k/i) = n(k/i) / n(i) proportion d exples de classe k en i Oui Oui Oui Exemple 1 n(1) = 5 n(mer/1) = 2; n(terre/1) = 3 p(mer/1) = 2/5; p(terre/1)= 3/5 n(2) = 3 n(mer/2) = 2; n(terre/2) = 1 p(mer/2) = 2/3; p(terre/2)= 1/3 météo Skipper Décision calme amateur mer tempête amateur terre agitée expérimenté mer tempête expérimenté terre agitée amateur terre météo = tempête Non skipper = amateur Non mer 4 Non mer Oui terre Oui météo = agitée 6 2 1 5 Oui terre 3 7 18
Algorithme générique d apprentissage d un arbre de décision («top down») Fonction AD(X : exemples) : nœud si X d une seule classe alors renvoie créer_feuille(classe(x)) sinon Sélectionner «meilleur» attribut a G test(x,a) D X - G renvoie créer_nœud (a, AD (G), AD (D)) Choix du meilleur attribut? Séparer rapidement les exemples de classes différentes Entropie(i) = - k p(k/i) log p(k/i) nombre de bits nécessaires pour coder la classification des exemples en i (théorie de l information, [Shannon]) Gain d information à un nœud i pour attribut a Gain(i,a) = Entropie(i) - ( n(g) Entropie(g) + n(d) Entropie(d)) où on note resp. g et d les fils gauche et droit de i pour a Critère ID3 : choix de a pour maximiser le gain minimiser n(g) Entropie(g) + n(d) Entropie(d) 19
Exercice Construire l arbre de décision obtenu par cette procédure pour l échantillon d apprentissage : météo Skipper Décision calme amateur mer tempête amateur terre agitée expérimenté mer tempête expérimenté terre agitée amateur terre Principaux algorithmes CART [Friedman 1977, Breiman et al. 1984] ID3 [Quinlan 1986] C4.5 [Quinlan 1993] Variations : élagage (post-traitement) MDL scores utilisés attributs continus arbres n-aires arbres à motifs régulier... 20
BONSAI Pour la prédiction de domaines transmembranaire «A Machine Discovery from Amino Acid Sequences by Decision Trees over Regular Patterns», S. Arikawa, S. Kuhara, Y Mukouchi, T. Shinohara New Generation Computing, pp 361-375, 1993 BONSAI http://bonsai.ims.u-tokyo.ac.jp/services/services.html («soon») http://www.i.kyushu-u.ac.jp/~shoudai/papers/bonsai-garden. html Vue générale de BONSAI Exemples et contre exemples (tirés des Bases de Données) Séparation en échantillon d apprentissage et de validation Simplification de la description Apprentissage et évaluation 21
Obtention d arbres de décision «à motifs régulier» Algorithme 22
Choix de l attribut Trouver un motif séparant les exemples minimisant : cf. critère ID3 Bonsai Garden Prédiction de promoteurs CCAAT, GC et TATA box 23
BONSAI Garden Prédiction hélices α 24