Entendendo a decomposição de valor singular no contexto do LSI

9

Minha pergunta é geralmente sobre Decomposição de Valor Singular (SVD), e particularmente sobre Indexação Semântica Latente (LSI).

Digamos, eu tenho que contém frequências de 5 palavras para 7 documentos.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')

Fico Fatorização matriz para usando SVD: .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.

Em 1 e 2 , afirma-se que:

WordSim=US fornece a matriz de similaridade de palavras , onde as linhas do representam palavras diferentes. WordSim

WordSim = s$u %*% S

DocSim=SVT fornece a matriz de similaridade de documentos em que as colunas do representam documentos diferentes.DocSim

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

Questões:

  1. Algebricamente, por que as matrizes de similaridade de palavras / documentos e ? Existe uma explicação intuitiva?WordSimDocSimS
  2. Com base no exemplo de R dado, podemos fazer observações intuitivas de contagem / semelhança de palavras apenas observando o e o (sem usar a similaridade de cosseno ou o coeficiente de correlação entre linhas / colunas)?WordSimDocSim

insira a descrição da imagem aqui

Zhubarb
fonte
Eu sei muito pouco sobre o LSI, mas o SVD de uma matriz está no centro da redução linear de dimensionalidade, métodos de mapeamento, como componentes principais, biplots e análise de correspondência. As principais "leis" do SVD são que = projeção de linhas de nos eixos principais; e = projeção de colunas de nos eixos principais. Em certo sentido, são os valores de "similaridade" entre os pontos (linhas ou colunas) e os eixos principais. Se isso pode ser tratado como semelhança entre os pontos em si depende do contexto, eu acho. AV=UDAAU=VDA
ttnphns
Ah ... vejo na wikipedia que o LSI é apenas análise de correspondência (CA). Isso é melhor. CA é o biplot de uma tabela de dados especialmente preparada. As projeções ou coordenadas acima mencionadas - você as utiliza para plotar pontos de linha e coluna no espaço dos eixos principais. A proximidade entre os pontos row-row, col-col e row-col relacionam sua similaridade. No entanto, o layout no gráfico depende de como você espalha a inércia (variação) sobre a linha e os pontos de col.
ttnphns
@ttnphns. Obrigado, você pode dar uma referência em: " = projeção de linhas de A nos eixos principais; e = projeção de colunas de A nos eixos principais"? Eu acho que isso vai esclarecer as coisas para mim. Por eixos principais, você quer dizer os vetores próprios correspondentes aos m principais valores singulares em ? Eu também me deparei: "Para o PCA, não precisamos calcular os vetores singulares à esquerda", mas não podemos compreender completamente por que esse é o caso. AV=UDAU=VDD
Zhubarb
2
Sua pergunta pode ser melhorada editando-a para refletir corretamente o que o documento indica. Na p. 22 define como contendo as raízes quadradas de , "restritas" às maiores. Portanto, nem nem estão envolvidos, nem têm interpretações como "matrizes de similaridade". As matrizes relevantes são e . Eles podem ser usados ​​para reconstruir uma aproximação deSDUDDVUSSVA=UDVU(S2)V=(US)(SV).
whuber
11
Eu assumi que D=svd(A)$dR retorna as raízes quadradas dos valores de eigen diferentes de zero, portanto usei . Não tenho nenhum problema com o aspecto de redução de dimensionalidade e entendo que uma aproximação de classificação mais baixa de A possa ser formada conforme eles descrevem. Eu encontrei a resposta neste link responde parcialmente a minha pergunta. UD
Zhubarb

Respostas:

2

A fatoração da matriz usando SVD decompõe a matriz de entrada em três partes:

  • Os vetores singulares deixados . A primeira coluna desta matriz especifica em qual eixo as linhas da matriz de entrada variam mais. No seu caso, a primeira coluna informa quais palavras mais variam juntas.U
  • Os valores singulares . Essas são escalas. Estes são relativos um ao outro. Se o primeiro valor de for duas vezes maior que o segundo, significa que o primeiro vetor singular (em e ) explica duas vezes mais variação que o segundo vetor singular.DDUVT
  • Os vectores singulares certas . A primeira linha desta matriz especifica em qual eixo as colunas da matriz de entrada variam mais. No seu caso, a primeira linha informa quais documentos variam mais entre si.VT

Quando palavras ou documentos variam juntos, isso indica que eles são semelhantes. Por exemplo, se a palavra médico ocorrer com mais frequência em um documento, a palavra enfermeira e hospital também ocorrerá mais. Isso é mostrado pelo primeiro vetor singular esquerdo em escala, a primeira coluna do . Você pode validar esse resultado observando os dados de entrada. Observe que, quando a enfermeira ocorre, o hospital também ocorre e quando não ocorre, o hospital também não ocorre.WordSim

Pieter
fonte