Spec-Zone.ru › TensorFlow 2.4

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

Spec-Zone.ru

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