Meine Frage bezieht sich allgemein auf Singular Value Decomposition (SVD) und insbesondere auf Latent Semantic Indexing (LSI).
Angenommen, ich habe , das Häufigkeiten von 5 Wörtern für 7 Dokumente enthält.
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')
I erhalten , die Matrix - Faktorisierung für von SVD verwendet: .A = U ≤ D ≤ V T.
s = svd(A)
D = diag(s$d) # singular value matrix
S = diag(s$d^0.5 ) # diag matrix with square roots of singular values.
W o r d S i m gibt die Wortähnlichkeitsmatrix an , wobei die Zeilen von verschiedene Wörter darstellen.
WordSim = s$u %*% S
D o c S i m gibt die Dokumentähnlichkeitsmatrix an, in der die Spalten von verschiedene Dokumente darstellen.
DocSim = S %*% t(s$v)
Fragen:
- Warum sind und Wort / Dokument-Ähnlichkeitsmatrizen algebraisch ? Gibt es eine intuitive Erklärung?
- wir anhand des angegebenen R-Beispiels intuitive Beobachtungen zur und Ähnlichkeit von machen, indem wir nur und (ohne die oder den Korrelationskoeffizienten zwischen Zeilen / Spalten zu verwenden)?
D=svd(A)$d
Antworten:
Die Matrixfaktorisierung mit SVD zerlegt die Eingabematrix in drei Teile:
quelle