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
- X ≈ WHtópicos em H, misturas em W, tudo ≥ 0
- Por que não negativatemas inteiros, não contrastes
- 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.
| frase | espaço | culinária | esportes |
| 0 (esportes) | 0,00 | 0,00 | 0,71 |
| 3 (espaço) | 0,62 | 0,00 | 0,00 |
| 9 team watched the rocket launch… | 0,29 | 0,00 | 0,45 |
| 10 astronauts ate fresh bread… | 0,10 | 0,41 | 0,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
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
- \(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.
- Nada negativo quer dizer partes que se somam: temas inteiros, não "esportes menos espaço".
- Os pesos são quantidades, não probabilidades: leia-os diretamente.
- 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.