gewichtetes SVD-Problem?


12

Bei zwei Matrizen und B möchte ich die Vektoren x und y so finden, dass min i j ( A i j - x i y j B i j ) 2 . In Matrixform versuche ich, die Frobenius-Norm von A - diag ( x ) B diag ( y ) = A - B ( x y ⊤) zu minimierenABxy

minij(AijxiyjBij)2.
.Adiag(x)Bdiag(y)=AB(xy)

Im Allgemeinen möchte ich mehrere Einheitsvektoren und y in der Form min i j ( A i j - n k = 1 s i x ( k ) i y ( k ) j B i j ) finden. 2 . wobei s i 's positive reelle Koeffizienten sind.xy

minij(Aijk=1nsixi(k)yj(k)Bij)2.
si

Dies entspricht der Singularwertzerlegung (SVD), wenn .(B)ij=1

Weiß jemand, wie dieses Problem heißt? Gibt es einen bekannten Algorithmus wie SVD zur Lösung eines solchen Problems?

(migriert von math.SE)


Ich glaube, das ist Generalized SVD . Der Wikipedia-Eintrag ist nicht sehr detailliert, daher sollten Sie wahrscheinlich die verknüpften Quellen überprüfen. Insbesondere Seite 466 dieses Google Books-Links kann hilfreich sein.
Ely

1
xy

B muss bei verallgemeinerter SVD weder diagonal noch symmetrisch sein. Beide von mir bereitgestellten Links weisen darauf hin, dass A und B allgemeine komplexwertige Matrizen der Dimension M-mal-N bzw. P-mal-N sein können.
Ely

Danke für den Vorschlag @EMS. Ich würde mich freuen, wenn Sie die Verbindung ausarbeiten können.
Memming

Antworten:


8

Dies ist weit entfernt von einer verallgemeinerten SVD.

Wenn B eine positive Matrix ist, können Sie mein Paket BIRSVD http://www.mat.univie.ac.at/~neum/software/birsvd/ verwenden.

Das Papier http://www.mat.univie.ac.at/~neum/software/birsvd/svd_incomplete_data.pdf , das die dortige Methode beschreibt, enthält auch Referenzen, die Sie für eine Literatursuche in Betracht ziehen könnten.


Ah, das Problem in eine gewichtete Näherung mit niedrigem Rang umwandeln! Danke vielmals!
Memming

||Csixiyi||W2||C||W=||CW||F

Ja. Dies gibt Ihrem Problem einen schönen Namen. Wie man es löst, ist eine andere Sache. Es ist kein Standardproblem und es war ziemlich schwierig, einen Algorithmus zu finden, der sowohl schnell als auch zuverlässig ist.
Arnold Neumaier

@ArnoldNeumaier das ist toll, danke. Wäre es möglich, eine Lizenz und einen Copyright-Hinweis mit Ihrem Code zu erhalten? So wie es jetzt ist, handelt es sich um proprietäre Software. Wenn Sie es unter GPLv3 oder kompatibel veröffentlichen, findet es möglicherweise den Weg zum linearen Algebra-Paket von GNU Octave.
JuanPi
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.