Función PyTorch torch.linalg.lstsq
Manual de referencia de Pytorch torch
torch.linalg.lstsqEs una función del módulo de álgebra lineal de PyTorch utilizada para resolver problemas de mínimos cuadrados lineales. Resuelve argmin_x ||AX - B||_F.
Definición de la función
torch.linalg.lstsq(A, B, rcond=None, driver=None)
Parámetros:
A(Tensor): Matriz de coeficientes.B(Tensor): Matriz o vector del lado derecho.rcond(float, opcional): Número de condición utilizado para truncar valores singulares.driver(str, opcional): Selección del solucionador, opciones 'gels', 'gelsd', 'gelsy'.
Valor de retorno:
torch.Tensor: Devuelve la solución de mínimos cuadrados.
Ejemplo de uso
Ejemplo
import torch
# Crear la matriz de coeficientes y el vector del lado derecho
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)
# Solución de mínimos cuadrados
X = torch.linalg.lstsq(A, B).solution
print("Matriz de coeficientes A:")
print(A)
print("nVector del lado derecho B:")
print(B)
print("nSolución de mínimos cuadrados X:")
print(X)
# Crear la matriz de coeficientes y el vector del lado derecho
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)
# Solución de mínimos cuadrados
X = torch.linalg.lstsq(A, B).solution
print("Matriz de coeficientes A:")
print(A)
print("nVector del lado derecho B:")
print(B)
print("nSolución de mínimos cuadrados X:")
print(X)
El resultado de salida es:
系数矩阵 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)
Otras extensiones