PyTorch torch.linalg.lstsq-Funktion


Pytorch torch 参考手册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)

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)

Pytorch torch 参考手册PyTorch torch Referenzhandbuch

Andere Erweiterungen