Als «svd» getaggte Fragen

Singular Value Decomposition (SVD) ist eine Zerlegung (Faktorisierung) einer rechteckigen reellen oder komplexen Matrix in das Produkt einer einheitlichen Rotationsmatrix, einer diagonalen Skalierungsmatrix und einer zweiten einheitlichen Rotationsmatrix.



1
Rein rotierende kleinste Quadrate stimmen überein
Könnte jemand eine Methode für das folgende Problem der kleinsten Quadrate empfehlen: finde R∈R3×3R∈R3×3R \in \mathbb{R}^{3 \times 3} , das minimiert: ∑i=0N(Rxi−bi)2→min∑i=0N(Rxi−bi)2→min\sum\limits_{i=0}^N (Rx_i - b_i)^2 \rightarrow \min , wobei RRR eine einheitliche (Rotations-) Matrix ist. Ich könnte eine ungefähre Lösung erhalten, indem ich ∑i=0N(Axi−bi)2→min∑i=0N(Axi−bi)2→min\sum\limits_{i=0}^N (Ax_i - b_i)^2 \rightarrow \min (beliebiges …

2
Berechnen der abgeschnittenen SVD, jeweils ein Singularwert / Vektor
Gibt es einen abgeschnittenen SVD-Algorithmus, der die Singularwerte einzeln berechnet? Mein Problem: Ich möchte die ersten kkk Singularwerte (und Singularvektoren) einer großen dichten Matrix berechnen MMM, weiß aber nicht, was ein geeigneter Wert von kkk wäre. MMM ist groß, daher würde ich aus Effizienzgründen die vollständige SVD lieber nicht auswerten, …



2
Wie viel Regularisierung muss hinzugefügt werden, um SVD stabil zu machen?
Ich habe die SVD von Intel MKL ( dgesvdüber SciPy) verwendet und festgestellt, dass die Ergebnisse erheblich voneinander abweichen, wenn ich die Genauigkeit zwischen float32und float64wenn meine Matrix schlecht konditioniert ist / nicht den vollen Rang hat. Gibt es einen Leitfaden zum Mindestmaß an Regularisierung, das ich hinzufügen sollte, um …

1
Finden des
Bei einer großen Matrix EINAA mit Eigenwerten σ1≥ σ2≥ …σ1≥σ2≥…\sigma_1\ge \sigma_2 \ge \dotsc möchte ich nur eine Teilmenge dieser Werte bestimmen, z. B. σ5, σ8σ5,σ8\sigma_5,\sigma_8 und σ19σ19\sigma_{19} . Gibt es einen Algorithmus, der dies kann, oder ist es am besten, die Top-19-Eigenwerte zu finden?

4
Inkrementelle SVD-Implementierung in MATLAB
Gibt es eine Bibliothek / Toolbox, in der inkrementelle SVD in MATLAB implementiert ist? Ich habe dieses Papier implementiert , es ist schnell, funktioniert aber nicht gut. Ich habe dies versucht, aber auch hier breitet sich der Fehler schnell aus (beim Aktualisieren von 5-10 Punkten ist der Fehler hoch).

3
Was sollten die Kriterien sein, um einzelne Werte zu akzeptieren / abzulehnen?
Ich löse ein System mit Singularwertzerlegung. Die Singularwerte (vor der Skalierung) sind: 1.82277e+29 1.95011e+27 1.15033e+23 1.45291e+21 4.79336e+17 7.48116e+15 8.31087e+12 1.71838e+11 5.63232e+08 2.17863e+08 9.02783e+07 1.72345e+07 1.73889e+05 8.09382e+02 2.16644e+00 Ich habe festgestellt, dass das Akzeptieren aller Singularwerte und des damit verbundenen Beitrags zu meinem Lösungsvektor zu schlechten Ergebnissen führt. Ich skaliere sie …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.