Norm of a Vector in Python – Schritte zur Berechnung
Die Norm of a Vector in Python bezieht sich auf die Länge oder die Größe eines Vektors. Es gibt verschiedene Wege, um die Länge zu berechnen. Die Norm of a Vector in Python ist ein nicht-negativer Wert. In diesem Tutorial werden wir lernen, wie man die verschiedenen Arten von Normen eines Vektors berechnet.
Die Norm of a Vector in Python x wird dargestellt als: ‖x‖
Die Norm of a Vector in Python ist ein Maß für seine Entfernung vom Ursprung im Vektorraum.
Um die Norm zu berechnen, können Sie entweder Numpy oder Scipy verwenden. Beide bieten eine ähnliche Funktion zur Berechnung der Norm.
In diesem Tutorial werden wir zwei Arten von Normen betrachten, die im Bereich des maschinellen Lernens am häufigsten sind.
- L1-Norm
- L2-Norm
Wie berechnet man die L1-Norm of a Vector?
Die L1-Norm of a Vector ist auch bekannt als die Manhattan-Distanz oder Taxicab-Norm. Die Notation für die L1-Norm of a Vector x ist ‖x‖1.
Um die Norm zu berechnen, müssen Sie die Summe der absoluten Vektorwerte nehmen.
Lassen Sie uns ein Beispiel nehmen, um dies zu verstehen:
a = [1,2,3,4,5]
Für das obige Array ist die L1-Norm:
1+2+3+4+5 = 15
Lassen Sie uns ein weiteres Beispiel nehmen:
a = [-1,-2,3,4,5]
Die L1-Norm dieses Arrays ist:
|-1|+|-2|+3+4+5 = 15
Die L1-Norm für beide Vektoren ist die gleiche, da wir absolute Werte bei der Berechnung berücksichtigen.
Python-Implementierung der L1-Norm
Lassen Sie uns sehen, wie wir die L1-Norm of a Vector in Python berechnen können.
Verwendung von Numpy
Der Python-Code zur Berechnung der L1-Norm mit Numpy lautet wie folgt:
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)
Output:
[1 2 3 4 5]
15.0
Lassen Sie uns versuchen, es für das Array mit negativen Einträgen in unserem Beispiel oben zu berechnen.
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)
Output :
[-1 -2 3 4 5]
15.0
Verwendung von Scipy
Die Berechnung der L1-Norm mit Scipy unterscheidet sich nicht sehr von der oben genannten Implementierung.
Der Code dafür ist:
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)
Output:
[-1 -2 3 4 5]
15.0
Der Code ist genau wie der von Numpy.
Wie berechnet man die L2-Norm of a Vector?
Die Notation für die L2-Norm of a Vector x ist ‖x‖2.
Um die L2-Norm of a Vector zu berechnen, nehmen Sie die Quadratwurzel aus der Summe der quadrierten Vektorwerte.
Ein anderer Name für die L2-Norm of a Vector ist der euklidische Abstand. Dies wird oft verwendet, um den Fehler in Maschinenlernmodellen zu berechnen.
Der Root Mean Square Error ist der euklidische Abstand zwischen dem tatsächlichen Ausgang des Modells und dem erwarteten Ausgang.
Das Ziel eines Maschinenlernmodells ist es, diesen Fehler zu reduzieren.
Lassen Sie uns ein Beispiel betrachten, um es zu verstehen.
a = [1,2,3,4,5]
Die L2-Norm für das oben genannte ist:
sqrt(1^2 + 2^2 + 3^2 + 4^2 + 5^2) = 7.416
L2-Norm ist immer eine positive Größe, da wir die Werte vor dem Addieren quadrieren.
Python-Implementierung
Die Python-Implementierung lautet wie folgt:
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)
Output:
[1 2 3 4 5]
7.416198487095663
Hier können wir sehen, dass die Norm-Methode standardmäßig die L2-Norm zurückgibt.
Schlussfolgerung
Dieses Tutorial handelte von der Berechnung der L1- und L2-Normen in Python. Wir haben Numpy und Scipy verwendet, um die beiden Normen zu berechnen. Wir hoffen, dass Sie Spaß beim Lernen mit uns hatten!