Télécharger l`invitation et le coupon réponse

Download Report

Transcript Télécharger l`invitation et le coupon réponse

Apprentissage et reconnaissance (GIF-4101 / GIF-7005)
Département de génie électrique et de génie informatique
Hiver 2014
Devoir 3
Instructions : – GIF-4101 : Le devoir est réalisé en équipe de deux à trois étudiants.
– GIF-7005 : Le devoir est réalisé individuellement.
– Utilisez Matlab et PRTools autant que possible.
– Remise : copie papier du rapport durant le cours du mercredi.
– Date limite : au plus tard le mercredi 2 avril, à 9h30,
Pondération : Ce devoir compte pour 5% de la note finale.
1. Classement avec les k-plus proches voisins (5pt)
Voici deux résultats classiques sur le classement avec les k-plus proches voisins (k-PPV) :
— Lorsque l’on utilise un classifieur selon le plus proche voisin (k = 1) et que l’on a un ensemble de prototypes de très grande taille (N → ∞), le taux d’erreur de classement espéré
∗
(E(E1−PPV (x))) est borné par deux fois le taux d’erreur bayésien optimal (EBayes
):
∗
lim E(E1−PPV (x)) ≤ 2 EBayes
.
N →∞
— Lorsque l’on fait du classement avec les k-plus proches voisins, que l’on a un ensemble de
prototypes de très grande taille (N → ∞), que l’on utilise un très grand nombre de voisins
(k → ∞), mais que le nombre de voisins est significativement plus petit que le nombre de
prototypes (k N ), alors le taux d’erreur classement espéré (E(Ek−PPV (x))) tend vers le
∗
taux d’erreur bayésien optimal (EBayes
):
∗
lim lim E(Ek−PPV (x)) = EBayes
k→∞ N →∞
avec k N.
∗
) comme étant le taux d’erreur obtenu avec un
On définit le taux d’erreur bayésien optimal (EBayes
classifieur bayésien pour lequel on connaı̂t parfaitement les véritables distributions des données.
(a) Expliquez clairement le raisonnement menant aux deux résultats énoncés ci-haut avec vos
propres mots, mais en faisant usage de formalismes mathématiques lorsque c’est possible.
Indices :
— Vous pouvez considérer le taux d’erreur de classement espéré comme étant égal à la probabilité d’un mauvais classement d’une donnée particulière avec le classifieur selon les
k-PPV.
— Vous n’avez pas besoin de développer les équations des lois de probabilités des données
par classe pour répondre à cette question. Vous n’avez qu’à raisonner sur l’issue du vote
selon les k-PPV, en utilisant la probabilité de classe de chacun des plus proches voisins
obtenus.
— Pour simplifier les développements, mais sans perdre de généralité, vous pouvez limiter
vos explications au cas à deux classes.
1
(b) À l’aide de simulations numériques, illustrez par une figure les deux résultats présentés en
préambule.
Voici comment vous devez vous y prendre pour réaliser cette figure :
— Générez des données synthétiques selon deux classes, en une dimension. Les densités de
probabilités de chaque classe suivent une loi normale. La variance σ 2 de ces densités est
la même pour les deux classes et est fixée à une valeur pour toutes les expériences. Les
probabilités a priori sont également les mêmes pour les deux classes.
— Les différentes valeurs pour chaque courbe de la figure sont obtenues en modifiant les
valeurs de µ1 et µ2 pour faire varier la distance entre les deux moyennes, soit entre une
valeur de distance pratiquement nulle jusqu’à une distance correspondant à plusieurs fois
la valeur de l’écart-type σ. Générer des jeux de données comprenant quelques milliers
d’échantillons par classe.
— L’abscisse correspond au taux d’erreur bayésien optimal, qui est calculé analytiquement
pour les différentes valeurs de moyennes µ1 et µ2 et d’écart-type σ utilisées pour générer
les données.
— L’ordonnée correspond au taux d’erreur de classement obtenu avec les k-plus proches
voisins.
— Tracez plusieurs courbes en faisant varier le nombre de voisins utilisés pour faire le classement, soit d’un voisin (k = 1) jusqu’à quelques dizaines.
Dans votre rapport, présentez la figure obtenue et annexez votre code Matlab que vous avez
utilisé pour la générer. Vous devriez normalement obtenir une figure similaire à ce qui suit
(qui a été générée avec 5000 données par classe).
Taux d’erreur de classement
0.5
0.4
0.3
0.2
Ebayes
k=1
k=3
k=11
k=23
k=57
k=101
0.1
0
0
0.05
0.1
0.15
0.2
2
0.25
Ebayes
0.3
0.35
0.4
0.45
0.5
2. Discriminants linéaires (10pt)
Soit un discriminant linéaire, avec lequel le classement est effectué selon :
C1 h(x|w,w0 ) ≥ 0
T
t
h(x|w,w0 ) = w x + w0 , x ∈
.
C2
autrement
On effectue un entraı̂nement avec une descente du gradient basée sur le critère d’erreur suivant :
E(w,w0 |X ) =
1 X [rt − h(xt |w,w0 )]2
,
2 t
kxt k2
x ∈Y
où rt ∈ {−1,1} et Y est l’ensemble des données de X mal classées,
Y = {xt ∈ X | rt h(xt |w,w0 ) ≤ 0}.
Si l’ensemble Y est vide, alors E(w,w0 |X ) = 0.
Soit les jeux de données suivants :
— Banane : jeu synthétique en 2D de PRTools. Générez les données selon 2 classes comportant
1000 données (500 par classe) avec la commande GENDATB([500 500]).
— Iris de Fisher : jeu de 150 données pour l’identification d’iris, avec données en 4 dimensions
et 3 classes. Le jeu est disponible avec la commande IRIS de PRTools.
— Breast Cancer Wisconsin : jeu de 699 données pour la détection du cancer du sein, avec
données en 9 dimensions et 2 classes. Le jeu est disponible avec la commande BREAST de
PRTools.
Effectuez les opérations suivantes.
(a) Donnez le développement mathématique complet des équations permettant d’effectuer la
mise à jour des poids w et w0 par descente du gradient, selon le critère d’erreur proposé.
(b) Implémentez un mapping PRTools correspondant à ce discriminant linéaire. Incluez le code
Matlab de votre mapping dans le rapport.
(c) Testez la performance de ce discriminant linéaire sur les jeux de données banane, des Iris de
Fishier et Breast Cancer Wisconsin, avec une validation croisée à trois plis. Pour le jeu des
Iris de Fisher, qui comporte trois classes, utilisez une approche un contre tous pour faire du
classement multi classes avec des discriminants linéaires (utilisez la fonction MCLASSC).
(d) Comparez les résultats avec les discriminants linéaires suivants :
— Méthode paramétrique multinormale (classifieur LDC de PRTools) ;
— Analyse discriminante linéaire (FISHERC) ;
— Descente du gradient avec le critère du perceptron (PERLC) ;
— Classement logistique (LOGLC).
Pour cette sous-question, limitez-vous à :
— Rapporter les paramètres d’entraı̂nement utilisés pour chacun des algorithmes, s’il y a
lieu ;
— Rapporter les taux d’erreur sur les ensembles d’entraı̂nement et de test dans un tableau
synthèse ;
— Tracer des graphiques comparatifs des régions de décision des différents classifieurs testés
pour le jeu de données banane ;
— Discuter brièvement des résultats obtenus (performance en entraı̂nement, performance en
généralisation et temps de calcul).
3
3. Sélection de prototypes (5pt)
Soit les méthodes de sélection de prototypes pour le classement par la méthode des k-plus proches
voisins (k-PPV), telles que présentées en classe.
(a) Implantez l’algorithme d’édition de Wilson dans une fonction Matlab ayant la signature suivante.
S = EDWILSON(A,K,D)
Les paramètres d’entrée et sortie sont les suivants.
— A : dataset PRTools utilisé pour effectuer la sélection.
— K : nombre de voisins utilisés durant l’édition de Wilson.
— D : matrice des distances entre les données de A (optionnel, par défaut la distance euclidienne est utilisée)
— S : dataset PRTools comprenant les données de A sélectionnées par l’édition de Wilson.
Donnez le code source de votre implantation de cette fonction dans votre rapport.
(b) Implantez l’algorithme de la condensation de Hart dans une fonction Matlab ayant la signature suivante.
S = CONHART(A,D)
Les paramètres d’entrée et sortie sont les suivants.
— A : dataset PRTools utilisé pour effectuer la sélection.
— D : matrice des distances entre les données de A (optionnel, par défaut la distance euclidienne est utilisée)
— S : dataset PRTools comprenant les données de A sélectionnées par la condensation de
Hart.
Donnez le code source de votre implantation de cette fonction dans votre rapport.
(c) Testez votre implantation des fonctions d’édition de Wilson et de condensation de Hart sur
les jeux de données de la question précédente (banane, Iris de Fisher et Breast Cancer Wisconsin), en utilisant les configurations suivantes.
i. Édition de Wilson avec k = 5 voisins et une distance euclidienne (sans normalisation).
ii. Condensation de Hart avec une distance euclidienne (sans normalisation).
iii. Édition de Wilson avec k = 5 voisins suivie d’une condensation de Hart, les deux en
utilisant une distance euclidienne (sans normalisation).
Rapportez le taux d’erreur de classement moyen et le taux de sélection moyen selon une
validation croisée à trois plis. Pour chaque pli, une sélection de prototypes est faite sur la
partition d’entraı̂nement du pli, pour ensuite être évaluée avec ces prototypes sélectionnés
en appliquant le classifieur k-PPV sur la partition de test du pli, en utilisant k = 5 voisins
et une distance euclidienne (sans normalisation). Le taux de sélection correspond au ratio
entre le nombre de prototypes sélectionnés et le nombre d’observations disponibles dans le
jeu d’entraı̂nement.
Dans votre rapport, rapportez les taux d’erreur de classement moyens et les taux de sélection
de prototypes moyens dans un tableau. Tracez également quelques graphiques de régions de
décision obtenus sur le jeu banane, pour valider que les méthodes de sélection fonctionnent
correctement. Discutez brièvement des résultats obtenus.
18/03/2014
CG
4