Bir veya daha fazla doğrusal en küçük kareler problemini çözer.
'matris', en içteki 2 boyutu '[M, N]' boyutunda gerçek veya karmaşık matrisler oluşturan '[..., M, N]' şeklinde bir tensördür. 'Rhs', 'matris' ile aynı tipte ve '[..., M, K]' şeklinde bir tensördür. Çıkış, her çıkış matrisinin 'matris[..., :, :]' * 'çıkış[..., :, :] denklemlerinin her birini çözdüğü '[..., N, K]' tensör şeklidir. ` = `rhs[..., :, :]` en küçük kareler anlamında.
Toplu işteki (karmaşık) matris ve sağ taraflar için aşağıdaki gösterimi kullanırız:
`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}\\).
Eğer 'hızlı' 'Doğru' ise çözüm, normal denklemlerin Cholesky ayrıştırması kullanılarak çözülmesiyle hesaplanır. Spesifik olarak, eğer \\(m \ge n\\) ise \\(X = (A^H A + \lambda I)^{-1} A^H B\\), bu da en küçük kareler problemini çözer \\(X = \mathrm{argmin}_{Z \in \Re^{n \times k} } ||A Z - B||_F^2 + \lambda ||Z||_F^2\\). Eğer \\(m \lt n\\) ise 'çıktı' \\(X = A^H (A A^H + \lambda I)^{-1} B\\)olarak hesaplanır, bu (\\(\lambda = 0\\)için) az belirlenmiş doğrusal sistemin minimum norm çözümüdür, yani \\(X = \mathrm{argmin}_{Z \in \mathbb{C}^{n \times k} } ||Z||_F^2 \\), \\(A Z = B\\)'ye tabidir.\(A Z = B\\). Hızlı yolun yalnızca \\(A\\) sayısal olarak tam sıra olduğunda ve \\(\mathrm{cond}(A) \lt \frac{1}{\sqrt{\epsilon_{mach} } }\\) veya \\(\lambda\\) yeterince büyük bir koşul numarasına sahip olduğunda sayısal olarak kararlı olduğuna dikkat edin.
'Hızlı' 'Yanlış' ise sayısal olarak sağlam tam ortogonal ayrıştırmaya dayalı bir algoritma kullanılır. Bu, \\(A\\) sıralaması eksik olsa bile minimum norm en küçük kareler çözümünü hesaplar. Bu yol genellikle hızlı yoldan 6-7 kat daha yavaştır. Eğer 'hızlı' 'Yanlış' ise 'l2_regularizer' göz ardı edilir.
İç İçe Sınıflar
sınıf | MatrixSolveLs.Options | MatrixSolveLs için isteğe bağlı özellikler |
Sabitler
Sicim | OP_NAME | Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı |
Genel Yöntemler
Çıkış <T> | Çıkış olarak () Tensörün sembolik tutamacını döndürür. |
statik <T, TType'ı genişletir > MatrixSolveLs <T> | |
statik MatrixSolveLs.Options | hızlı (Boolean hızlı) |
Çıkış <T> | çıktı () Şekil `[..., N, K]`dir. |
Kalıtsal Yöntemler
Sabitler
genel statik son Dize OP_NAME
Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı
Genel Yöntemler
genel Çıkış <T> asOutput ()
Tensörün sembolik tutamacını döndürür.
TensorFlow işlemlerinin girdileri, başka bir TensorFlow işleminin çıktılarıdır. Bu yöntem, girişin hesaplanmasını temsil eden sembolik bir tanıtıcı elde etmek için kullanılır.
public static MatrixSolveLs <T> create ( Kapsam kapsamı, İşlenen <T> matrisi, İşlenen <T> rhs, İşlenen < TFloat64 > l2Regularizer, Seçenekler... seçenekler)
Yeni bir MatrixSolveLs işlemini saran bir sınıf oluşturmak için fabrika yöntemi.
Parametreler
kapsam | mevcut kapsam |
---|---|
matris | Şekil `[..., M, N]`dir. |
rhs | Şekil `[..., M, K]`dir. |
l2düzenleyici | Skaler tensör. |
seçenekler | isteğe bağlı nitelik değerlerini taşır |
İadeler
- MatrixSolveL'lerin yeni bir örneği