Por que o t-SNE não é usado como uma técnica de redução de dimensionalidade para agrupamento ou classificação?

34

Em uma tarefa recente, fomos instruídos a usar o PCA nos dígitos do MNIST para reduzir as dimensões de 64 (8 x 8 imagens) para 2. Em seguida, tivemos que agrupar os dígitos usando um Modelo de Mistura Gaussiana. O PCA que usa apenas dois componentes principais não produz clusters distintos e, como resultado, o modelo não é capaz de produzir agrupamentos úteis.

No entanto, usando t-SNE com 2 componentes, os clusters são muito melhores separados. O Modelo de Mistura Gaussiana produz clusters mais distintos quando aplicados aos componentes t-SNE.

A diferença no PCA com 2 componentes e no t-SNE com 2 componentes pode ser vista no par de imagens a seguir, onde as transformações foram aplicadas ao conjunto de dados MNIST.

PCA no MNIST

t-SNE no MNIST

Eu li que o t-SNE é usado apenas para visualização de dados de alta dimensão, como nesta resposta , mas dados os clusters distintos que produz, por que não é usado como uma técnica de redução de dimensionalidade que é usada para modelos de classificação ou como um método de cluster independente?

willk
fonte
2
Você quer dizer classificação ou agrupamento? O título diz agrupamento, mas o post diz classificação.
usεr11852 diz Reinstate Monic
Me desculpe por isso. Quero saber por que não é usada como uma técnica de agrupamento ou como uma técnica de redução de dimensionalidade para classificação. Eu editei para refletir isso.
Willk
Coincidentemente, um artigo divulgado recentemente usa t-SNE e um algoritmo de cluster não supervisionado para rotular processos de combustão.
precisa saber é o seguinte
2
A resposta que você vinculou demonstra como o tSNE pode ser enganoso. Você vê clusters no gráfico que não existem nos dados. Isso é prejudicial se você não tiver rótulos. E não tire muitas conclusões dos dados do MNIST. Que é um conjunto de dados extremamente bem comportado ...
anony-Mousse
1
Eu achei este artigo útil para explicar o t-SNE e suas desvantagens. Possui muitas visualizações interativas que ajudam a enfatizar os pontos principais.
Willk

Respostas:

33

tt

tt

tt11Nós também podemos ter usado a classificação (o que nos leva de volta ao uso de auto-codificadores).

usεr11852 diz Reinstate Monic
fonte
1
O Q parece perguntar mais sobre agrupamento do que sobre classificação. Pelo menos o cluster está no título.
Ameba diz Restabelecer Monica
@amoeba: Pensei o mesmo e escrevi sobre o uso potencial por meio de clustering não baseado em distância (por exemplo, FMM, DBSCAN), mas depois li a pergunta: " Por que não é usado como uma técnica de redução de dimensionalidade que é usada para classificação? models? "
usεr11852 diz Reinstate Monic 12/04/19
Sim, mas o título Q é diferente. Acho que o OP pode estar confuso sobre a diferença, portanto pode fazer sentido abordar os dois no seu A!
Ameba diz Reinstate Monica
4
OK .. OK ... Eucarionte que dirige um escravo ...: P
usεr11852 diz Reinstate Monic
1
(+1) Gostaria de saber sua opinião sobre a resposta em cluster / t-SNE stats.stackexchange.com/questions/263539 que acabei de publicar. CC também para @caseWestern - isso também pode ser do seu interesse.
Ameba diz Reinstate Monica
3

O t-SNE não preserva distâncias, mas basicamente estima distribuições de probabilidade. Em teoria, os algoritmos t-SNE mapeiam a entrada para um espaço de mapa de 2 ou 3 dimensões. O espaço de entrada é assumido como uma distribuição gaussiana e o espaço do mapa como uma distribuição t. A função de perda usada é a divergência KL entre as duas distribuições, que é minimizada usando a descida do gradiente.

De acordo com Laurens van der Maaten, co-autor do t-SNE

O t-SNE não retém distâncias, mas probabilidades; portanto, medir algum erro entre as distâncias euclidianas em D alto e D baixo é inútil.

Referência:

https://lvdmaaten.github.io/tsne/

https://www.oreilly.com/learning/an-illustrated-introduction-to-the-t-sne-algorithm

prashanth
fonte
2

Como uma declaração geral: dado um classificador suficientemente poderoso (/ adequado), ou cluster-er, nunca se aplicaria qualquer redução de dimensionalidade.

A redução de dimensionalidade perde informações.

Como esse agrupador ou classificador (esp classificadores, menos agrupadores), internamente já incorpora alguma forma de projeção a um espaço significativo. E a redução da dimensionalidade também é uma projeção para um espaço (esperançosamente) significativo.

Mas a redução da dimensionalidade precisa fazê-lo de maneira desinformada - ela não sabe para qual tarefa você está reduzindo. Isso é especialmente verdadeiro para a classificação, na qual você possui informações supervisionadas diretas. Mas também se aplica ao clustering, onde o espaço para o qual o projeto seria projetado para clustering é melhor definido (para esse algoritmo) do que apenas "ter menos dimensões). A resposta da @ usεr11852 fala sobre isso. Como eu disse, a redução de dimensionalidade não sabe o que tarefa para a qual você está reduzindo - você o informa em sua escolha de qual algoritmo de redução de dimensionalidade você deve usar.

Com frequência, em vez de adicionar uma etapa de redução de dimensionalidade como pré-processamento antes do agrupamento / classificação, é melhor usar um classificador / agrupador diferente que incorpore uma projeção útil.

Uma coisa que a redução de dimensão tem a seu favor nesse sentido é sua natureza não supervisionada na criação da projeção para o espaço (esperançosamente) significativo. O que é útil se você tiver poucos dados de etiqueta. Mas muitas vezes existem outros métodos que estão intimamente ligados ao seu classificador (por exemplo, para redes neurais, usando o autoencoder, por exemplo, pré-treinamento de redes de crenças profundas) que funcionarão melhor, porque foram projetados com a tarefa final em mente. Não é a tarefa mais geral de redução de dimensionalidade.

Lyndon White
fonte