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:
Pour cette figure et de nombreuses figures similaires dans le livre, nous calculons les limites de décision par une méthode de contourage exhaustive. Nous calculons la règle de décision sur un réseau fin de points, puis utilisons des algorithmes de contour pour calculer les limites.
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, μ3W = ∑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.12( μ1+ μ2) / 2W- 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 + buneb
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≫ 2K( K- 1 ) / 2
Dans les dimensions , la formule reste exactement la même : la frontière est orthogonale àD > 2W- 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) / 2D - 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 etXk( x - μk)⊤W- 1( x - μk)12 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- μ2WW = U D U⊤S = D- 1 / deuxU⊤S , la frontière est orthogonale à . Si nous prenons cette limite, retransformez-la avecS ( μ1- μ2)S- 1S⊤S ( μ1- μ2) . En branchant l'expression de , nous obtenons QED.S