ağırlıklı SVD sorunu?


12

birBxyA - diag ( x ) B diag ( y ) = A - B ( x y )

minΣbenj(birbenj-xbenyjBbenj)2.
bir-diag(x)Bdiag(y)=bir-B(xy)

Genel olarak, \ min \ sum_ {ij} (A_ {ij} - \ sum_ {k = 1} ^ n s_i x_i ^ {(k)} şeklinde birden fazla birim vektörü x ve y 'ler bulmak istiyorum.

minΣbenj(birbenj-Σk=1nsbenxben(k)yj(k)Bbenj)2.
burada sben değerleri pozitif gerçek katsayılardır.

Bu, (B) _ {ij} = 1 olduğunda tekil değer ayrışmasına (SVD) eşdeğerdir (B)benj=1.

Bu sorunun ne olduğunu bilen var mı? Böyle bir sorunun çözümü için SVD gibi iyi bilinen bir algoritma var mı?

(matematikten taşındı. SE)


Bunun Genelleştirilmiş SVD olduğuna inanıyorum . Wikipedia girişi çok ayrıntılı değil, bu yüzden muhtemelen bağlı kaynakları kontrol etmelisiniz. Özellikle, bu Google kitaplar bağlantısının 466. sayfası faydalı olabilir.
ely

1
Bana göre, bu genelleştirilmiş SVD'ye benzemiyor. Özellikle B zorunlu olarak diyagonal veya simetrik olmadığından, her veya toplamda birçok kez görünebilir. yxy
Victor Liu

Genel SVD'de B'nin diyagonal veya simetrik olması gerekmez. Sağladığım her iki bağlantı, A ve B'nin sırasıyla M-N-N ve P-N-boyutu genel kompleks değerli matrisler olabileceğini göstermektedir.
ely

@EMS önerisi için teşekkürler. Bağlantıyı ayrıntılandırabilirseniz sevinirim.
22'de Memming

Yanıtlar:


8

Bu genelleştirilmiş SVD'den çok uzak.

B pozitif bir matris ise, BIRSVD paketimi kullanabilirsiniz http://www.mat.univie.ac.at/~neum/software/birsvd/

Yöntemi açıklayan http://www.mat.univie.ac.at/~neum/software/birsvd/svd_incomplete_data.pdf belgesi , literatür taraması yapmayı düşündüğünüz referanslar da vermektedir.


Ah, problemi ağırlıklı düşük seviyeli yaklaşıma dönüştürmek! Çok teşekkürler!
Mart'ta Memming

@ Arnold'un cevabına ayrıntılar eklemek için, bu problem ağırlıklı bir düşük sıralı yaklaşım problemine dönüştürülebilir, burada amaç Frobenius normu yerine ağırlıklı normu en aza indirmektir. burada ve , Schur ürününü (aka Hadamard ürünü). ||C-Σsbenxbenyben||W2||C||W=||CW||F
Mart'ta

Evet. Bu, probleminize güzel bir isim verir. Nasıl çözüleceği farklı bir konudur. Standart bir sorun değildir ve hem hızlı hem de güvenilir bir algoritma bulmak oldukça zordu.
Arnold Neumaier

@ArnoldNeumaier bu harika, teşekkür ederim. kodunuzla lisans ve telif hakkı bildirimi almak mümkün müdür? Şimdi olduğu gibi özel bir yazılımdır. GPLv3 altında veya uyumlu olarak bırakırsanız, GNU Octave'nin doğrusal cebir paketine giden yolunu bulabilir.
JuanPi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.