Моє запитання, як правило, щодо сингулярної декомпозиції значення (SVD), зокрема, щодо латентної семантичної індексації (LSI).
Скажімо, у мене є що містить частоти 5 слів для 7 документів.
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')
Я отримую матрицю розкладання для за допомогою SVD: А = U \ CDOT D \ CDOT V ^ Т .
s = svd(A)
D = diag(s$d) # singular value matrix
S = diag(s$d^0.5 ) # diag matrix with square roots of singular values.
дає матрицю подібності слова , де рядки представляють різні слова.
WordSim = s$u %*% S
дає матрицю подібності документа, де стовпці представляють різні документи.
DocSim = S %*% t(s$v)
Запитання:
- Алгебраїчно, чому слова / документи та ? Чи є інтуїтивне пояснення?
- На основі наведеного прикладу R, чи можемо ми зробити будь-які інтуїтивні спостереження щодо кількості / подібності слів, просто подивившись на та (без використання косинусної подібності чи коефіцієнта кореляції між рядками / стовпцями)?
D=svd(A)$d
в R повертаються квадратні корені ненульових власних значень, отже, я використовував . У мене немає проблеми з аспектом зменшення розмірності, і я розумію, наближення нижнього рангу A може бути сформовано так, як вони описують. Я знайшов відповідь за цим посиланням, частково відповідає на моє запитання.