MatrixSolveLs

clase final pública MatrixSolveLs

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 `matrix` 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 matrices (complejas) y 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 mediante la descomposición de Cholesky. Específicamente, si \\(m \ge n\\) entonces \\(X = (A^H A + \lambda I)^{-1} A^H B\\), lo 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 la "salida" se calcula como \\(X = A^H (A A^H + \lambda I)^{-1} B\\), que (para \\(\lambda = 0\\)) es la solución de norma mínima para el sistema lineal infradeterminado, es decir, \\(X = \mathrm{argmin}_{Z \in \mathbb{C}^{n \times k} } ||Z||_F^2 \\), sujeto a \\(A Z = B\\). Observe que la ruta rápida solo es numéricamente estable cuando \\(A\\) tiene un rango numérico completo y tiene un número de condición \\(\mathrm{cond}(A) \lt \frac{1}{\sqrt{\epsilon_{mach} } }\\) o \\(\lambda\\) que es suficientemente grande.

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

Clases anidadas

clase MatrixSolveLs.Opciones Atributos opcionales para MatrixSolveLs

Constantes

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

Métodos públicos

Salida <T>
como salida ()
Devuelve el identificador simbólico del tensor.
estático <T extiende TType > MatrixSolveLs <T>
crear (alcance alcance , matriz de operando <T>, operando <T> rhs, operando <TFloat64> l2Regularizer, opciones... opciones)
Método de fábrica para crear una clase que envuelve una nueva operación MatrixSolveLs.
MatrixSolveLs.Options estáticas
rápido (rápido booleano)
Salida <T>
producción ()
La forma es `[..., N, K]`.

Métodos heredados

Constantes

Cadena final estática pública OP_NAME

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

Valor constante: "MatrixSolveLs"

Métodos públicos

Salida pública <T> como Salida ()

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.

public static MatrixSolveLs <T> create ( Alcance alcance, Operando <T> matriz, Operando <T> rhs, Operando < TFloat64 > l2Regularizer, Opciones... opciones)

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

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

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

público estático MatrixSolveLs.Options rápido (booleano rápido)

Salida pública <T> salida ()

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