Розуміння сингулярної декомпозиції значення в контексті LSI


9

Моє запитання, як правило, щодо сингулярної декомпозиції значення (SVD), зокрема, щодо латентної семантичної індексації (LSI).

Скажімо, у мене є що містить частоти 5 слів для 7 документів.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')

Я отримую матрицю розкладання для за допомогою SVD: А = U \ CDOT D \ CDOT V ^ Т .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.

У 1 і 2 зазначено, що:

WordSim=US дає матрицю подібності слова , де рядки WordSim представляють різні слова.

WordSim = s$u %*% S

DocSim=SVT дає матрицю подібності документа, де стовпці представляють різні документи.DocSim

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

Запитання:

  1. Алгебраїчно, чому слова / документи та ? Чи є інтуїтивне пояснення?WordSimDocSimS
  2. На основі наведеного прикладу R, чи можемо ми зробити будь-які інтуїтивні спостереження щодо кількості / подібності слів, просто подивившись на та (без використання косинусної подібності чи коефіцієнта кореляції між рядками / стовпцями)?WordSimDocSim

введіть тут опис зображення


Я знаю дуже мало про LSI, але SVD матриці лежить в основі лінійного зменшення розмірності, методів відображення, таких як основні компоненти, біплоти, кореспондентський аналіз. Основні "закони" SVD полягають у тому, що = проекція рядків на головні осі; і = проекція стовпців на основні осі. У певному сенсі це значення "подібності" між точками (рядками чи стовпцями) та головними осями. Чи можна це трактувати як подібність між самими точками, це залежить від контексту, я думаю. AV=UDAAU=VDA
ttnphns

Ага .. Я бачу у вікіпедії, що LSI - це лише листування аналіз (CA). Так краще. CA - біплот спеціально підготовленої таблиці даних. Вищезазначені проекції чи координати - ви використовуєте їх для побудови точок рядків та стовпців у просторі головних осей. Близькість між рядками-рядками, стовпцями та рядками-рядками пов'язана з їх схожістю. Однак макет на графіку залежить від того, як ви поширюєте інерцію (дисперсію) на рядок та точки крапки.
ttnphns

@ttnphns. Дякую, чи можете ви дати посилання на: " = проекція рядків A на головні осі; = проекція стовпців A на головні осі"? Я думаю, що це прояснить для мене речі. Під головними осями ви маєте на увазі власні вектори, відповідні найвищим m значенням сингулярності у ? Я також натрапив: "Для PCA нам не потрібно обчислювати ліві сингулярні вектори", але не можу повністю зрозуміти, чому це так. AV=UDAU=VDD
Жубарб

2
Ваше питання можна покращити, відредагувавши його, щоб правильно відобразити те, що зазначено в цьому документі. На с. 22 визначає , як містять квадратні корені з , «обмежені» до найбільших з них. Тому ні ні не беруть участь, ні інтерпретації як "матриці подібності". Відповідними матрицями є замість та . Вони можуть бути використані для реконструкції апроксимаціїSDUDDVUSSVA=UDVU(S2)V=(US)(SV).
whuber

1
Я припускав, що D=svd(A)$dв R повертаються квадратні корені ненульових власних значень, отже, я використовував . У мене немає проблеми з аспектом зменшення розмірності, і я розумію, наближення нижнього рангу A може бути сформовано так, як вони описують. Я знайшов відповідь за цим посиланням, частково відповідає на моє запитання. UD
Жубарб

Відповіді:


2

Матрична факторизація за допомогою SVD розбиває вхідну матрицю на три частини:

  • Ліві сингулярні вектори . Перший стовпець цієї матриці визначає, на якій осі рядки вхідної матриці найбільше різняться. У вашому випадку перший стовпець розповідає про те, які слова найбільше різняться разом.U
  • Особливі значення . Це лущення. Вони відносно один одного. Якщо перше значення вдвічі більше, ніж друге, це означає, що перший сингулярний вектор (в і ) пояснює вдвічі більшу зміну, ніж секундовий сингулярний вектор.DDUVT
  • Праві сингулярні вектори . Перший рядок цієї матриці визначає, на якій осі стовпці вхідної матриці найбільше різняться. У вашому випадку перший рядок повідомляє про те, які документи найбільше різняться разом.VT

Коли слова або документи різняться разом, це означає, що вони схожі. Наприклад, якщо слово лікар частіше зустрічається в документі, то слово медсестра та лікарня також зустрічаються більше. Це показує перший масштабований лівий сингулярний вектор, перший стовпець Ви можете перевірити цей результат, подивившись на вхідні дані. Зауважте, що в разі виникнення медичної сестри виникає також стаціонар, а коли цього не відбувається, лікарня також не відбувається.WordSim

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.