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