Grundlegendes zur Singularwertzerlegung im Kontext von LSI

9

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.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')

I erhalten , die Matrix - Faktorisierung für von SVD verwendet: .A = U D V T.AA=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.

In 1 und 2 heißt es:

W o r d S i mWordSim=US gibt die Wortähnlichkeitsmatrix an , wobei die Zeilen von verschiedene Wörter darstellen. WordSim

WordSim = s$u %*% S

D o c S i mDocSim=SVT gibt die Dokumentähnlichkeitsmatrix an, in der die Spalten von verschiedene Dokumente darstellen.DocSim

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

Fragen:

  1. Warum sind und Wort / Dokument-Ähnlichkeitsmatrizen algebraisch ? Gibt es eine intuitive Erklärung?WordSimDocSimS
  2. 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)?WordSimDocSim

Geben Sie hier die Bildbeschreibung ein

Zhubarb
quelle
AV=UDAAU=VDA
Ah .. Ich sehe in Wikipedia, dass LSI nur Korrespondenzanalyse (CA) ist. Das ist besser. CA ist der Biplot einer speziell vorbereiteten Datentabelle. Die oben genannten Projektionen oder Koordinaten - Sie verwenden sie, um Zeilen- und Spaltenpunkte im Raum der Hauptachsen zu zeichnen. Die Nähe zwischen den Zeilen-Zeilen-, Spalten-Spalten- und Zeilen-Spalten-Punkten hängt mit ihrer Ähnlichkeit zusammen. Das Layout des Diagramms hängt jedoch davon ab, wie Sie die Trägheit (Varianz) über die Zeile und die Spaltenpunkte verteilen.
ttnphns
AV=UDAU=VDD
2
SDUDDVUSSVA=UDVU(S2)V=(US)(SV).
1
D=svd(A)$dUD

Antworten:

2

Die Matrixfaktorisierung mit SVD zerlegt die Eingabematrix in drei Teile:

  • U
  • DDUVT
  • VT

WordSim

Pieter
quelle