Je comprends le raisonnement derrière la normalisation des colonnes, car il entraîne une pondération égale des entités, même si elles ne sont pas mesurées sur la même échelle - cependant, souvent dans la littérature du voisin le plus proche, les colonnes et les lignes sont normalisées. Quelle est la normalisation des lignes pour / pourquoi normaliser les lignes? Plus précisément, comment le résultat de la normalisation de ligne affecte-t-il la similitude / distance entre les vecteurs de ligne?
normalization
distance
similarities
k-nearest-neighbour
curiosity_delivers
la source
la source
Réponses:
Il s'agit d'un fil relativement ancien, mais j'ai récemment rencontré ce problème dans mon travail et suis tombé sur cette discussion. La question a été répondue, mais je pense que le danger de normaliser les lignes quand ce n'est pas l'unité d'analyse (voir la réponse de @ DJohnson ci-dessus) n'a pas été abordé.
Le point principal est que la normalisation des lignes peut être préjudiciable à toute analyse ultérieure, comme le plus proche voisin ou k-means. Par souci de simplicité, je garderai la réponse spécifique au centrage moyen des lignes.
Pour l'illustrer, j'utiliserai des données gaussiennes simulées aux coins d'un hypercube. Heureusement,
R
il y a une fonction pratique pour cela (le code est à la fin de la réponse). Dans le cas 2D, il est simple que les données centrées sur la ligne moyenne tombent sur une ligne passant par l'origine à 135 degrés. Les données simulées sont ensuite regroupées à l'aide de k-moyennes avec un nombre correct de grappes. Les données et les résultats de regroupement (visualisés en 2D en utilisant PCA sur les données d'origine) ressemblent à ceci (les axes du tracé le plus à gauche sont différents). Les différentes formes des points dans les tracés de regroupement se réfèrent à l'affectation des clusters de vérité au sol et les couleurs sont le résultat du regroupement des k-moyennes.Les grappes en haut à gauche et en bas à droite sont divisées par deux lorsque les données sont centrées sur la moyenne des lignes. Ainsi, les distances après le centrage de la ligne moyenne sont déformées et ne sont pas très significatives (au moins sur la base de la connaissance des données).
Pas si surprenant en 2D, que se passe-t-il si nous utilisons plus de dimensions? Voici ce qui se passe avec les données 3D. La solution de clustering après le centrage de la moyenne des lignes est "mauvaise".
Et similaire avec les données 4D (maintenant présentées par souci de concision).
Pourquoi cela arrive-t-il? Le centrage de la ligne moyenne pousse les données dans un espace où certaines fonctionnalités se rapprochent plus qu'elles ne le sont autrement. Cela devrait se refléter dans la corrélation entre les caractéristiques. Examinons cela (d'abord sur les données d'origine, puis sur les données centrées sur la moyenne des lignes pour les cas 2D et 3D).
[,1] [,2] [1,] 1.000 -0.001 [2,] -0.001 1.000 [,1] [,2] [1,] 1 -1 [2,] -1 1 [,1] [,2] [,3] [1,] 1.000 -0.001 0.002 [2,] -0.001 1.000 0.003 [3,] 0.002 0.003 1.000 [,1] [,2] [,3] [1,] 1.000 -0.504 -0.501 [2,] -0.504 1.000 -0.495 [3,] -0.501 -0.495 1.000
Il semble donc que le centrage moyen des lignes introduit des corrélations entre les entités. Comment cela est-il affecté par le nombre de fonctionnalités? Nous pouvons faire une simulation simple pour comprendre cela. Les résultats de la simulation sont présentés ci-dessous (encore une fois le code à la fin).Ainsi, à mesure que le nombre de caractéristiques augmente, l'effet du centrage de la ligne moyenne semble diminuer, au moins en termes de corrélations introduites. Mais nous venons d'utiliser des données aléatoires uniformément réparties pour cette simulation (comme cela est courant lors de l'étude de la malédiction de la dimensionnalité ).
Alors, que se passe-t-il lorsque nous utilisons des données réelles? Autant de fois la dimensionnalité intrinsèque des données est plus faible, la malédiction peut ne pas s'appliquer . Dans un tel cas, je suppose que le centrage de la moyenne des lignes pourrait être un "mauvais" choix comme indiqué ci-dessus. Bien entendu, une analyse plus rigoureuse est nécessaire pour formuler des allégations définitives.
Code de simulation de clustering
Code pour augmenter la simulation des fonctionnalités
ÉDITER
la source
Il existe différentes formes de normalisation des rangées et l'OP n'indique pas laquelle il / elle a en tête.
Une forme spécifique de normalisation de ligne (normalisation de la norme euclédienne) où chaque ligne est normée (divisée par sa norme euclédienne) est très populaire.
Par exemple, si vos données d'origine sont centrées (comme les points noirs sur cette image) et que vous leur appliquez une normalisation de ligne, vous obtenez les étoiles rouges.
Les points verts représentent un petit nombre de valeurs aberrantes dans les données d'origine. Si vous leur appliquez la transformation de normalisation de ligne, vous obtenez les étoiles bleues.
Vous pouvez le voir plus clairement en comparant les matrices de formes (ou ellipses de contour) ajustées tour à tour aux données, à leur version contaminée et à leur transformation normalisée en ligne:
la source
Il existe des raisons spécifiques au champ pour effectuer la normalisation des lignes. En analyse de texte, il est assez courant de représenter un texte avec l'histogramme des mots qu'il contient. En partant du nombre de mots pour chaque ligne, la standardisation brute la transforme en histogramme.
Et la raison de calcul . Si vous travaillez avec une matrice clairsemée, vous ne pouvez pas centrer et mettre à l'échelle facilement les données colonne par colonne. Si vous l'intégrez dans une matrice dense, les données peuvent devenir trop volumineuses pour tenir en mémoire. Cependant, la mise à l'échelle ligne par ligne n'affecte pas la quantité totale de mémoire nécessaire.
la source
La normalisation des lignes a un nom - mise à l'échelle ipsative - qui implique généralement la mise à l'échelle d'un ensemble d'entités en divisant par la valeur maximale de l'ensemble ou en soustrayant la moyenne des entités. Il existe de nombreuses motivations pour choisir cette approche de transformation des données, mais la principale d'entre elles est qu'elle conditionne les caractéristiques par rapport aux caractéristiques uniques de l'individu (la ligne ou l'unité d'analyse).
la source