Resolve um ou mais problemas de mínimos quadrados lineares.
`matriz` é um tensor de forma` [..., M, N] `cujas 2 dimensões mais internas formam matrizes reais ou complexas de tamanho` [M, N] `. `Rhs` é um tensor do mesmo tipo que` matriz` e forma `[..., M, K]`. A saída é uma forma tensorial `[..., N, K]` onde cada matriz de saída resolve cada uma das equações `matriz [...,:,:]` * `saída [...,:,:] `=` rhs [...,:,:] `no sentido de mínimos quadrados.
Usamos a seguinte notação para a matriz (complexa) e os lados direitos do 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}\\).
Se `rápido` é` Verdadeiro`, então a solução é calculada resolvendo as equações normais usando a decomposição de Cholesky. Especificamente, se \\(m \ge n\\) então \\(X = (A^H A + \lambda I)^{-1} A^H B\\), o que resolve o problema dos mínimos quadrados \\(X = \mathrm{argmin}_{Z \in \Re^{n \times k} } ||A Z - B||_F^2 + \lambda ||Z||_F^2\\). Se \\(m \lt n\\) então `output` é calculado como \\(X = A^H (A A^H + \lambda I)^{-1} B\\), que (por \\(\lambda = 0\\)) é a solução de mínimo norma para o sistema linear sob-determinado, isto é \\(X = \mathrm{argmin}_{Z \in \mathbb{C}^{n \times k} } ||Z||_F^2 \\), sujeito a \\(A Z = B\\). Note-se que o caminho rápido só é numericamente estável quando \\(A\\) é posto numericamente cheio e tem um número condição \\(\mathrm{cond}(A) \lt \frac{1}{\sqrt{\epsilon_{mach} } }\\) ou \\(\lambda\\) é suficientemente grande.
Se `rápido` é` Falso`, um algoritmo baseado na decomposição ortogonal completa numericamente robusta é usado. Este calcula a solução de mínimos quadrados mínimos-norma, mesmo quando \\(A\\) é posto deficiente. Esse caminho é normalmente 6 a 7 vezes mais lento do que o caminho rápido. Se `fast` for` False` então `l2_regularizer` será ignorado.
Classes aninhadas
classe | MatrixSolveLs.Options | Atributos opcionais para MatrixSolveLs |
Constantes
Corda | OP_NAME | O nome desta operação, conforme conhecido pelo motor principal TensorFlow |
Métodos Públicos
Output <T> | asOutput () Retorna o identificador simbólico do tensor. |
estática <T estende TType > MatrixSolveLs <T> | |
estáticos MatrixSolveLs.Options | rápida (fast Boolean) |
Output <T> | saída () A forma é `[..., N, K]`. |
Métodos herdados
Constantes
nome_op final String public static
O nome desta operação, conforme conhecido pelo motor principal TensorFlow
Métodos Públicos
pública Output <T> asOutput ()
Retorna o identificador simbólico do tensor.
As entradas para as operações do TensorFlow são saídas de outra operação do TensorFlow. Este método é usado para obter um identificador simbólico que representa o cálculo da entrada.
public static MatrixSolveLs <T> create ( Scope escopo, Operando <T> matriz, operando <T> rhs, Operando < TFloat64 > l2Regularizer, Options ... Opções)
Método de fábrica para criar uma classe envolvendo uma nova operação MatrixSolveLs.
Parâmetros
alcance | escopo atual |
---|---|
matriz | A forma é `[..., M, N]`. |
rhs | A forma é `[..., M, K]`. |
l2Regularizer | Tensor escalar. |
opções | carrega valores de atributos opcionais |
Devoluções
- uma nova instância de MatrixSolveLs