T Sne.pt
Resumo
- O t-SNE preserva as vizinhanças locais ao corresponder similaridades de pares entre alta e baixa dimensão.
- É otimizado para visualização e frequentemente revela a estrutura de clusters com clareza.
- Os resultados dependem de perplexity, taxa de aprendizagem e inicialização aleatória, então verificações de estabilidade são importantes.
Intuição #
O t-SNE prioriza quem está perto de quem, não distâncias globais fiéis. É melhor interpretado como um mapa de vizinhança para análise exploratória.
Explicação Detalhada #
1. Intuição #
- Construir similaridades de pares (P_{ij}) no espaço original (kernel Gaussiano por ponto, controlado pelo perplexity).
- Definir similaridades (Q_{ij}) no espaço de baixa dimensão usando uma distribuição Student-t de cauda pesada.
- Minimizar a divergência de Kullback–Leibler (\mathrm{KL}(P \parallel Q)) via descida de gradiente.
- A distribuição de cauda pesada evita o efeito de aglomeração ao dar a pontos distantes influência não desprezível.
2. Exemplo em Python #
| |
3. Hiperparâmetros #
perplexity: contagem efetiva de vizinhos (tipicamente 5-50). Valores mais altos capturam mais estrutura global.learning_rate: muito baixo prende a otimização, muito alto faz os pontos se dispersarem; 100-1000 geralmente funciona.n_iter: pelo menos 1000 iterações mais uma fase de aquecimentoearly_exaggeration.
4. Dicas #
- Padronize as características e remova duplicatas; o t-SNE é sensível à escala e ao ruído.
- Para grandes conjuntos de dados, use Barnes-Hut (
method="barnes_hut") ou implementações aceleradas por FFT (openTSNE, FIt-SNE). - Interprete as distâncias qualitativamente; o t-SNE preserva vizinhos locais mas não a geometria global.
5. Notas #
- O t-SNE é melhor para inspeção visual do que para modelagem subsequente.
- Execute-o várias vezes com diferentes seeds/perplexities para confirmar que os padrões são estáveis.
- Considere UMAP quando precisar de incorporações mais rápidas ou um transformador definido para novas amostras.