MatrixSolveLs

MatrixSolveLs public final class

Resuelve uno o más problemas lineales de mínimos cuadrados.

`matriz` es un tensor de forma` [..., M, N] `cuyas 2 dimensiones más internas forman matrices reales o complejas de tamaño` [M, N] `. "Rhs" es un tensor del mismo tipo que "matriz" y forma "[..., M, K]". La salida es una forma de tensor `[..., N, K]` donde cada matriz de salida resuelve cada una de las ecuaciones `matriz [...,:,:]` * `salida [...,:,:] `=` rhs [...,:,:] `en el sentido de mínimos cuadrados.

Usamos la siguiente notación para la matriz (compleja) y los lados derechos en el lote:

`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}\\).

Si "rápido" es "Verdadero", entonces la solución se calcula resolviendo las ecuaciones normales usando la descomposición de Cholesky. En concreto, si \\(m \ge n\\) entonces \\(X = (A^H A + \lambda I)^{-1} A^H B\\), que resuelve el problema de mínimos cuadrados \\(X = \mathrm{argmin}_{Z \in \Re^{n \times k} } ||A Z - B||_F^2 + \lambda ||Z||_F^2\\). Si \\(m \lt n\\) entonces `output` se calcula como \\(X = A^H (A A^H + \lambda I)^{-1} B\\), que (para \\(\lambda = 0\\)) es la solución mínimo-norma para el sistema lineal bajo-determinado, es decir, \\(X = \mathrm{argmin}_{Z \in \mathbb{C}^{n \times k} } ||Z||_F^2 \\), sujeto a \\(A Z = B\\). Tenga en cuenta que la ruta de acceso rápido sólo es numéricamente estable cuando \\(A\\) es numéricamente rango completo y tiene un número de condición \\(\mathrm{cond}(A) \lt \frac{1}{\sqrt{\epsilon_{mach} } }\\) o \\(\lambda\\) es suficientemente grande.

Si "rápido" es "Falso", se utiliza un algoritmo basado en la descomposición ortogonal completa numéricamente robusta. Este calcula la solución de mínimos cuadrados mínimos-norma, incluso cuando \\(A\\) es deficiente rango. Esta ruta suele ser de 6 a 7 veces más lenta que la ruta rápida. Si `fast` es` False`, se ignora `l2_regularizer`.

Clases anidadas

clase MatrixSolveLs.Options Los atributos opcionales para MatrixSolveLs

Constantes

Cuerda OP_NAME El nombre de esta operación, como lo conoce el motor central de TensorFlow

Métodos públicos

Salida <T>
asOutput ()
Devuelve el identificador simbólico del tensor.
estática <T se extiende Ttype > MatrixSolveLs <T>
crear ( Alcance alcance, operando <T> matriz, operando <T> lado derecho, operando < TFloat64 > l2Regularizer, Opciones ... Opciones)
Método de fábrica para crear una clase que envuelva una nueva operación MatrixSolveLs.
estáticas MatrixSolveLs.Options
rápida (fast booleana)
Salida <T>
salida ()
La forma es "[..., N, K]".

Métodos heredados

Constantes

OP_NAME pública final static String

El nombre de esta operación, como lo conoce el motor central de TensorFlow

Valor constante: "MatrixSolveLs"

Métodos públicos

pública de salida <T> asOutput ()

Devuelve el identificador simbólico del tensor.

Las entradas a las operaciones de TensorFlow son salidas de otra operación de TensorFlow. Este método se utiliza para obtener un identificador simbólico que representa el cálculo de la entrada.

estáticas pública MatrixSolveLs <T> Crear ( Alcance alcance, operando <T> matriz, operando <T> lado derecho, operando < TFloat64 > l2Regularizer, Opciones ... Opciones)

Método de fábrica para crear una clase que envuelva una nueva operación MatrixSolveLs.

Parámetros
alcance alcance actual
matriz La forma es "[..., M, N]".
rhs La forma es "[..., M, K]".
l2Regularizador Tensor escalar.

opciones lleva valores de atributos opcionales
Devoluciones
  • una nueva instancia de MatrixSolveLs

estáticas pública MatrixSolveLs.Options rápida (FAST) de Boole

pública de salida <T> salida ()

La forma es "[..., N, K]".