Spec-Zone.ru › TensorFlow

tf.linalg.lstsq

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

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

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

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

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/api_docs/python/tf/linalg/lstsq

Spec-Zone.ru

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