J'ai vu un tracé LDA (analyse discriminante linéaire) avec les limites de décision de The Elements of Statistical Learning :
Je comprends que les données sont projetées sur un sous-espace de dimension inférieure. Cependant, je voudrais savoir comment nous obtenons les limites de décision dans la dimension d'origine de telle sorte que je puisse projeter les limites de décision sur un sous-espace de dimension inférieure (comme les lignes noires dans l'image ci-dessus).
Existe-t-il une formule que je peux utiliser pour calculer les limites de décision dans la dimension d'origine (supérieure)? Si oui, de quels intrants cette formule a-t-elle besoin?
r
references
discriminant-analysis
mon nom est Jeff
la source
la source
they (bondaries) are never computed. The plot is drawn by classifying every character cell in it, then blanking out all those surrounded by cells classified into the same category
.Réponses:
Ce chiffre particulier dans Hastie et al. a été produit sans calculer les équations des limites des classes. Au lieu de cela, l'algorithme décrit par @ttnphns dans les commentaires a été utilisé, voir la note de bas de page 2 de la section 4.3, page 110:
Cependant, je vais continuer à décrire comment obtenir des équations des limites de classe LDA.
Commençons par un exemple 2D simple. Voici les données du jeu de données Iris ; Je rejette les mesures des pétales et ne considère que la longueur et la largeur des sépales. Trois classes sont marquées avec des couleurs rouge, vert et bleu:
Notons les moyennes de classe (centroïdes) comme . LDA suppose que toutes les classes ont la même covariance intra-classe; étant donné les données, cette matrice de covariance partagée est estimée (jusqu'à l'échelle) comme , où la somme est sur tous les points de données et le centroïde de la classe respective est soustrait de chaque point.μ1, μ2, μ3 W = ∑je( xje- μk) ( xje- μk)⊤
Pour chaque paire de classes (par exemple les classes et ), il y a une limite de classe entre elles. Il est évident que la frontière doit passer par le point médian entre les deux centroïdes de classe . L'un des résultats centraux de la LDA est que cette frontière est une droite orthogonale à . Il y a plusieurs façons d'obtenir ce résultat, et même si cela ne faisait pas partie de la question, j'en mentionnerai brièvement trois dans l'annexe ci-dessous.1 2 ( μ1+ μ2) / 2 W- 1( μ1- μ2)
Notez que ce qui est écrit ci-dessus est déjà une spécification précise de la frontière. Si l'on veut avoir une équation linéaire sous la forme standard , alors les coefficients et peuvent être calculés et seront donnés par des formules désordonnées. Je peux difficilement imaginer une situation où cela serait nécessaire.y= a x + b une b
Appliquons maintenant cette formule à l'exemple d'Iris. Pour chaque paire de classes, je trouve un point médian et trace une ligne perpendiculaire à :W- 1( μje- μj)
Trois lignes se croisent en un point, comme on aurait pu s'y attendre. Les limites de décision sont données par des rayons partant du point d'intersection:
Notez que si le nombre de classes est , alors il y aura paires de classes et donc beaucoup de lignes, toutes se croisant dans un désordre emmêlé. Pour dessiner une belle image comme celle de Hastie et al., Il suffit de ne garder que les segments nécessaires, et c'est un problème algorithmique distinct en soi (pas lié à LDA en aucune façon, car on n'en a pas besoin pour faire la classification; pour classer un point, vérifiez la distance de Mahalanobis à chaque classe et choisissez celle qui a la distance la plus faible, ou utilisez une série ou des LDA par paire).K≫ 2 K( K- 1 ) / 2
Dans les dimensions , la formule reste exactement la même : la frontière est orthogonale àD > 2 W- 1( μ1- μ2) et passe par . Cependant, dans les dimensions supérieures, il ne s'agit plus d'une ligne, mais d'un hyperplan de dimensions . À des fins d'illustration, on peut simplement projeter l'ensemble de données sur les deux premiers axes discriminants, et ainsi réduire le problème au cas 2D (c'est, je crois, ce qu'a fait Hastie et al. Pour produire cette figure).( μ1+ μ2) / 2 D - 1
appendice
Comment voir que la frontière est une ligne droite orthogonale àW- 1( μ1- μ2) ? Voici plusieurs façons d'obtenir ce résultat:
La manière fantaisiste:W- 1 induit la métrique de Mahalanobis dans le plan; la frontière doit être orthogonale à dans cette métrique, QED.μ1- μ2
La méthode gaussienne standard: si les deux classes sont décrites par des distributions gaussiennes, la probabilité logarithmique qu'un point appartient à la classe est proportionnelle à . A la frontière les probabilités d'appartenance aux classes etX k ( x - μk)⊤W- 1( x - μk) 1 2 sont égales; écrivez-le, simplifiez et vous obtiendrez immédiatement , QED.X⊤W- 1( μ1- μ2) = c o n s t
La manière laborieuse mais intuitive. Imaginez que est une matrice d'identité, c'est-à-dire que toutes les classes sont sphériques. La solution est alors évidente: la frontière est simplement orthogonale à . Si les classes ne sont pas sphériques, alors on peut les faire en sphères. Si la décomposition propre de est , alors matrix fera l'affaire (voir par exemple ici ). Donc, après avoir appliqué et demandé à quoi il est maintenant orthogonal, la réponse (à gauche comme exercice) est:W μ1- μ2 W W = U D U⊤ S = D- 1 / deuxU⊤ S , la frontière est orthogonale à . Si nous prenons cette limite, retransformez-la avecS ( μ1- μ2) S- 1 S⊤S ( μ1- μ2) . En branchant l'expression de , nous obtenons QED.S
la source