Spec-Zone.ru › TensorFlow 2.9

tf.linalg.lstsq

Просмотреть исходный код на GitHub

Решает одну или несколько задач линейной наименьших квадратов.

Просмотр псевдонимов

Псевдонимы для миграции

См. Руководство по миграции для получения дополнительных сведений.

tf.compat.v1.linalg.lstsq, tf.compat.v1.matrix_solve_ls

tf.linalg.lstsq(
    matrix, rhs, l2_regularizer=0.0, fast=True, name=None
)

matrix — это тензор формы [..., M, N], чьи внутренние 2 измерения образуют матрицы M×N. Rhs — это тензор формы [..., M, K], чьи внутренние 2 измерения образуют матрицы M×K. Вычисляемый результат — это Tensor формы [..., N, K], чьи внутренние 2 измерения образуют матрицы M×K, которые решают уравнения matrix[..., :, :] * output[..., :, :] = rhs[..., :, :] в смысле наименьших квадратов.

Ниже мы будем использовать следующую запись для каждой пары матриц и правых частей в пакете:

matrix=\(A \in \Re^{m \times n}\), rhs=\(B \in \Re^{m \times k}\), output=\(X \in \Re^{n \times k}\), l2_regularizer=\(\lambda\).

Если fast является True, то решение вычисляется путем решения нормальных уравнений с использованием разложения Холецкого. Конкретно, если \(m \ge n\), то \(X = (A^T A + \lambda I)^{-1} A^T B\), что решает задачу наименьших квадратов \(X = \mathrm{argmin}_{Z \in \Re^{n \times k} } ||A Z - B||_F^2 + \lambda ||Z||_F^2\). Если \(m \lt n\), то output вычисляется как \(X = A^T (A A^T + \lambda I)^{-1} B\), что (при \(\lambda = 0\)) является решением с минимальной нормой для недоопределённой системы линейных уравнений, то есть \(X = \mathrm{argmin}_{Z \in \Re^{n \times k} } ||Z||_F^2 \), при условии \(A Z = B\). Обратите внимание, что быстрый путь численно устойчив только тогда, когда \(A\) численно полным рангом и имеет число обусловленности \(\mathrm{cond}(A) \lt \frac{1}{\sqrt{\epsilon_{mach} } }\) или \(\lambda\) достаточно велико.

Если fast является False, используется алгоритм, основанный на численно устойчивом полном ортогональном разложении. Это вычисляет решение с минимальной нормой в случае наименьших квадратов, даже если \(A\) имеет недостаточный ранг. Этот путь обычно в 6-7 раз медленнее, чем быстрый путь. Если fast является False, то l2_regularizer игнорируется.

Аргументы
matrix Tensor формы [..., M, N].
rhs Tensor формы [..., M, K].
l2_regularizer 0-мерное double Tensor. Игнорируется, если fast=False.
fast bool. По умолчанию True.
name строка, необязательное имя операции.
Возвращаемое значение
output Tensor формы [..., N, K], чьи внутренние 2 измерения образуют матрицы M×K, которые решают уравнения matrix[..., :, :] * output[..., :, :] = rhs[..., :, :] в смысле наименьших квадратов.
Исключения
NotImplementedError linalg.lstsq в настоящее время отключен для complex128 и l2_regularizer != 0 из-за низкой точности.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/linalg/lstsq

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API