Katakanlah saya dapat mengetahui SVD dari beberapa matriks : X = USV ^ T
Jika saya memiliki matriks ortogonal (yaitu, adalah persegi dan memiliki kolom ortonormal), maka SVD adalah
mana .
Tetapi dapatkah dikatakan tentang SVD jika memiliki kolom ortonormal tetapi tidak harus persegi? Dengan kata lain, jika SVD adalah , dapatkah matriks , , atau ditulis dalam istilah SVD dan ?
Pembaruan: @whuber menunjukkan bahwa saya dapat memperluas menjadi ortogonal dengan menambahkan kolom ortonormal sampai adalah persegi. Sebut ini ortogonal matriks .
Saya tahu SVD adalah (lihat di atas). Tapi sekarang aku berjuang untuk melihat apakah ada cara yang saya dapat menulis SVD dari dalam hal SVD dari .
pca
svd
matrix-decomposition
mobeets
sumber
sumber
Jawaban:
Dalam SVD , di mana adalah matriks , adalah matriks ortogonal .X=USV′ X n×p V p×p
Misalkan adalah ortogonal matriks: yaitu, . MembiarkanB p×q B′B=1q
menjadi SVD dari . Jadi, menurut definisi, adalah matriks , adalah matriks diagonal dimensi , dan adalah matriks ortogonal.SV′B T p×q D q W q×q
Menghitung
Karena , memiliki kolom ortonormal. Karena dan adalah bagian dari SVD, maka menurut definisi adalah diagonal dengan entri non-negatif dan adalah matriks ortogonal. Akibatnya, persamaan memberikan SVD . Persamaan menunjukkan bagaimana SVD ini terkait dengan yang dan .(UT)′(UT)=T′(U′U)T=T′T=1q UT D W′ D W q×q (2) XB (1) X B
sumber
Untuk matriks dengan kolom ortonormal (tapi tidak persegi), saya ingin cara untuk menemukan sebuah SVD dari dalam hal SVD dari .B XB X=USVT
Seperti yang disarankan oleh @whuber, langkah pertama menuju menemukan SVD adalah menambahkan kolom ke untuk membuatnya menjadi persegi (dan dengan demikian ortogonal). Sebut matriks ini , dan biarkan menjadi jumlah kolom . Kemudian karena adalah orthogonal, jika adalah SVD dari , maka adalah SVD dari .XB B B~=[B;B⊥] k B⊥ B~ X=USVT X XB~=US(B~TV)T XB~
Karena dapat diperoleh dari dengan menjatuhkan kolom terakhir , masalah asli saya sekarang berkurang menjadi sebagai berikut: Mengingat SVD dari matriks , apakah ada cara untuk menemukan SVD dari , di mana adalah matriks yang dihasilkan dari menjatuhkan kolom terakhir ? (Di sini saya memiliki dan .)XB XB~ k Y=DEFT Y′=D′E′F′T Y′ k Y Y=XB~ Y′=XB
Masalah ini disebut sebagai "downdating the SVD", dan secara umum, tampaknya ada banyak pendekatan untuk melakukan ini. Satu pendekatan yang relevan ditemukan di sini , dan lebih banyak diskusi di sini .
Tapi secara umum, mengingat bahwa algoritma untuk downdating SVD muncul untuk menjadi bidang penelitian aktif, saya menyimpulkan bahwa tidak ada sederhana cara untuk menemukan SVD dari diberikan hanya SVD dari .XB X
sumber