Recherche de site Web

Norme d'un vecteur en Python - Étapes de calcul


La norme d'un vecteur fait référence à la longueur ou à la magnitude d'un vecteur. Il existe différentes manières de calculer la longueur. La norme d'un vecteur est une valeur non négative. Dans ce tutoriel, nous apprendrons comment calculer les différents types de normes d'un vecteur.

La norme d'un vecteur x est notée : ‖x‖

La norme d'un vecteur est une mesure de sa distance par rapport à l'origine dans l'espace vectoriel.

Pour calculer la norme, vous pouvez utiliser Numpy ou Scipy. Les deux offrent une fonction similaire pour calculer la norme.

Dans ce tutoriel, nous examinerons deux types de normes qui sont les plus courantes dans le domaine de l'apprentissage automatique.

Voici :

  • Norme L1
  • Norme L2

Comment calculer la norme L1 d'un vecteur ?

La norme L1 d'un vecteur est également connue sous le nom de distance de Manhattan ou norme de taxi. La notation pour la norme L1 d'un vecteur x est ‖x‖1.

Pour calculer la norme, vous devez prendre la somme des valeurs absolues du vecteur.

Prenons un exemple pour comprendre cela :

a = [1,2,3,4,5]

Pour le tableau ci-dessus, la norme L1 va être :

1+2+3+4+5 = 15 

Prenons un autre exemple :

a = [-1,-2,3,4,5]

La norme L1 de ce tableau est :

|-1|+|-2|+3+4+5 = 15 

La norme L1 pour les deux vecteurs est la même car nous prenons en compte les valeurs absolues lors de son calcul.

Implémentation Python de la norme L1

Voyons comment nous pouvons calculer la norme L1 d'un vecteur en Python.

Utiliser Numpy

Le code Python pour calculer la norme L1 en utilisant Numpy est le suivant :

from numpy import array
from numpy.linalg import norm
arr = array([1, 2, 3, 4, 5])
print(arr)
norm_l1 = norm(arr, 1)
print(norm_l1)

Sortie :

[1 2 3 4 5]
15.0

Essayons de le calculer pour le tableau avec des entrées négatives dans notre exemple ci-dessus.

from numpy import array
from numpy.linalg import norm
arr = array([-1, -2, 3, 4, 5])
print(arr)
norm_l1 = norm(arr, 1)
print(norm_l1)

Sortie :

[-1 -2  3  4  5]
15.0

Utiliser Scipy

Calculer L1 en utilisant Scipy n'est pas très différent de l'implémentation ci-dessus.

Le code pour cela est :

from numpy import array
from scipy.linalg import norm
arr = array([-1, -2, 3, 4, 5])
print(arr)
norm_l1 = norm(arr, 1)
print(norm_l1)

Sortie :

[-1 -2  3  4  5]
15.0

Le code est exactement similaire à celui de Numpy.

Comment calculer la norme L2 d'un vecteur ?

La notation pour la norme L2 d'un vecteur x est ‖x‖2.

Pour calculer la norme L2 d'un vecteur, prenez la racine carrée de la somme des valeurs du vecteur au carré.

Un autre nom pour la norme L2 d'un vecteur est distance euclidienne. Cela est souvent utilisé pour calculer l'erreur dans les modèles d'apprentissage automatique.

L'erreur quadratique moyenne est la distance euclidienne entre la sortie réelle du modèle et la sortie attendue.

L'objectif d'un modèle d'apprentissage automatique est de réduire cette erreur.

Considérons un exemple pour le comprendre.

a = [1,2,3,4,5]

La norme L2 pour ce qui précède est :

sqrt(1^2 + 2^2 + 3^2 + 4^2 + 5^2) = 7.416

La norme L2 est toujours une quantité positive puisque nous élevons les valeurs au carré avant de les additionner.

Mise en œuvre de Python

L'implémentation en Python est la suivante :

from numpy import array
from numpy.linalg import norm
arr = array([1, 2, 3, 4, 5])
print(arr)
norm_l2 = norm(arr)
print(norm_l2)

Sortie :

[1 2 3 4 5]
7.416198487095663

Ici, nous pouvons voir que par défaut, la méthode norm renvoie la norme L2.

Conclusion

Ce tutoriel portait sur le calcul des normes L1 et L2 en Python. Nous avons utilisé Numpy et Scipy pour calculer les deux normes. J'espère que vous avez pris plaisir à apprendre avec nous !