Vamos supor que temos um problema de classificação e, inicialmente, queremos obter algumas informações dos dados e fazemos o t-SNE. O resultado do t-SNE separa muito bem as classes. Isso implica que é possível criar um modelo de classificação que também irá separar muito bem as classes (se t-SNE não separar bem, isso não implica muito).
Sabendo que o t-SNE se concentra na estrutura local e que pode separar bem as classes: Quais são os algoritmos de classificação que devem funcionar bem nesse problema? O Scikit sugere SVM com um kernel Gaussian RBF, mas quais são os outros?
classification
tsne
Tomek Tarczynski
fonte
fonte
Respostas:
Primeiro, uma resposta breve e depois um comentário mais longo:
Responda
As técnicas de PND calculam uma matriz de similaridade N × N no espaço de dados original e no espaço de incorporação de baixa dimensão, de modo que as semelhanças formem uma distribuição de probabilidade sobre pares de objetos. Especificamente, as probabilidades são geralmente dadas por um kernel Gaussiano normalizado, calculado a partir dos dados de entrada ou da incorporação. Em termos de classificação, isso imediatamente traz à mente métodos de aprendizado baseados em instâncias . Você listou um deles: SVMs com RBF e @amoeba listou kNN. Existem também redes de funções de base radial , nas quais não sou especialista.
Comente
Dito isto, eu seria duplamente cuidadoso ao fazer inferências em um conjunto de dados apenas olhando para gráficos de t-SNE. O t-SNE não se concentra necessariamente na estrutura local. No entanto, você pode ajustá-lo, ajustando o
perplexity
parâmetro, que regula (livremente) como equilibrar a atenção entre os aspectos locais e globais dos seus dados.Nesse contexto,
perplexity
ela mesma é uma facada no escuro sobre quantos vizinhos próximos cada observação pode ter e é fornecida pelo usuário. O artigo original declara: "O desempenho do t-SNE é bastante robusto às mudanças na perplexidade, e os valores típicos estão entre 5 e 50". No entanto, minha experiência é que tirar o máximo proveito do t-SNE pode significar analisar várias parcelas com diferentes perplexidades.Em outras palavras, ajustando
learning rate
eperplexity
, é possível obter gráficos 2-d muito diferentes para o mesmo número de etapas de treinamento e usando os mesmos dados.Este artigo da Distill Como usar o t-SNE efetivamente fornece um ótimo resumo das armadilhas comuns da análise do t-SNE. Os pontos de resumo são:
Esses hiperparâmetros (por exemplo, taxa de aprendizado, perplexidade) realmente importam
Os tamanhos de cluster em um gráfico t-SNE não significam nada
Distâncias entre clusters podem não significar nada
O ruído aleatório nem sempre parece aleatório.
Você pode ver algumas formas, às vezes
Para topologia, você pode precisar de mais de um gráfico
Especificamente dos pontos 2, 3 e 6 acima, eu pensaria duas vezes antes de fazer inferências sobre a separabilidade dos dados, analisando gráficos de t-SNE individuais. Existem muitos casos em que você pode 'fabricar' plotagens que mostram clusters claros usando os parâmetros corretos.
fonte