Spec-Zone.ru › TensorFlow 2.3

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. Вычисляемый результат — это тензор формы [..., 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 из-за низкой точности.

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

Spec-Zone.ru

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