MatrixSolveLs

publiczna klasa końcowa MatrixSolveLs

Rozwiązuje jeden lub więcej liniowych problemów najmniejszych kwadratów.

„macierz” jest tensorem kształtu „[..., M, N]”, którego 2 najbardziej wewnętrzne wymiary tworzą rzeczywiste lub zespolone macierze o rozmiarze „[M, N]”. „Rhs” jest tensorem tego samego typu co „macierz” i ma kształt „[..., M, K]”. Dane wyjściowe mają postać tensora `[..., N, K]`, gdzie każda macierz wyjściowa rozwiązuje każde z równań `macierz[..., :, :]` * `wyjście[..., :, :] ` = `rhs[..., :, :]` w sensie najmniejszych kwadratów.

W partii stosujemy następującą notację dla (zespolonej) macierzy i prawych stron:

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

Jeśli „szybko” ma wartość „Prawda”, wówczas rozwiązanie oblicza się poprzez rozwiązanie równań normalnych przy użyciu rozkładu Cholesky'ego. W szczególności, jeśli \\(m \ge n\\) to \\(X = (A^H A + \lambda I)^{-1} A^H B\\), co rozwiązuje problem najmniejszych kwadratów \\(X = \mathrm{argmin}_{Z \in \Re^{n \times k} } ||A Z - B||_F^2 + \lambda ||Z||_F^2\\). Jeśli \\(m \lt n\\) to `wyjście` jest obliczane jako \\(X = A^H (A A^H + \lambda I)^{-1} B\\), co (dla \\(\lambda = 0\\)) jest rozwiązaniem będącym normą minimalną niedookreślonego układu liniowego, tj. \\(X = \mathrm{argmin}_{Z \in \mathbb{C}^{n \times k} } ||Z||_F^2 \\), z zastrzeżeniem \\(A Z = B\\). Należy zauważyć, że szybka ścieżka jest stabilna liczbowo tylko wtedy, gdy \\(A\\) ma pełny stopień liczbowy i ma numer warunku \\(\mathrm{cond}(A) \lt \frac{1}{\sqrt{\epsilon_{mach} } }\\) lub \\(\lambda\\) jest wystarczająco duży.

Jeśli „szybki” ma wartość „Fałsz”, używany jest algorytm oparty na solidnym numerycznie pełnym rozkładzie ortogonalnym. Spowoduje to obliczenie rozwiązania metodą najmniejszych kwadratów w normie minimalnej, nawet jeśli \\(A\\) ma brak rangi. Ta ścieżka jest zazwyczaj 6-7 razy wolniejsza niż szybka ścieżka. Jeśli „szybko” ma wartość „Fałsz”, wówczas parametr „l2_regularizer” jest ignorowany.

Klasy zagnieżdżone

klasa Opcje MatrixSolveLs Opcjonalne atrybuty dla MatrixSolveLs

Stałe

Strunowy OP_NAME Nazwa tej operacji znana silnikowi rdzenia TensorFlow

Metody publiczne

Wyjście <T>
jako wyjście ()
Zwraca symboliczny uchwyt tensora.
statyczny <T rozszerza TType > MatrixSolveLs <T>
utwórz (zakres zakresu , macierz argumentów <T>, argument <T> rhs, argument < TFloat64 > l2Regularizer, opcje... opcje)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację MatrixSolveLs.
statyczne opcje MatrixSolveLs
szybki (boolowski szybki)
Wyjście <T>
wyjście ()
Kształt to „[..., N, K]”.

Metody dziedziczone

Stałe

publiczny statyczny końcowy ciąg znaków OP_NAME

Nazwa tej operacji znana silnikowi rdzenia TensorFlow

Wartość stała: „MatrixSolveLs”

Metody publiczne

publiczne wyjście <T> asOutput ()

Zwraca symboliczny uchwyt tensora.

Dane wejściowe operacji TensorFlow są wynikami innej operacji TensorFlow. Ta metoda służy do uzyskania symbolicznego uchwytu reprezentującego obliczenia danych wejściowych.

public static MatrixSolveLs <T> create (zakres zakresu , macierz argumentu <T>, argument <T> rhs, argument < TFloat64 > l2Regularizer, opcje... opcje)

Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację MatrixSolveLs.

Parametry
zakres aktualny zakres
matryca Kształt to „[..., M, N]”.
prawa strona Kształt to „[..., M, K]”.
l2Regularyzator Tensor skalarny.

opcje przenosi opcjonalne wartości atrybutów
Zwroty
  • nowa instancja MatrixSolveLs

publiczny statyczny MatrixSolveLs.Options szybki (boolowski szybki)

publiczne wyjście <T> wyjście ()

Kształt to „[..., N, K]”.