Comprendre Analyse discriminante linéaire
L’analyse discriminante aborde la classification par le versant génératif. Au lieu d’estimer la probabilité d’une classe sachant les variables, elle estime comment les variables se distribuent à l’intérieur de chaque classe, ainsi que la fréquence de chaque classe, puis applique le théorème de Bayes pour en tirer une loi a posteriori. La loi intra-classe supposée est gaussienne, avec un vecteur moyen par classe.
C’est l’hypothèse de covariance qui sépare les deux membres de la famille. Si toutes les classes reçoivent la même matrice de covariance, le terme quadratique de l’exposant est identique d’une classe à l’autre et s’annule lors de la comparaison des lois a posteriori : la fonction discriminante est alors linéaire en les variables et la frontière entre deux classes est un hyperplan. C’est l’analyse discriminante linéaire. Laisser à chaque classe sa propre covariance conserve le terme quadratique et produit des frontières courbes : l’analyse discriminante quadratique.
L’échange se fait entre paramètres et flexibilité. Avec p variables et K classes, une covariance partagée coûte une matrice de p × (p+1)/2 termes ; des covariances séparées en coûtent K. Sur 20 variables cela fait 210 paramètres contre 420 pour deux classes, et chacun doit être estimé sur les données. L’analyse discriminante quadratique l’emporte donc quand l’hypothèse de covariance partagée est véritablement fausse et que l’échantillon est grand, et perd quand elle est juste ou que l’échantillon est petit.
Comparée à la régression logistique, qui produit la même forme de frontière, la différence tient à ce qui est supposé et à ce que cela coûte. Là où l’hypothèse gaussienne tient à peu près, l’analyse discriminante est l’estimateur le plus efficace ; là où elle ne tient pas, elle est biaisée d’une façon dont la régression logistique ne l’est pas. L’analyse discriminante se dégrade en outre gracieusement quand les classes sont bien séparées - la situation où les coefficients de la régression logistique deviennent instables et divergent.
Comment calculer
δₖ(x) = xᵀ Σ⁻¹ μₖ − ½ μₖᵀ Σ⁻¹ μₖ + log πₖ
où
- δₖ(x)
- le score discriminant de la classe k ; la prédiction est la classe au score le plus élevé
- μₖ
- le vecteur moyen de la classe k, estimé par la moyenne empirique de la classe
- Σ
- la matrice de covariance partagée par toutes les classes, estimée en regroupant les écarts intra-classe
- πₖ
- la probabilité a priori de la classe k, en général la proportion observée
Exemple : Analyse discriminante linéaire
Deux classes dans le plan, l’une centrée à l’origine avec une corrélation de +0,75 et l’autre centrée en (1,5 ; 1,5) avec une corrélation de −0,75. Aucune matrice de covariance unique ne décrit les deux : la frontière optimale est donc véritablement courbe, et son taux d’erreur - obtenu en intégrant le mélange - vaut 0,092708.
Ajustée sur 200 points d’entraînement et évaluée sur 200 000 points de test, l’analyse discriminante linéaire atteint 0,118955 et la quadratique 0,093480. Regrouper les deux covariances moyenne une corrélation de +0,75 avec une de −0,75 et produit quelque chose de proche de l’identité, qui ne décrit ni l’une ni l’autre classe ; la version quadratique retrouve des frontières qui s’incurvent et se pose à moins de 0,0008 du plancher.
Le cas inverse est tout aussi instructif. Sur un second problème dont la vraie frontière est réellement linéaire, moyenné sur 400 exécutions, la version linéaire bat la quadratique de 0,028208 à 20 points d’entraînement mais de seulement 0,000154 à 2 000. Le modèle quadratique n’y est pas faux - il contient le linéaire - il ne peut simplement pas s’offrir ses propres paramètres tant que l’échantillon n’est pas grand.
Questions fréquentes
Quand faut-il préférer l’analyse discriminante quadratique ?
Quand il y a des indices que les classes ont des structures de covariance véritablement différentes et que le jeu d’entraînement est assez grand pour estimer une matrice de covariance par classe. Avec peu d’observations relativement au nombre de variables, la version à covariance partagée reste en général le meilleur pari, même quand elle est légèrement fausse.
Quel est son rapport avec Bayes naïf ?
Les deux sont génératifs et appliquent tous deux le théorème de Bayes à des densités conditionnelles aux classes. Bayes naïf suppose les variables indépendantes à l’intérieur d’une classe, ce qui revient à une matrice de covariance diagonale ; l’analyse discriminante estime les termes hors diagonale au lieu de les évacuer par hypothèse.
Exige-t-elle des variables gaussiennes ?
La dérivation le suppose, mais la méthode résiste assez bien à des écarts modérés, surtout dans la forme à covariance partagée où seuls les moments d’ordre deux regroupés importent. Des variables fortement asymétriques ou très discrètes posent un véritable problème, et une transformation vaut en général d’être essayée d’abord.
En résumé
L’analyse discriminante modélise les classes plutôt que la frontière, et l’hypothèse de covariance décide de la forme qu’elle peut tracer. Partagez une covariance pour une frontière linéaire et une estimation efficace ; donnez-en une à chaque classe pour une frontière courbe qu’il vous faudra un grand échantillon pour vous offrir.