1 Arbres de décision
Transcription
1 Arbres de décision
M1 Informatique - 2012/2013 Initiation à l’Apprentissage automatique Examen (durée : 2 heures) Tous documents autorisés. Les questions sont indépendantes. 1 Arbres de décision On considère des images en noir en blanc codées sur . . . 4 pixels 1 ! Chaque image est donc codée par un élément (x1 , x2 , x3 , x4 ) ∈ {0, 1}4 où les pixels noirs sont notés 1, les pixels blancs x x2 sont notés 0 et les cases sont remplies dans l’ordre 1 . Ci-joint un échantillon d’images x3 x4 réparties selon 2 classes. Classe 1 Classe 2 Figure 1 – Ensemble d’apprentissage Le premier exemple de la classe 1 peut donc aussi se noter (1, 0, 1, 1). 1. On souhaite apprendre un arbre de décision sur cet échantillon, basé sur les attributs xi = 1 pour i = 1, 2, 3, 4. Quel est l’attribut qui sera choisi à la racine de l’arbre si l’on souhaite maximiser le gain en information relativement au critère de Gini ? Correction : – G(x1 ) = 7/12 ∗ 2 ∗ 5/7 ∗ 2/7 + 5/12 ∗ 2 ∗ 1/5 ∗ 4/5 ≈ 0.371 – G(x2 ) = 7/12 ∗ 2 ∗ 6/7 ∗ 1/7 ≈ 0.143 – G(x3 ) = 7/12 ∗ 2 ∗ 2/7 ∗ 5/7 + 5/12 ∗ 2 ∗ 1/5 ∗ 4/5 ≈ 0.371 – G(x4 ) = 7/12 ∗ 2 ∗ 1/7 ∗ 6/7 ≈ 0.143 Deux attributs maximisent le gain : x2 et x4 . 2. Complétez sans faire de calcul l’arbre de la question précédente de manière à obtenir un arbre T 1 qui classe correctement tous les exemples. Correction : l’arbre x2 (2, x4 (1, x1 (1, 2))) classe correctement toutes les données. 3. On considère l’ensemble de validation décrit dans la figure 2. Parmi tous les élagués possibles de T 1, quel est celui qui commet le moins d’erreurs sur l’ensemble de validation ? Correction Il y a 4 élagués possibles : 1 ; 2 ; x2 (2, 1), x2 (2, x4 (1, 2)). Ils commettent respectivement : 4 erreurs, 8 erreurs ; 2 erreurs ; 3 erreurs. C’est x2 (2, 1) qui commet le moins d’erreurs. 1. Il est difficile de prendre une résolution plus importante si l’on veut faire les calculs à la main. 1 Classe 1 Classe 2 Figure 2 – Ensemble de validation 2 Règle du maximum de vraisemblance On reprend les notations de l’exercice précédent. En examinant les exemples, on s’aperçoit que les exemples e1 = (1, 0, 0, 1) et e2 = (0, 1, 1, 0) jouent des rôles particuliers dans chacune des deux classes. On en déduit un modèle probabiliste expliquant les observations : – e1 (resp. e2 ) est choisi avec la probabilité q (resp. 1 − q) : c’est ce choix initial qui déterminera la classe de l’exemple ; – puis chaque pixel est bruité indépendamment des autres avec la probabilité p : un pixel est conservé avec la probabilité 1 − p et modifié en son pixel opposé avec la probabilité p; – le résultat du bruitage est l’exemple observé. À partir de e1 , si l’on bruite les pixels x2 et x4 , on obtient l’image (1, 1, 0, 0). On note P (x1 , x2 , x3 , x4 )|ei ) la probabilité que l’image (x1 , x2 , x3 , x4 ) provienne du bruitage de ei . 1. Montrez que P (1, 0, 1, 1)|e1 ) = p(1 − p)3 et que P (1, 0, 1, 1)|e2 ) = p3 (1 − p). Montrez que la probabilité d’observer l’image (1, 0, 1, 1) dans la classe 1 est égale à qp(1 − p)3 . En supposant que q = 1/2 et p = 1/5, a t-on plus de chance d’observer (1, 0, 1, 1) dans la classe 1 ou dans la classe 2 ? Correction – P (1, 0, 1, 1)|e1 ) = p(1 − p)3 car 1 pixel de e1 est bruité et 3 ne le sont pas – P (1, 0, 1, 1)|e2 ) = p3 (1 − p) car 3 pixels de e2 sont bruités et 1 ne l’est pas – La probabilité d’observer (1, 0, 1, 1) dans la classe 1 est égale à P (1, 0, 1, 1)|e1 )P (e1 ) = qp(1 − p)3 . – Dans la classe 1 puisque p(1 − p)3 q > p3 (1 − p)(1 − q). 2. On suppose que l’échantillon d’apprentissage est constitué d’exemples indépendamment distribués selon le modèle défini ci-dessus. Montrez que la vraisemblance de cet échantillon, c’est-à-dire sa probabilité, est égale à p8 (1 − p)40 q 6 (1 − q)6 . Correction Si tous les exemples de la classe 1 proviennent de e1 , ils comportent globalement 4 pixels bruités et donc, 20 pixels non bruités. De même, si tous les exemples de la classe 2 proviennent de e2 , ils comportent globalement aussi 4 pixels bruités et donc, 20 pixels non bruités. Comme il y a six exemples de chaque classe, on trouve la formule proposée : q 6 p4 (1 − p)20 ∗ (1 − q)6 p4 (1 − p)20 = p8 (1 − p)40 q 6 (1 − q)6 | {z } | {z } classe 1 classe 2 3. On admettra que si x ∈ [0, 1], si C > 0 et si m et n sont des entiers ≥ 1, la valeur de x m qui maximise la fonction f (x) = Cxm (1 − x)n est x = m+n . Quelles sont les valeurs de p et q qui maximisent la vraisemblance de l’échantillon d’apprentissage ? 2 Correction On remarque tout d’abord qu’on peut maximiser la vraisemblance séparément pour p et q. On trouve p = 8/48 = 1/6 et q = 6/12 = 1/2. 4. Pour ces valeurs, comment seraient classés les exemples de l’ensemble de validation ? Correction Comme la probabilité de chaque classe est la même, il suffit de minimiser le nombre de pixels bruités pour chaque exemple. Tous les exemples de la classe 1 seraient bien classés, sauf le premier. Tous les exemples de la classe 2 seraient bien classés, sauf éventuellement le dernier pour lequel les 2 classes sont équiprobables. 3 Régression linéaire On a administré un test de lecture à 12 enfants âgés de 7, 8 et 9 ans. Voici les résultats obtenus par ces sujets : i 1 2 3 4 5 6 7 8 9 10 11 12 X : Âge 7 8 9 7 9 8 7 9 8 9 8 7 Y : Note du test 6 8 8 7 9 8 6 9 7 8 9 7 1. Représentez sur un graphique ces données par un nuage de points. 2. Trouvez la fonction de régression linéaire obtenue par la méthode des moindres carrés sur ce jeu de données. Tracer la droite de régression sur le graphique. Correction On trouve X = 8 et Y = 23/3. On trouve X X (Xi − X)2 = 8 et (Xi − X)(Yi − Y ) = 24/3 = 8. i i La droite de régression a donc pour équation y = x − 1/3. 3. Utilisez la fonction de régression linéaire obtenue pour prédire la note du test pour un enfant âgé de 10 ans. Correction Pour un enfant de 10 ans : 29/3 ≈ 9, 7 4. Interprétez le résultat obtenu à partir du graphique que vous avez tracé. 3 i 1 2 3 4 5 6 7 8 9 10 11 12 4 X : Âge 7 8 9 7 9 8 7 9 8 9 8 7 Y : Note du test 6 8 8 7 9 8 6 9 7 8 9 7 X −X -1 0 1 -1 1 0 -1 1 0 1 0 -1 Y −Y -5/3 1/3 1/3 -2/3 4/3 1/3 -5/3 4/3 -2/3 1/3 4/3 -2/3 Perceptron Nous considérons un séparateur linéaire (perceptron) qui prédit y = 1 si hw, xi + b ≥ 0 et y = 0 si hw, xi + b < 0. Soit les données d’apprentissage {(xi , yi )}7i=1 = {(−3, 0), (−2, 0), (−1, 1), (0, 1), (1, 1), (2, 0), (3, 0)} avec (xi , yi ) ∈ R × {0, 1}. 1. Représentez les données d’entrée sur une droite (espace d’entrée = R) en marquant les sorties (0 ou 1) correspondantes. Est-ce que ces données sont linéairement séparables ? Correction Non, il faudrait pour cela pouvoir trouver une droite séparant les points annotés 0 des points annotés 1. On voit clairement dans la figure 3 qu’une telle droite n’existe pas. 2. Soit la fonction g(x) = (x, x2 ) permettant de représenter les données xi de R par leurs projections zi dans R2 (zi = (xi , x2i )). Dessinez sur un graphique (R2 ) les données {zi }ni=1 en marquant les valeurs de {yi }ni=1 correspondantes. En appliquant l’algorithme du perceptron, donnez les valeurs de w et b d’un classifieur permettant de séparer linéairement les données dans R2 . Correction Nouvelles données (pour appliquer l’algorithme, on transforme la classe 0 et -1 et on complète les données par 1) : {(−3, 9, 1, −1), (−2, 4, 1, −1), (−1, 1, 1, 1), (0, 0, 1, 1), (1, 1, 1, 1), (2, 4, 1, −1), (3, 9, 1, −1)} (w1 , w2 , w3 ) mal classé correction (0,0,0) (-3,9,1) -1 (3,-9,-1) (-1,1,1) 1 (2,-8,0) (1,1,1) 1 (1,-7,1) (-1,1,1) 1 (0,-6,2) (1,1,1) 1 (1,-5,3) (-1,1,1) 1 (0,-4,4) On trouve le classifieur f (x, y, z) = −4y + 4z ou, sur les données de départ, f (x, y) = −4y + 4 (et la droite d’équation y = 1. 4 Figure 3 – Données d’apprentissage dans R 3. Soit la fonction h(x) = (x, x3 ). Représentez les données projetées dans R2 par h sur une figure. Montrez que les données projetées par h ne sont pas linéairement séparables. Correction Nouvelles données (pour appliquer l’algorithme, on transforme la classe 0 et -1) : {(−3, −27, −1), (−2, −8, −1), (−1, −1, 1), (0, 0, 1), (1, 1, 1), (2, 8, −1), (3, 27, −1)} Il suffit de regarder les exemples (−2, −8, −1), (2, 8, −1) et (0, 0, 1) pour prouver que l’échantillon n’est pas séparable. Un classifieur f (x, y) = w1 x+w2 y+w3 devrait vérifier : −2w1 − 8w2 + w3 < 0, 2w1 + 8w2 + w3 < 0 et w3 ≥ 0. Il suffit d’additionner les deux premières équations et de comparer avec la troisième pour s’apercevoir que ce n’est pas possible. 5