Zéro moyenne et variance unitaire

10

J'étudie le Data Scaling, et en particulier la méthode de Standardisation. J'ai compris les mathématiques derrière cela, mais je ne comprends pas pourquoi il est important de donner aux caractéristiques une moyenne nulle et une variance unitaire.

Peux tu m'expliquer ?

Qwerto
la source
Jetez un oeil ici .
Médias
Ce serait formidable: medium.com/greyatom/…
Lerner Zhang

Réponses:

8

La question de savoir si et pourquoi c'est important dépend du contexte.

  • Pour les arbres de décision amplifiés par gradient, par exemple, ce n'est pas important - ces algorithmes ML "ne se soucient pas" des transformations monotones des données; ils cherchent juste des points pour le diviser.

  • Pour les prédicteurs linéaires, par exemple, la mise à l'échelle peut améliorer l'interprétabilité des résultats. Si vous souhaitez considérer l'ampleur des coefficients comme une indication de la façon dont une caractéristique affecte le résultat, alors les caractéristiques doivent être mises à l'échelle d'une manière ou d'une autre dans la même zone.

  • Pour certains prédicteurs, en particulier les NN, la mise à l'échelle, et en particulier la mise à l'échelle vers une plage particulière, peut être importante pour des raisons techniques. Certaines couches utilisent des fonctions qui ne changent effectivement que dans une certaine zone (similaire à la famille de fonctions hyperbolique ), et si les caractéristiques sont trop hors de la plage, une saturation peut se produire. Si cela se produit, les dérivées numériques fonctionneront mal et l'algorithme risque de ne pas pouvoir converger vers un bon point.

entrez la description de l'image ici

Ami Tavory
la source
2

En cas de moyenne nulle, c'est parce que certains modèles d'apprentissage automatique n'incluent pas de terme de biais dans leur représentation, nous devons donc déplacer les données autour de l'origine avant de les alimenter à l'algorithme pour compenser le manque de terme de biais. En cas de variance unitaire, c'est parce que de nombreux algorithmes d'apprentissage automatique utilisent une sorte de distance (par exemple euclidienne) pour décider ou prédire. Si une entité particulière a des valeurs larges (c'est-à-dire une grande variance), la distance sera fortement affectée par cette entité et l'effet des autres entités sera ignoré. Soit dit en passant, certains algorithmes d'optimisation (y compris la descente de gradient) ont de meilleures performances lorsque les données sont normalisées.

pythinker
la source
2
  • Chaque fois que nous commençons avec un ensemble de données dans l'apprentissage automatique, nous supposons souvent que toutes les entités de données sont également importantes par rapport à la sortie et qu'une entité ne doit pas dominer sur une autre entité. C'est GÉNÉRALEMENT la raison pour laquelle nous choisissons d'apporter toutes les fonctionnalités à la même échelle.
    Cependant, on peut émettre un doute ici que même si les caractéristiques ne sont pas normalisées, les poids qui lui sont attribués pendant l'apprentissage peuvent aider l'ensemble de données à converger vers la sortie attendue pendant l'entraînement. Le problème, c'est qu'il faudra très longtemps pour s'entraîner et produire des résultats.
  • Choisir un nombre spécifique 0 comme moyenne et variance 1 est simplement la facilité de visualiser et de conserver de si petits nombres aiderait à un entraînement plus rapide.

Par conséquent, il est suggéré d'amener toutes les fonctionnalités à la même échelle suffisamment petites pour pouvoir s'entraîner facilement. Le lien ci-dessous traite également d'un concept similaire. /stats/41704/how-and-why-do-normalization-and-feature-scaling-work

Divyanshu Shekhar
la source