Normalisation

L'objectif de la normalisation est de transformer les caractéristiques sur une échelle similaire. Cela améliore les performances et la stabilité de l'entraînement du modèle.

Aperçu des techniques de normalisation

Quatre techniques de normalisation courantes peuvent être utiles:

  • scaling à une plage
  • rognage
  • scaling du journal
  • Score Z

Les graphiques suivants montrent l'effet de chaque technique de normalisation sur la distribution de la caractéristique brute (prix) à gauche. Les graphiques sont basés sur l'ensemble de données de l'édition 1985 du registre de l'automobile, qui fait partie de l'UCI Machine Learning Repository sous l'ensemble de données automobile.

Cinq graphiques: 1. Une distribution brute. 2. La distribution brute ajustée à une plage, qui a la même forme que la distribution brute. 3. la répartition brute, ce qui élimine les valeurs les plus élevées ; 4. La distribution brute mise à l'échelle par un logarithme, qui regroupe les données au milieu de la distribution. 5. la note z de la distribution, dont la forme est semblable à celle de la distribution brute.

Figure 1. Résumé des techniques de normalisation.

Scaling à une plage

Rappel du MLCC : le scaling consiste à convertir les valeurs des caractéristiques en virgule flottante de leur plage naturelle (par exemple, 100 à 900) en une plage standard, généralement 0 et 1 (ou parfois -1 à +1). Utilisez la formule simple suivante pour effectuer le scaling à une plage donnée:

\[ x' = (x - x_{min}) / (x_{max} - x_{min}) \]

Le scaling à une plage est un bon choix lorsque les deux conditions suivantes sont remplies:

  • Vous connaissez les limites supérieure et inférieure approximatives de vos données avec peu ou pas d'anomalies.
  • Vos données sont réparties de manière approximativement uniforme sur cette plage.

L'âge en est un bon exemple. La plupart des valeurs d'âge sont comprises entre 0 et 90 ans, et chaque tranche de la tranche comprend un nombre important de personnes.

En revanche, vous n'utiliseriez pas le scaling en fonction des revenus, car seules quelques personnes ont des revenus très élevés. La limite supérieure de l'échelle linéaire pour les revenus serait très élevée, et la plupart des gens seraient soumis à une petite partie de l'échelle.

Coupe de caractéristiques

Si votre ensemble de données contient des anomalies extrêmes, vous pouvez essayer de couper les caractéristiques, qui limite toutes les valeurs des caractéristiques au-dessus (ou en dessous) d'une certaine valeur à une valeur fixe. Par exemple, vous pouvez définir toutes les valeurs de température supérieures à 40 pour qu'elles correspondent exactement à 40.

Vous pouvez appliquer la fonctionnalité de découpage de caractéristiques avant ou après d'autres normalisations.

Formule: Définissez les valeurs minimale/maximale pour éviter les anomalies.

Comparaison d'une distribution native et d'une distribution plafonnée Dans la distribution native, presque toutes les valeurs sont comprises entre 1 et 4, mais un petit pourcentage de valeurs est compris entre 5 et 55. Dans la distribution plafonnée, toutes les valeurs à l'origine supérieures à 4 ont maintenant la valeur 4.

Figure 2. Comparer une distribution brute et sa version tronquée.

Une autre stratégie de découpage simple consiste à définir un z-score sur +-NÍ (par exemple, limiter à +-3◊). Notez que β est l'écart type.

Scaling du journal

Le scaling des journaux calcule le journal de vos valeurs pour compresser une plage large dans une plage étroite.

\[ x' = log(x) \]

Le scaling des journaux est utile lorsqu'une poignée de vos valeurs comporte de nombreux points, tandis que la plupart des autres ont peu de points. Cette distribution de données est appelée loi de l'alimentation. Les classifications des films sont un bon exemple. Dans le graphique ci-dessous, la plupart des films ont très peu de notes (les données dans la queue), et quelques-unes ont beaucoup de notes (les données dans la tête). Le scaling des journaux modifie la distribution, ce qui améliore les performances du modèle linéaire.

Deux graphiques comparant les données brutes et le journal des données brutes. Le graphique de données brutes montre un grand nombre de notes dans la tête, suivies d'une longue traîne. La répartition du graphique des journaux est plus régulière.

Figure 3. Comparer une distribution brute à son journal.

Score Z

Le score Z est une variante du scaling qui représente le nombre d'écarts types par rapport à la moyenne. Vous devez utiliser z-score pour que vos distributions de caractéristiques aient une moyenne égale à 0 et que std = 1. Elle s'avère utile dans les cas suivants :

La formule de calcul de la note z d'un point, x, est la suivante:

\[ x' = (x - μ) / σ \]

Deux graphiques comparant les données brutes et les données normalisées avec un score z. Les données brutes montrent une distribution approximative de Poisson allant de 5 000 à 45 000.
Les données normalisées sont comprises entre -1 et +4.

Figure 4. Comparer une distribution brute à sa distribution z-score.

Notez que le z-score presse les valeurs brutes dont la plage est d'environ 40 000 dans une plage comprise entre -1 et +4.

Supposons que vous ne soyez pas sûr que les anomalies soient vraiment extrêmes. Dans ce cas, commencez par la note z, sauf si vous ne souhaitez pas que le modèle apprenne des valeurs de caractéristiques. Par exemple, ces valeurs sont le résultat d'une erreur de mesure ou d'une bizarrerie.

Synthèse

Technique de normalisationFormuleQuand l'utiliser
Scaling linéaire $$ x' = (x - x_{min}) / (x_{max} - x_{min}) $$ Lorsque la caractéristique est répartie de manière plus ou moins uniforme sur une plage fixe.
Clip si x > max, alors x' = max. si x < min, puis x' = min Lorsque la caractéristique présente des anomalies extrêmes.
Scaling du journal x' = log(x) Lorsque la fonctionnalité est conforme à la loi sur la puissance.
Score Z x' = (x - μ) / μ Lorsque la distribution des caractéristiques ne contient pas d'anomalies extrêmes.