Функция torch.linalg.lstsq в PyTorch
Справочное руководство Pytorch torch
torch.linalg.lstsqЭто функция в модуле линейной алгебры PyTorch, используемая для решения задач линейного метода наименьших квадратов. Она решает argmin_x ||AX - B||_F.
Определение функции
torch.linalg.lstsq(A, B, rcond=None, driver=None)
Parameters:
A(Tensor): Матрица коэффициентов.B(Tensor): Матрица или вектор правой части.rcond(float, необязательный): Число обусловленности, используемое для усечения сингулярных значений.driver(str, необязательный): Выбор решателя; доступные варианты: 'gels', 'gelsd', 'gelsy'.
Возвращаемое значение:
torch.Tensor: Возвращает решение задачи наименьших квадратов.
Пример использования
Пример
import torch
# Создать матрицу коэффициентов и вектор правой части
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)
# Решить задачу наименьших квадратов
X = torch.linalg.lstsq(A, B).solution
print("Матрица коэффициентов A:")
print(A)
print("nВектор правой части B:")
print(B)
print("nРешение задачи наименьших квадратов X:")
print(X)
# Создать матрицу коэффициентов и вектор правой части
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)
# Решить задачу наименьших квадратов
X = torch.linalg.lstsq(A, B).solution
print("Матрица коэффициентов A:")
print(A)
print("nВектор правой части B:")
print(B)
print("nРешение задачи наименьших квадратов X:")
print(X)
Вывод:
系数矩阵 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)
Другие расширения