Moje pytanie dotyczy generalnie pojedynczej dekompozycji wartości (SVD), a zwłaszcza Latent Semantic Indexing (LSI).
Powiedzmy, że mam który zawiera częstotliwości 5 słów dla 7 dokumentów.
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')
Uzyskać faktoryzacji macierzy do za pomocą SVD: .
s = svd(A)
D = diag(s$d) # singular value matrix
S = diag(s$d^0.5 ) # diag matrix with square roots of singular values.
podaje macierz podobieństwa wyrazów , gdzie wiersze reprezentują różne słowa.
WordSim = s$u %*% S
daje macierz podobieństwa dokumentu, w której kolumny reprezentują różne dokumenty.
DocSim = S %*% t(s$v)
Pytania:
- Algebraicznie, dlaczego macierze podobieństwa wyrazów i dokumentów i ? Czy istnieje intuicyjne wyjaśnienie?
- Czy na podstawie podanego przykładu R możemy dokonać jakichkolwiek intuicyjnych obserwacji liczby / podobieństwa słów, po prostu patrząc na i (bez użycia podobieństwa cosinus lub współczynnika korelacji między wierszami / kolumnami)?
D=svd(A)$d
w R zwraca pierwiastki kwadratowe niezerowych wartości własnych, stąd użyłem . Nie mam problemu z aspektem zmniejszania wymiarów i rozumiem, że można opisać przybliżenie A rangi niższej rangi podczas ich opisu. Znalazłem odpowiedź na ten link częściowo odpowiada na moje pytanie.Odpowiedzi:
Faktoryzacja macierzy za pomocą SVD rozkłada macierz wejściową na trzy części:
Kiedy słowa lub dokumenty różnią się razem , oznacza to, że są one podobne. Na przykład, jeśli słowo „lekarz” występuje częściej w dokumencie, słowo „pielęgniarka i szpital” również występuje częściej. Jest to pokazane przez pierwszy skalowany lewy wektor osobliwy, pierwszą kolumnęWordSim Można zweryfikować ten wynik, patrząc na dane wejściowe. Zwróć uwagę, że w przypadku wystąpienia pielęgniarki pojawia się również szpital, a gdy nie występuje, szpital również nie występuje.
źródło