SY09 Rapport TP4 : Analyse discriminante
Transcription
SY09 Rapport TP4 : Analyse discriminante
U NIVERSITÉ DE T ECHNOLOGIE DE C OMPIÈGNE SY09 Rapport TP4 : Analyse discriminante, régression logistique CUNI Frédéric 15 juin 2015 Objectifs du TP : Le but de ce TP est l’application de l’analyse discriminante dans le cas binaire par le biais de 3 méthodes ainsi que la régression logistique. Cette première permet de construire une règle de décision à partir d’un ensemble d’apprentissage, et de prédire la classe d’appartenance des données d’un ensemble de test à partir de cette règle de décision. CUNI Frédéric - P15 1 1 Analyse discriminante 1.1 Implémentation On se pose d’étudier et comparer trois modèles d’analyse discriminante dans le cas binaire à savoir deux classes. On distinguera ici 3 méthodes d’application : – l’analyse discriminante quadratique, – l’analyse discriminante linéaire, – le classifieur bayésien naïf. Pour se faire, on programme 3 fonctions relatives aux 3 méthodes citées ci-dessus. Ces fonctions font l’apprentissage des trois modèles d’analyse discriminante et retournent, à partir d’un ensemble d’apprentissage, les estimateurs du maximum de vraisemblance du modèle en question (proportions, vecteurs de moyennes et matrice de covariance des deux classes). LE seul changement entre ces différentes méthodes d’analyse est porté sur P P les matrices de variances ( 1 , 2 ). 1.1.1 Analyse discriminante quadratique La fonction retourne les estimateurs des paramètres du modèle. Pour ce faire, nous rappelons les formules correspondantes : n ck = nk π P ck = xck = n1 ni=1 z i k x i µ k P ck = Vk = 1 Pn z i k (x i − µ ck )(x i − µ ck )t nk i =1 La fonction est définie en annexe 1. 1.1.2 Analyse discriminante linéaire Les estimateurs des paramètres du modèle adl sont les suivants : : n ck = nk π P ck = xck = n1 ni=1 z i k x i µ k P b = 1 Ph n k V k n k=1 La fonction est définie en annexe 2. 1.1.3 Classifieur bayésien naïf Les estimateurs des paramètres du modèle adl sont les suivants : : n ck = nk π P ck = xck = n1 ni=1 z i k x i µ k P ck = d i ag (V ) = d i ag ( 1 Pn (x i − µ b)(x i − µ b)t ) n i =1 La fonction est définie en annexe 2. 1.1.4 Probabilités a posteriori Une fonction ad.val (annexe 4) a été créé pour calculer les probabilités a posteriori pour un ensemble de données et effectuer le classement en fonction de ces probabilités. En CUNI Frédéric - P15 2 fonction du modèle choisi précédemment, on aura des estimateurs différents qui permettront de calculer ces probabilités a posteriori et ainsi classifier l’ensemble de test passé en paramètre. Comme nous avons 2 classes, on fait l’hypothèse que ces 2 classes suivent un loi normale : P – classe 1 : x ≈ N (µ1 , 1 ), P – classe 2 : x ≈ N (µ2 , 2 ) Pour se faire , la fonction détermine les fonctions f 1 (x)et f 2 (x) ainsi que f (x) = π1 f (x|1) + π2 f (x|2). Cela nous permettra ensuite de calculer les probabilités a posteriori h(1|x) = π f 2 (x) π1 f 1 (x) et h(2|x) = 2f (x) et de comparer ces probabilités pour classifier la valeur de x enf (x) trante. 1.2 Test sur des données simulées Dans cette partie, nous souhaitons comparer les performances des différentes méthodes d’analyse discriminante ci-dessus sur 3 jeux de données. On répète 20 fois le processus de séparation des données en un ensemble d’apprentissage et un ensemble de test, et pour chaque modèle nous calculons le taux d’erreur obtenus sur le classement de l’ensemble de test. Voir Annexe 5. Synth1-1000 Méthode Taux d’erreur ADQ 2.7 ADL 3.2 NBA 3.5 Synth2-1000 Méthode Taux d’erreur ADQ 1 ADL 1 NBA 1.3 Synth3-1000 Méthode Taux d’erreur ADQ 1.2 ADL 2.3 NBA 1.3 Frontière de décision Synth1-1000 : Frontière de décision Synth2-1000 : CUNI Frédéric - P15 3 Frontière de décision Synth3-1000 : Pour chaque jeux de données, on peut constater que la méthode la plus fiable est l’analyse discriminante quadratique avec un taux d’erreur plus faible que les autres. Les données suivent dans chaque classe une loi normale multivariée, ainsi de part la remarque précédente, on peut donc ne plus suggérer l’hypothèse d’indépendance des variables. Ceci est également visible sur les frontières de décisions, où l’on voit bien que dans le cas ADQ, la frontière sépare plus équitablement les 2 classes que les autres modèles. Cependant, pour le jeu de données 2, le taux d’erreur du modèle ADQ et égal au taux d’erreur du modèle ADL, ainsi que pour le jeu de données 3, le taux du modèle ADQ est égal au taux d’erreur du Classifieur bayésien naïf. 2 Régression logistique Précédemment, nous avons appliquer les méthodes discriminantes linéaires et nous avons vus que ces méthodes ont l’avantage de fournir des estimations des probabilités a posteriori d’appartenance aux classes. Ces estimations sont d’autant plus précise que les hypothèses portant sur la distribution de données sont vérifiées. Maintenant, plutôt que de faire des hypothèses sur les distributions conditionnelles f k , la régression logistique consiste à estimer directement les probabilités d’appartenance aux classes. CUNI Frédéric - P15 4 2.1 Implémentation On souhaite appliquer le modèle logistique binaire sur les trois jeux de données de l’exercice 1. On programmera tout d’abord deux fonctions, l’une permettant de faire l’apprentissage du modèle (on utilisera l’algorithme de Newton-Raphson présenté en cours), l’autre permettant d’appliquer le modèle obtenu sur un ensemble de données. 2.1.1 Méthode générale Pour l’apprentissage des paramètres on utilise la méthode du maximum de vraisemblance. On pose : ( 1 si Z = w 1 exp(w t w) 1 P (w 1 |x) = p(x; w) = 1+exp(w t x) et P (w 2 |x) = 1 − p(x; w) = 1+exp(w t x) avec 0 si Z = w 2 La méthode de Newton-Raphson consiste à sélectionner un vecteur de poids initial w (0) , puis à calculer une séquence de vecteursw (1) ,w (2) ,... en appliquant itérativement la formule suivante : ∂l og L − w (k+1) = w (q) − H(q) 1 ∗ ∂w (w (q) ) Le gradient de log-vraisemblance s’écrit : ∂l og L(w) ∂w − = W t (t − p), la matrice H(q) 1 corres- − pondant à la matrice hessienne de la log-vraisemblance calculée en w (q) s’écrit : H(q) 1= t −X W X . Pour palier l’éventuelle probabilité d’un vecteur x null, qui engendrerais un résultat null, on ajoute une ordonnée à l’origine à w (0) pour rajouter de la flexibilité au modèle à chaque vecteur x. La fonction permettant d’apprendre le modèle est en annexe 6, et la fonction permettant d’évaluer un ensemble de test est en annexe 7. 2.1.2 Régression logistique quadratique Cette méthode consiste à transformer les données dans un espace plus complexe, dans lequel les classes peuvent être séparées par un hyperplan. La régression logistique est alors effectuée dans cet espace. Dans notre cas, les individus sont décrits par deux variables X 1 et X 2 , la régression logistique quadratique consiste donc à effectuer la régression logistique classique dans l’espace correspondant aux variables : X 1 , X 2 , X 1 X 2 , (X 1 )2 , (X 2 )2 . Ceci permet d’obtenir un modèle plus flexible et de rendre des données linéairement séparable si jamais ce n’est pas le cas. La fonction permettant d’apprendre le modèle est en annexe 8, et la fonction permettant d’évaluer un ensemble de test est en annexe 9. CUNI Frédéric - P15 5 2.2 Test sur des données simulées Dans cette partie, nous souhaitons comparer les performances des deux méthodes de régression logistique ci-dessus sur 3 jeux de données. On répète 20 fois le processus de séparation des données en un ensemble d’apprentissage et un ensemble de test, et pour chaque modèle nous calculons le taux d’erreur obtenus sur le classement de l’ensemble de test. Voir Annexe 10. Synth1-1000 Méthode Classique (intr = 0) Classique (intr = 1) Quadratique intr = 0) Quadratique intr = 1) Taux 3.7 2.4 2.8 2.6 Synth2-1000 Méthode Classique (intr = 0) Classique (intr = 1) Quadratique intr = 0) Quadratique intr = 1) Taux 1.2 1.2 1.1 1.1 Synth3-1000 Méthode Classique (intr = 0) Classique (intr = 1) Quadratique intr = 0) Quadratique intr = 1) Frontière de décision Synth1-1000 : Frontière de décision Synth2-1000 : Frontière de décision Synth3-1000 : Pour chaque jeux de données, on peut constater que la méthode la moins fiable est régression logistique classique sans ordonnée à l’origine avec un taux d’erreur plus faible que les autres. Les autres cas semblent à priori semblables avec un léger avantage au modèle de régression logistique quadratique avec et sans ordonnée à l’origine, disposant d’un taux d’erreur légèrement plus faible. Ceci est également visible sur les frontières de décisions, CUNI Frédéric - P15 6 Taux 2.4 1.7 1.3 1.3 où l’on voit bien que dans le cas de la régression logistique classique sans ordonnée à l’origine, la frontière sépare moins équitablement les 2 classes que les autres modèles. 3 Données réelles 3.1 Données PIMA On souhaite appliquer les trois modèles d’analyse discriminante et les deux modèles de régression logistique à la prédiction du diabète chez les individus d’une population d’amérindiens. On obtient les résultats ci-dessous : PIMA Méthode Classique (intr = 0) Classique (intr = 1) Quadratique intr = 0) Quadratique intr = 1) ADQ ADL NBA Taux 30 29 23 22 24 22 14 On constate que les taux d’erreur sont relativement élevés comparés aux données simulées précédentes. On a une augmentation supérieur à 20% environ pour chaque modèles d’analyse. Cependant, on peut voir que le classifieur bayésien naïf a le taux d’erreur le plus faible et ceux de plus de 10%. 3.2 Données breast cancer Wisconsin On considère à présent un problème de prédiction du niveau de gravité d’une tumeur à partir de descripteurs physiologiques. On obtient les résultats ci-dessous : PIMA Méthode Classique (intr = 0) Classique (intr = 1) ADQ ADL NBA Taux 12 3.7 4 4 4 Pour ce jeu de données, les taux d’erreur sont de l’ordre des données simulées dans la première partie avec le même taux d’erreur pour les modèles d’analyse discriminante et le modèle de régression linéaire classique avec ordonnée à l’origine. On constate donc que le modèle de régression linéaire classique sans ordonnée à l’origine est le moins fiable sur ce jeu de données. CUNI Frédéric - P15 7 Conclusion Ce TP nous a permis d’appliquer l’analyse discriminante au travers de trois modèles, ainsi que la régression linéaire au travers de deux modèles, et évaluer leur fiabilité en calculant les probabilités d’erreurs de répartition des observations générées dans les classes. Appliqués à des données réelles, on peut ainsi conclure sur le fait que les modèles d’analyse discriminante semblent plus fiable que les modèles de régression logistique. CUNI Frédéric - P15 8 4 Annexes : 4.1 Annexe 1 : adq.app 4.2 Annexe 2 : adl.app CUNI Frédéric - P15 9 4.3 Annexe 3 : nba.app 4.4 Annexe 4 : ad.val CUNI Frédéric - P15 10 4.5 Annexe 5 : Fonction test sur données simulées CUNI Frédéric - P15 11 4.6 Annexe 6 : Fonction d’apprentissage pour la régression logistique CUNI Frédéric - P15 12 4.7 Annexe 7 : Fonction d’évaluation d’un ensemble de test CUNI Frédéric - P15 13 4.8 Annexe 8 :Fonction d’apprentissage pour la régression logistique quadratique CUNI Frédéric - P15 14 4.9 Annexe 9 :Fonction d’évaluation d’un ensemble de test pour la régression logistique quadratique CUNI Frédéric - P15 15 4.10 Annexe 10 : Fonction test sur données simulées régression logistique CUNI Frédéric - P15 16