Apprendre à partir des observations Chap. 18 Section 1 – 3
Plan Apprentissage Inductif Apprentissage par arbre de décision
Apprendre La capacité d’apprendre est essentielle pour des environnements inconnus, i.e., quand le concepteur manque de l’omniscience L’apprentissage est utile comme méthode de construction de système, i.e., exposer l’agent à la réalité plutôt que d’essayer d’écrire tout L’apprentissage modifie les mécanismes d’agent pour prendre des décisions afin d’améliorer la performance
Apprentissage inductif Forme la plus simple: apprendre une fonction des exemples f est la fonction cible Un exemple est une paire (x, f(x)) Problème: trouver une hypothèse h telle que h ≈ f Étant donné un ensemble d’entraînement d’exemples (C’est un modèle très simplifié par rapport à l’apprentissage réel: Ignore les connaissances a priori Suppose que les exemples sont donnés)
Méthode d’apprentissage inductif Construire/ajuster h afin de conformer à l’ensemble d’entraînement (h est consistante si elle est conforme à toutes les données) E.g., fiter une courbe:
Inductive learning method Construire/ajuster h afin de conformer à l’ensemble d’entraînement (h est consistante si elle est conforme à toutes les données) E.g., fiter une courbe:
Inductive learning method Construire/ajuster h afin de conformer à l’ensemble d’entraînement (h est consistante si elle est conforme à toutes les données) E.g., fiter une courbe:
Inductive learning method Construire/ajuster h afin de conformer à l’ensemble d’entraînement (h est consistante si elle est conforme à toutes les données) E.g., fiter une courbe:
Inductive learning method Construire/ajuster h afin de conformer à l’ensemble d’entraînement (h est consistante si elle est conforme à toutes les données) E.g., fiter une courbe:
Apprendre des arbres de décision Problème: décider si on doit attendre pour une table à un restaurant, basé sur les attributs suivants Alternate: Est-ce qu’il y a des restaurants alternatifs proches? Bar: Est-ce qu’il y a un bar confortable pour attendre? Fri/Sat: Est-ce qu’on est vendredi ou samedi? Hungry: Avons nous faim? Patrons: nombre de personnes dans le restaurant (None, Some, Full) Price: zone de prix ($, $$, $$$) Raining: est-ce qu’il pleut dehors? Reservation: Avons nous une réservation? Type: Type de restaurant (French, Italian, Thai, Burger) WaitEstimate: Temps d’attente estimé (0-10, 10-30, 30-60, >60)
Représentations basées sur des attributs Exemples décrits par des valeurs d’attribut (booléen, discret, continu) E.g., pour l’attente d’une table: Classification des exemples (des décisions) en positif (T) ou négatif (F)
Arbre de décision Une représentation possible des hypothèses E.g., un arbre pour décider si on attend:
Capacité d’expression Un arbre de décision peut exprimer toute expression des attributs en entrée E.g., pour des fonctions booléennes, ligne de table de vérité → chemin vers feuille: On peut “stocker” tous les exemples, en créant un chemin pour chaque exemple. Mais cette représentation n’est pas compact et ne généralise pas. Préfère trouver un arbre plus compact
Espace d’hypothèses Combien d’arbres distincts avec n variables booléenne? = nombre de fonctions booléennes = nombre de tables de vérités distinctes avec 2n lignes = 22n E.g., avec 6 attributs booléens, il y a 18,446,744,073,709,551,616 arbres
Espace d’hypothèses Combien d’arbres distincts avec n variables booléenne? = nombre de fonctions booléennes = nombre de tables de vérités distinctes avec 2n lignes = 22n E.g., avec 6 attributs booléens, il y a 18,446,744,073,709,551,616 arbres Combien d’hypothèses purement conjunctives (e.g., Hungry Rain)? Chaque attribut peut être dedans (positive), dedans (negative), or dehors 3n hypothèses conjonctives distinctes Espace d’hypothèses plus expressif Augmenter la chance que la fonction cible soit exprimée Augmenter le nombre d’hypothèses consistantes à l’ensemble d’entraînement Peut faire des prédictions moins bonnes
Apprendre un arbre de décision But: trouver un arbre de décision petit, et consistant avec tous les exemples d’entraînement Idée: choisir (récursivement) l’attribut ”le plus significatif" comme racine de (sous) arbre
Choisir un attribut Idée: un bon attribut peut diviser les exemples en sous ensembles plus consistants, idéalement seulement des “positives” et seulement des “négatives” Patrons? est-il un meilleur choix?
Utilier la théorie d’information Contenu d’information (entropie): I(P(v1), … , P(vn)) = Σi=1 -P(vi) log2 P(vi) Pour un ensemble d’entraînement contenant p exemples positifs et n exemples négatifs: E.g. I(1/2, 1/2) = -1/2 log1/2 -1/2 log1/2 = 1 (bit) I(2/8, 3/8, 3/8) = -2/8 log2/8 - 3/8 log3/8 - 3/8 log3/8
Gain d’information Un attribut choisi A divise l’ensemble d’entraînement E en sous ensembles E1, … , Ev selon leur valeur de A, où A av valeurs distinctes. Gain d’information (IG) ou réduction d’entropie due à l’attribut en question: Choisir l’attribut dont le IG est le plus grand
Gain d’information Pour un ensemble d’entraînement, p = n = 6, I(6/12, 6/12) = 1 bit Considérer les attributs Patrons et Type (et les autres aussi): Patrons a le plus grand IG parmi tous les attributs. Il est donc choisi comme la racine (par l’algorithme DTL)
Exemple contd. Arbre de décision appris des 12 exemples: Beaucoup plus simple que des arbres réels Une hypothèse plus complexe n’est pas vraiment justifié par le petit nombre de données
Mesure de performance Comment peut-on savoir si h ≈ f ? Utiliser des théorèmes de théories d’apprentissage computationnelles/statistiques Essayer h sur un autre ensemble de test Courbe d’apprentisage = % cas corrects dans l’ensemble de test en fonction de taille d’entraînement
Mesure de performance La courbe dépend de Réalisable (peut exprimer la fonction cible) ou non Non réalisabilité peut être due aux attributs manquants ou à la classe d’hypothèse restreinte (e.g. fonction linéaire avec seuil) Expresions redondantes (surcharge d’attributs non pertinents)
Sommaire Apprendre pour les environnements inconnus, concepteurs “paresseux” Pour apprentissage supervisé. Le but est de trouver une hypothèse simple consistante approximativement aux exemples d’entraînement Arbre de décision: utiliser le gain d’information Performance d’apprentissage = précision de prédiction mesurée sur un ensemble de test