Laboratoire 3 Implémentation d’un classifieur bayésien DÉPARTEMENT DE GÉNIE LOGICIEL ET DES TI LOG770 - SYSTÈMES INTELLIGENTS ÉTÉ 2012 Laboratoire 3 Implémentation d’un classifieur bayésien Enseignant : Christian Desrosiers Chargée de laboratoire : Faten M’hiri
Tâche 1: Réduction de la dimensionnalité Lire le fichier de données: Classe1 Attribut1 Attribut2 Attribut3 Attribut4 Attribut5 X = Matrice X x11 x21 x31 x41 x51 …. x1N x2N x3N x4N x5N moy (x1) moy (x2) moy (x3) moy (x4) moy (x5)
Tâche 1: Réduction de la dimensionnalité (2) Implémenter la fonction Z =reduireDimensions(X,α): Calculer la matrice centrée Calculer la matrice de covariance Σ : x11-moy(x1) x21-moy(x2) x31-moy(x3) x41-moy(x4) x51-moy(x5) …. x1N-moy(x1) x2N-moy(x2) x3N-moy(x3) x4N-moy(x4) x5N-moy(x5)
Tâche 1: Réduction de la dimensionnalité (3) Décomposer la matrice Σ en valeurs propres : Σ = V D VT Note: pour le calcul des valeurs et vecteurs propres, voir la fonction eig 1 colonne = 1 vecteur propre Matrice diagonale : les valeurs propres de Σ v11 v21 v31 … xd1 …. v1N v2N v3N xdN λ1 … λ2 λ3 ….. λd
Tâche 1: Réduction de la dimensionnalité (4) Extraire les k principaux vecteurs propres avec α=0.9 Σ = V D VT 1 colonne = 1 vecteur propre v11 v21 v31 … xd1 …. v1N v2N v3N xdN Sélectionner les k principaux vecteurs propres NOTE : s’assurer que les λ sont ordonnées par ordre décroissant
Tâche 1: Réduction de la dimensionnalité (5) Projeter les exemples dans le sous espace de k dimensions: Répondre aux questions de la partie 1 dans l’énoncé
Tâche 2: Classification Bayésienne Visualiser les données Z : une couleur différente pour chaque classe Choisir les modèles pour les distributions de vraisemblance P(z|Cj) et à priori P(Cj) : Pour choisir P(z|C): visualiser la distribution des données pour chacune des classes (voir Partie1.5): Distribution : asymétrique ou non Distribution : à une seule bosse ou non Attributs : discrets ou continues Pour choisir P(C): l’attribution d’une classe à un exemple: Événement discret ayant 2 résultats Calculer les paramètres de chacun des modèles
Tâche 2: Classification Bayésienne (2) Implémenter la fonction: θj = entrainerModele(Z,j): Entrée : les données d’entraînement Z de la classe Cj et l’indice de la classe Cj Sortie: les paramètres de la classe θj Exemple: cas d’une distribution normale (gaussienne) pour une classe j: Les paramètre θj : la moyenne μj et la covariance Σj μj = la moyenne de chaque colonne de Z ( si Z contient 3 colonnes, μj est un vecteur de 3 éléments) Σj = la covariance
Tâche 2: Classification Bayésienne (3) Implémenter la fonction: j* = classifierExemple(z,θ1,θ2) Entrée: Un exemple à classifier z Sortie: Le numéro de la classe j Pour classifier un exemple z: Calculer la fonction discriminante gj pour chaque classe j=1 et 2: Retourner le numéro de la classe la plus probable: j* = max(gj) Determinant de Σ
E = validationCroisee(Z,K) : Utiliser les deux fonctions précédentes pour implémenter la fonction: E = validationCroisee(Z,K) : Évaluer l’approche K-fois avec des ensembles d’entrainement et de tests différents : Diviser l’ensemble de données Z en K groupes Zi=1..k Pour i = 1 à K Ztest = Z i Ztrain = Uj≠i Zj Entrainer classifieur gi sur Ztrain (avec la fonction entrainerModele) Calculer l’erreur ei de généralisation de gi (calssifier les Ztest avec la fonction classifierExemple et calculer le nombre de fois où le classifieur s’est trompé) Calculer l’erreur moyenne : E = moyenne des ei
Validation croisée (2) Répondre aux questions de la partie 2 dans l’énoncé