Spec-Zone.ru › TensorFlow 1.15

tf.linalg.lstsq

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

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

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

Основные псевдонимы

`tf.matrix_solve_ls`

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

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

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

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 из-за низкой точности.

© 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/r1.15/api_docs/python/tf/linalg/lstsq

Spec-Zone.ru

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