PyTorch torch.linalg.lstsq-Funktion
PyTorch torch Referenzhandbuch
torch.linalg.lstsqDies ist eine Funktion im Linear-Algebra-Modul von PyTorch, die zur Lösung linearer Kleinste-Quadrate-Probleme verwendet wird. Sie löst argmin_x ||AX - B||_F.
Funktionsdefinition
torch.linalg.lstsq(A, B, rcond=None, driver=None)
Parameters:
A(Tensor): Koeffizientenmatrix.B(Tensor): Matrix oder Vektor der rechten Seite.rcond(float, optional): Konditionszahl, die zum Abschneiden von Singularwerten verwendet wird.driver(str, optional): Solver-Auswahl; Optionen sind 'gels', 'gelsd', 'gelsy'.
Rückgabewert:
torch.Tensor: Gibt die Kleinste-Quadrate-Lösung zurück.
Anwendungsbeispiel
Beispiel
import torch
# Koeffizientenmatrix und Vektor der rechten Seite erstellen
A = torch.tensor([[1.0, 1.0], [1.0, 2.0], [1.0, 3.0]], dtype=torch.float64)
B = torch.tensor([1.0, 2.0, 3.0], dtype=torch.float64)
# Kleinste-Quadrate-Problem lösen
X = torch.linalg.lstsq(A, B).solution
print("Koeffizientenmatrix A:")
print(A)
print("nVektor der rechten Seite B:")
print(B)
print("nKleinste-Quadrate-Lösung X:")
print(X)
# Koeffizientenmatrix und Vektor der rechten Seite erstellen
A = torch.tensor([[1.0, 1.0], [1.0, 2.0], [1.0, 3.0]], dtype=torch.float64)
B = torch.tensor([1.0, 2.0, 3.0], dtype=torch.float64)
# Kleinste-Quadrate-Problem lösen
X = torch.linalg.lstsq(A, B).solution
print("Koeffizientenmatrix A:")
print(A)
print("nVektor der rechten Seite B:")
print(B)
print("nKleinste-Quadrate-Lösung X:")
print(X)
Die Ausgabe ist:
系数矩阵 A:
tensor([[1., 1.],
[1., 2.],
[1., 3.]], dtype=torch.float64)
右侧向量 B:
tensor([1., 2., 3.], dtype=float64)
最小二乘解 X:
tensor([0.0000, 1.0000], dtype=float64)
Andere Erweiterungen