MatrixSolveLs

публичный финальный класс MatrixSolveLs

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

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

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

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

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

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

Вложенные классы

сорт MatrixSolveLs.Options Дополнительные атрибуты для MatrixSolveLs

Константы

Нить OP_NAME Название этой операции, известное основному движку TensorFlow.

Публичные методы

Выход <Т>
какВывод ()
Возвращает символический дескриптор тензора.
static <T расширяет TType > MatrixSolveLs <T>
create ( Область действия, матрица операнда <T>, операнд <T> справа, операнд < TFloat64 > l2Regularizer, параметры... параметры)
Фабричный метод для создания класса, обертывающего новую операцию MatrixSolveLs.
статический MatrixSolveLs.Options
быстро (логическое быстрое)
Выход <Т>
выход ()
Форма — `[..., N, K]`.

Унаследованные методы

Константы

общедоступная статическая финальная строка OP_NAME

Название этой операции, известное основному движку TensorFlow.

Постоянное значение: «MatrixSolveLs»

Публичные методы

публичный вывод <T> asOutput ()

Возвращает символический дескриптор тензора.

Входные данные для операций TensorFlow являются выходными данными другой операции TensorFlow. Этот метод используется для получения символического дескриптора, который представляет собой вычисление входных данных.

public static MatrixSolveLs <T> create (область области действия , матрица операнда <T>, операнд <T> rhs, операнд < TFloat64 > l2Regularizer, параметры... параметры)

Фабричный метод для создания класса, обертывающего новую операцию MatrixSolveLs.

Параметры
объем текущий объем
матрица Форма `[..., M, N]`.
правый риск Форма — `[..., M, K]`.
l2Регуляризатор Скалярный тензор.

параметры содержит значения необязательных атрибутов
Возврат
  • новый экземпляр MatrixSolveLs

общедоступный статический MatrixSolveLs.Options быстрый (логический быстрый)

публичный вывод <T> вывод ()

Форма — `[..., N, K]`.