expliquer le sens et le but de la normalisation L2

13

Permettez-moi de dire d'emblée que je suis très nouveau dans l'apprentissage automatique et que je ne suis pas très doué en mathématiques. Je comprends ce que fait TF-IDF, mais dans le livre que je lis, il note également ce qui suit (il explique comment scikit-learn fait les choses):

Les deux classes [TfidfTransformer et TfidfVectorizer] appliquent également la normalisation L2 après avoir calculé la représentation tf-idf; en d'autres termes, ils redimensionnent la représentation de chaque document pour avoir la norme euclidienne 1. Le redimensionnement de cette manière signifie que la longueur d'un document (le nombre de mots) ne change pas la représentation vectorisée.

C'est tout ce qu'il a à dire sur le sujet. Ce que je pense que cela signifie, et faites-moi savoir si je me trompe, c'est que nous modifions les valeurs de sorte que si elles étaient toutes au carré et additionnées, la valeur serait 1 (j'ai pris cette définition de http://kawahara.ca / comment-normaliser-vecteurs-à-unité-norme-en-python / ).

L'idée est donc que les valeurs des entités deviennent proportionnelles les unes aux autres. Je ne sais pas vraiment comment cela pourrait être utile pour le modèle. Est-ce que cela aide le classificateur global à savoir si certains exemples n'ont pas un nombre total plus élevé de "fonctionnalités activées" que d'autres?

En outre, voici une question de base: la normalisation L2 a-t-elle quelque chose à voir avec la régularisation L2? Peut-être que c'est juste que les deux impliquent des termes de quadrature et de sommation?

Quel que soit le point de vue que vous pouvez partager, ce serait très apprécié!

Stephen
la source

Réponses:

19

nous mettons à l'échelle les valeurs de sorte que si elles étaient toutes au carré et additionnées, la valeur serait 1

C'est correct.

Je ne sais pas vraiment comment cela pourrait être utile pour le modèle, bien que

Prenons un cas plus simple, où nous comptons simplement le nombre de fois que chaque mot apparaît dans chaque document. Dans ce cas, deux documents peuvent apparaître différents simplement parce qu'ils ont des longueurs différentes (le document plus long contient plus de mots). Mais, nous sommes plus intéressés par la signification du document, et la longueur n'y contribue pas. La normalisation nous permet de considérer la fréquence des mots les uns par rapport aux autres, tout en supprimant l'effet du nombre total de mots.

La normalisation L2 a-t-elle quelque chose à voir avec la régularisation L2?

La régularisation L2 opère sur les paramètres d'un modèle, tandis que la normalisation L2 (dans le contexte que vous demandez) opère sur la représentation des données. Ils ne sont pas liés dans un sens, au-delà du fait superficiel que les deux nécessitent le calcul des normes L2 (sommation des termes carrés, comme vous le dites).

Mais, notez que la normalisation L2 est une opération générique, et peut s'appliquer dans des contextes au-delà de celui dont vous parlez. Il existe des situations où l'on pourrait établir un lien entre les deux concepts, mais je pense que cela dépasse le cadre de cette question.

user20160
la source