Pourquoi le t-SNE n'est-il pas utilisé comme technique de réduction de la dimensionnalité pour la classification ou le regroupement?

34

Lors d'une récente mission, il nous a été dit d'utiliser PCA sur les chiffres du MNIST pour réduire les dimensions de 64 (8 x 8 images) à 2. Nous avons ensuite dû regrouper les chiffres à l'aide d'un modèle de mélange gaussien. La PCA n'utilisant que 2 composantes principales ne produit pas de grappes distinctes et le modèle n'est donc pas en mesure de produire des regroupements utiles.

Cependant, en utilisant t-SNE avec 2 composants, les clusters sont beaucoup mieux séparés. Le modèle de mélange gaussien produit des grappes plus distinctes lorsqu'il est appliqué aux composants t-SNE.

La différence entre PCA à 2 composants et t-SNE à 2 composants est visible dans la paire d'images suivante, dans laquelle les transformations ont été appliquées au jeu de données MNIST.

PCA sur MNIST

t-SNE sur MNIST

J'ai lu que le t-SNE n'est utilisé que pour la visualisation de données de grandes dimensions, comme dans cette réponse , mais étant donné les grappes distinctes qu'il produit, pourquoi n'est-il pas utilisé comme technique de réduction de la dimensionnalité qui est ensuite utilisée pour les modèles de classification ou comme modèle? une méthode de clustering autonome?

Willk
la source
2
Voulez-vous dire classification ou clustering? Le titre dit "clustering" mais le post dit "classification".
usεr11852 dit Rétablir Monic
Désolé pour ça. Je veux savoir pourquoi il n'est pas utilisé comme technique de classification ou comme technique de réduction de dimensionnalité pour la classification. J'ai édité pour refléter cela.
willk
Comme par hasard, un article récemment publié utilise le t-SNE et un algorithme de classification non supervisé pour étiqueter les processus de combustion.
tpg2114
2
La réponse que vous avez liée montre à quel point le tSNE peut être trompeur. Vous voyez des grappes dans le graphique qui n'existent pas dans les données. C'est dangereux si vous n'avez pas d'étiquette. Et ne tirez pas trop de conclusions des données MNIST. C'est un ensemble de données extrêmement sage ...
Anony-Mousse
1
J'ai trouvé cet article utile pour expliquer le t-SNE et ses inconvénients. Il comporte de nombreuses visualisations interactives qui aident à souligner les points principaux.
willk

Réponses:

33

La principale raison pour laquelle -SNE n'est pas utilisée dans les modèles de classification est qu'elle n'apprend pas une fonction de l'espace d'origine au nouvel espace dimensionnel (inférieur). En tant que tel, lorsque nous essaierons d'utiliser notre classificateur sur des données nouvelles / invisibles, nous ne serons pas en mesure de mapper / pré-traiter ces nouvelles données en fonction des résultats précédents de -SNE.tt

Des travaux sont en cours pour former un réseau de neurones profonds afin de se rapprocher des résultats -SNE (par exemple, le document "paramétrique" -SNE ), mais ces travaux ont été en partie supplantés par l'existence d' auto-codeurs (profonds) . Les auto-encodeurs commencent à être utilisés comme entrées / pré-processeurs pour les classificateurs (DNN en particulier), précisément parce qu’ils obtiennent de très bonnes performances lors de la formation et se généralisent naturellement aux nouvelles données.tt

t -SNE peut potentiellement être utilisé si nous utilisons des techniques de clustering non basées sur la distance, telles que FMM ( modèles de mélange finis ) ou DBSCAN ( modèles basés sur la densité ). Comme vous le constatez à juste titre, dans de tels cas, la sortie -SNE peut être très utile. Le problème dans ces cas d'utilisation est que certaines personnes peuvent essayer de lire dans l'emplacement du cluster et pas seulement l'appartenance au cluster. À mesure que les distances globales sont perdues, tirer des conclusions du placement des grappes peut conduire à de fausses informations. Notez que le simple fait de dire: " Hé, nous avons trouvé tous les pôles ensemble " n’offre pas une grande valeur si on ne peut pas dire de quoi ils sont loin. Si nous voulions juste trouver let11On aurait tout aussi bien pu utiliser la classification pour commencer (ce qui nous ramène à l'utilisation d'auto-encodeurs).

usεr11852 dit Réintégrer Monic
la source
1
Le Q semble poser davantage de questions sur le regroupement que sur la classification. Au moins le clustering est dans le titre.
amibe dit de réintégrer Monica
@ amoeba: Je pensais la même chose et parlais de l’utilisation potentielle du clustering non basé sur la distance (par exemple, FMM, DBSCAN), mais j’ai ensuite lu la question: " pourquoi n’est-elle pas utilisée comme technique de réduction de la dimensionnalité qui est ensuite utilisée pour la classification modèles? "
usεr11852 dit Rétablir Monic
Oui, mais le titre Q est différent. Je pense que OP pourrait être confus quant à la différence, il serait donc logique de s’adresser à la fois dans votre A!
amibe dit de réintégrer Monica
4
OK .. OK ... eucaryote au volant d'esclaves ...: P
usεr11852 dit Réintégrer Monic
1
(+1) J'aimerais connaître votre avis sur ce regroupement / t-SNE answer stats.stackexchange.com/questions/263539 que je viens de poster. CC également à @caseWestern - cela pourrait également vous intéresser.
amibe dit de réintégrer Monica le
3

Le t-SNE ne préserve pas les distances, mais il estime essentiellement les distributions de probabilité. En théorie, les algorithmes t-SNE mappent l'entrée vers un espace cartographique de 2 ou 3 dimensions. L'espace d'entrée est supposé être une distribution gaussienne et l'espace carte, une distribution t. La fonction de perte utilisée est la divergence de KL entre les deux distributions qui est minimisée par descente de gradient.

Selon Laurens van der Maaten, co-auteur de t-SNE

Le t-SNE ne retient pas les distances, mais les probabilités, donc mesurer une erreur entre les distances euclidiennes en haut-D et en bas-D est inutile.

Référence:

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

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

prashanth
la source
2

En règle générale: avec un classifieur ou un classeur suffisamment puissant (/ approprié), on n’appliquerait jamais de réduction de dimensionnalité.

La réduction de la dimensionnalité perd des informations.

Depuis un tel cluster-er ou classifieur (esp classificateurs, moins de clusterers), incorpore déjà en interne une certaine forme de projection dans un espace significatif. Et la réduction de la dimensionnalité est également une projection sur un espace significatif (espérons-le).

Mais la réduction de dimensionnalité doit le faire de manière non informée - elle ne sait pas pour quelle tâche vous réduisez. Cela est particulièrement vrai pour la classification, où vous avez des informations purement supervisées. Mais cela s’applique également au clustering, où l’espace sur lequel on voudrait projeter pour le clustering est mieux défini (pour cet algorithme) que "simplement avoir moins de dimensions). La réponse de @ usεr11852 en parle. Comme je l’ai dit, la réduction de dimensionnalité ne sait pas quoi tâche pour laquelle vous réduisez - vous indiquez à votre choix quel algorithme de réduction de dimensionnalité vous souhaitez utiliser.

Si souvent, plutôt que d’ajouter une étape de réduction de la dimensionnalité comme prétraitement avant le regroupement / la classification, il est préférable d’utiliser un classifieur / classeur différent qui incorpore une projection utile.

Une chose que la réduction de la dimensionalité a peut-être dans ce sens est sa nature non supervisée dans la création de la projection vers l’espace significatif (espérons-le). Ce qui est utile si vous avez peu de données d'étiquettes. Mais il existe souvent d’autres méthodes étroitement liées à votre classificateur (par exemple, pour les réseaux de neurones, utilisant l’auto codeur, par exemple la pré-formation de réseau de croyances profondes) qui fonctionnent mieux, car elles sont conçues pour cette tâche finale. Pas la tâche plus générale de la réduction de la dimensionnalité.

Lyndon White
la source