Machine Learning · Insper · E3.2

NMF

Abordagem fundamental

Fatoração de matrizes não negativas: um documento como soma de partes

O caminho desta parte

  1. X ≈ WHtópicos em H, misturas em W, tudo ≥ 0
  2. Por que não negativatemas inteiros, não contrastes
  3. A NMF nos postsquatro fóruns, quatro tópicos
Cada etapa responde a uma pergunta: uma fatoração de matriz encontra tópicos? → por que nada pode ser negativo? → funciona em posts reais?
Etapa 1 · uma fatoração de matriz encontra tópicos?

NMF: \(X \approx WH\), sem nada negativo

\[ X_{\,n \times V} \;\approx\; W_{\,n \times k}\; H_{\,k \times V}, \qquad W \ge 0,\; H \ge 0 \]

\(n\) documentos, \(V\) palavras, \(k\) tópicos. \(X\): a matriz TF-IDF (frequência do termo × frequência inversa nos documentos).

linhas de \(H\)

os tópicos: um peso para cada palavra

linhas de \(W\)

quanto de cada tópico um documento contém

Fatoração de matrizes não negativas (non-negative matrix factorization; Lee & Seung, 1999): o formato da PCA (análise de componentes principais), mais a restrição de toda entrada ser \(\ge 0\). Ela minimiza \(\lVert X - WH \rVert^2\).

A NMF nas 11 frases

Preveja. A LDA falhou nestas frases em 19 sementes de 20. A NMF acha os três temas?

Tópicos: launch rocket satellite orbit · bread oven bake fresh · team game goal won

Divisão limpa: cada frase de tema único no seu tema.

init='nndsvda' parte de uma SVD (decomposição em valores singulares), não de um ponto aleatório: um dos motivos da estabilidade.

fraseespaçoculináriaesportes
0 (esportes)0,000,000,71
3 (espaço)0,620,000,00
9 team watched the rocket launch…0,290,000,45
10 astronauts ate fresh bread…0,100,410,00
As linhas de \(W\) são quantidades, não probabilidades: a frase 9 é sobretudo esportes mais um pouco de espaço.
Etapa 2 · por que nada pode ser negativo?

Por que não negativa? Uma comparação com a SVD

Mapas de calor das duas matrizes tópico-palavra 3 x 33: a TruncatedSVD tem 25 pesos negativos e contrasta temas; a NMF não tem nenhum e cada componente acende um tema
TruncatedSVD (a PCA das matrizes esparsas): 25 pesos negativos; uma componente lê "palavras de esportes menos palavras de espaço". A NMF só consegue somar partes, então cada parte é um tema inteiro.

Simulador: partes da NMF contra direções da SVD

Preveja. A partir de pesos aleatórios, aperte passo: as linhas da NMF viram temas inteiros ou contrastes como os da SVD? O erro chega ao da SVD?

Etapa 3 · funciona em posts reais?

A NMF nos posts

Preveja. Os mesmos 2.155 posts e o mesmo vocabulário da LDA, agora em TF-IDF, quatro tópicos. A NMF mistura os fóruns como a LDA?

graphics thanks files image program file know windows
god jesus people believe christ faith bible christians
game team hockey players play games season nhl
space nasa launch shuttle moon orbit lunar earth

LDA

0,456
ARI (índice de Rand ajustado) com os fóruns

NMF

0,767
os quatro tópicos são os quatro fóruns

Resumo

  1. \(X \approx WH\) com \(W, H \ge 0\): as linhas de \(H\) são tópicos; as de \(W\), quanto de cada tópico há num documento.
  2. Nada negativo quer dizer partes que se somam: temas inteiros, não "esportes menos espaço".
  3. Os pesos são quantidades, não probabilidades: leia-os diretamente.
  4. Aqui a NMF venceu a LDA (0,767 contra 0,456); no lab a ordem se inverte. Nenhum modelo vence sempre.
Prática

Para fechar a parte fundamental

  • O que há numa linha de \(H\) e o que há numa linha de \(W\)?
  • Por que uma componente da SVD não pode ser lida como um tópico?
  • Por que o erro da NMF fica sempre um pouco acima do da SVD?

No lab: o passo 3 e a simulação mais tópicos para a NMF (página de visão geral). A seguir: os slides fundamentais da E3.3 BERTopic.