Apprentissage par arbre de décision

Download Report

Transcript Apprentissage par arbre de décision

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)
6. Price: zone de prix ($, $$, $$$)
7. Raining: est-ce qu’il pleut dehors?
8. Reservation: Avons nous une réservation?
9. Type: Type de restaurant (French, Italian, Thai, Burger)
10. WaitEstimate: Temps d’attente estimé (0-10, 10-30, 30-60, >60)
1.
2.
3.
4.
5.
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
n
= nombre de tables de vérités distinctes avec 2n lignes = 22
• 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
n
= nombre de tables de vérités distinctes avec 2n lignes = 22
• 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:
p
n
p
p
n
n
I(
,
)
log2

log2
pn pn
pn
pn pn
pn
• 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.
v
rem ainder( A)  
i 1
p i ni
pi
ni
I(
,
)
p  n pi  ni pi  ni
• Gain d’information (IG) ou réduction d’entropie due à
l’attribut en question:
p
n
IG( A)  I (
,
)  rem ainder( A)
pn pn
• 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):
2
4
6 2 4
I (0,1)  I (1,0)  I ( , )]  .0541bit s
12
12
12 6 6
2 1 1
2 1 1
4 2 2
4 2 2
IG(Type)  1  [ I ( , )  I ( , )  I ( , )  I ( , )]  0 bit s
12 2 2 12 2 2 12 4 4 12 4 4
IG( Patrons)  1  [
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 ?
1.
2.
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
Per for m ance m easur em ent cont d.
• La courbe dépend de
Learning curve depends on
– Réalisable (peut exprimer la fonction cible) ou non
– realizable (can express target function) vs. non-realizable
• Non réalisabilité peut être due aux attributs manquants ou à la
non-realizability
can be due to missing attributes
classe d’hypothèse restreinte (e.g. fonction linéaire avec seuil)
or restricted hypothesis class (e.g., thresholded linear function)
– Expresions redondantes (surcharge d’attributs non pertinents)
– redundant expressiveness (e.g., loads of irrelevant attributes)
% correct
1
realizable
redundant
nonrealizable
# of examples
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