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> | |
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
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