Memahami Dekomposisi Nilai Singular dalam konteks LSI

9

Pertanyaan saya umumnya pada Dekomposisi Nilai Singular (SVD), dan khususnya tentang Latent Semantic Indexing (LSI).

Katakanlah, saya memiliki yang berisi frekuensi 5 kata untuk 7 dokumen.Aword×document

A =  matrix(data=c(2,0,8,6,0,3,1,
                   1,6,0,1,7,0,1,
                   5,0,7,4,0,5,6,
                   7,0,8,5,0,8,5,
                   0,10,0,0,7,0,0), ncol=7, byrow=TRUE)
rownames(A) <- c('doctor','car','nurse','hospital','wheel')

Saya mendapatkan faktorisasi matriks untuk dengan menggunakan SVD: .A = U D V TAA=UDVT

s = svd(A)
D = diag(s$d) # singular value matrix
S = diag(s$d^0.5 ) # diag matrix with square roots of singular values.

Dalam 1 dan 2 , dinyatakan bahwa:

WordSim=US memberikan kata kesamaan matriks , di mana baris mewakili kata-kata yang berbeda. WordSim

WordSim = s$u %*% S

DocSim=SVT memberikan matriks kemiripan dokumen di mana kolom mewakili dokumen yang berbeda.DocSim

DocSim = S %*% t(s$v)

Pertanyaan:

  1. Secara aljabar, mengapa dan kata / dokumen matriks kesamaan? Apakah ada penjelasan yang intuitif?D o c S i m SWordSimDocSimS
  2. Berdasarkan contoh R yang diberikan, dapatkah kita membuat penghitungan jumlah / kemiripan kata intuitif dengan hanya melihat dan (tanpa menggunakan kesamaan cosinus atau koefisien korelasi antara baris / kolom)?D o c S i mWordSimDocSim

masukkan deskripsi gambar di sini

Zhubarb
sumber
Saya tahu sedikit tentang LSI, tetapi SVD dari matriks adalah inti dari pengurangan dimensi linearitas, metode pemetaan, seperti komponen utama, biplots, analisis korespondensi. "Hukum" utama SVD adalah bahwa = proyeksi baris ke sumbu utama; dan = proyeksi kolom ke sumbu utama. Dalam arti tertentu, itu adalah nilai "kesamaan" antara titik (baris atau kolom) dan sumbu utama. Apakah itu dapat diperlakukan sebagai kesamaan antara poin itu sendiri tergantung pada konteksnya, saya pikir. A A U = V D AAV=UDAAU=VDA
ttnphns
Ah .. Saya melihat di wikipedia bahwa LSI hanyalah analisis korespondensi (CA). Itu lebih baik. CA adalah biplot dari tabel data yang disiapkan khusus. Proyeksi atau koordinat yang disebutkan di atas - Anda menggunakannya untuk merencanakan titik-titik baris dan kolom di ruang sumbu utama. Kedekatan antara baris-baris, titik-titik, dan titik-titik titik menghubungkan kesamaan mereka. Namun, tata letak pada plot tergantung pada bagaimana Anda menyebarkan inersia (varians) pada baris dan titik col.
ttnphns
@ttnphns. Terima kasih, dapatkah Anda memberikan referensi tentang: " = proyeksi baris A ke sumbu utama; dan = proyeksi kolom A ke sumbu utama"? Saya pikir itu akan menjelaskan hal-hal untuk saya. Dengan sumbu utama, apakah maksud Anda vektor eigen yang sesuai dengan nilai singular m atas dalam ? Saya juga menemukan: "Untuk PCA, kita tidak perlu menghitung vektor singular kiri", tetapi tidak dapat sepenuhnya memahami mengapa hal ini terjadi. A U = V D DAV=UDAU=VDD
Zhubarb
2
Pertanyaan Anda dapat ditingkatkan dengan mengeditnya untuk mencerminkan dengan benar apa yang dinyatakan oleh dokumen itu. Pada p. 22 mendefinisikan sebagai mengandung akar kuadrat dari , "terbatas" untuk yang terbesar. Oleh karena itu, baik maupun tidak terlibat, juga tidak memiliki interpretasi sebagai "matriks kesamaan." Matriks yang relevan adalah dan . Mereka dapat digunakan untuk merekonstruksi perkiraanD U D D V U S S V A = U D V U ( S 2 ) V = ( U S ) ( S V ) .SDUDDVUSSVA=UDVU(S2)V=(US)(SV).
whuber
1
Saya berasumsi D=svd(A)$ddalam R mengembalikan akar kuadrat dari nilai-nilai eigen non-nol, maka saya menggunakan . Saya tidak punya masalah dengan aspek reduksi dimensi, dan saya mengerti perkiraan peringkat lebih rendah dari A dapat dibentuk seperti yang mereka jelaskan. Saya menemukan jawaban di tautan ini sebagian menjawab pertanyaan saya. UD
Zhubarb

Jawaban:

2

Matriks faktorisasi menggunakan SVD menguraikan matriks input menjadi tiga bagian:

  • Vektor singular kiri . Kolom pertama dari matriks ini menentukan sumbu mana baris dari matriks input paling bervariasi. Dalam kasus Anda, kolom pertama memberi tahu Anda kata-kata mana yang paling bervariasi.U
  • Nilai-nilai singular . Ini adalah scalings. Ini relatif satu sama lain. Jika nilai pertama adalah dua kali lebih besar dari yang kedua itu berarti bahwa vektor singular pertama (dalam dan ) menjelaskan variasi dua kali lebih banyak daripada vektor singular detik.D U V TDDUVT
  • Vektor singular kanan . Baris pertama dari matriks ini menentukan sumbu kolom kolom input yang paling bervariasi. Dalam kasus Anda, baris pertama memberi tahu Anda dokumen mana yang paling bervariasi.VT

Ketika kata-kata atau dokumen berbeda-beda itu menunjukkan bahwa mereka serupa. Misalnya, jika kata dokter lebih sering muncul dalam dokumen, kata perawat dan rumah sakit juga lebih banyak muncul. Ini ditunjukkan oleh vektor singular kiri berskala pertama, kolom pertama . Anda dapat memvalidasi hasil ini dengan melihat data input. Perhatikan bahwa ketika perawat terjadi, rumah sakit juga terjadi dan ketika itu tidak terjadi, rumah sakit juga tidak terjadi.WordSim

Pieter
sumber