Quel algorithme de classification doit-on utiliser après avoir constaté que t-SNE sépare bien les classes?

12

Supposons que nous ayons un problème de classification et, dans un premier temps, nous voulons obtenir un aperçu des données et nous faisons t-SNE. Le résultat de t-SNE sépare très bien les classes. Cela implique qu'il est possible de construire un modèle de classification qui séparera également très bien les classes (si t-SNE ne se sépare pas bien, cela n'implique pas grand-chose).

Sachant que t-SNE se concentre sur la structure locale et qu'il peut bien séparer les classes: quels sont les algorithmes de classification qui devraient bien fonctionner sur ce problème? Scikit suggère SVM avec un noyau RBF gaussien, mais quels sont les autres?

Tomek Tarczynski
la source
3
(+1) K-voisins les plus proches pourrait être un choix naturel très simple et facile à mettre en œuvre.
amibe dit Réintégrer Monica

Réponses:

7

D'abord une réponse brève, puis un commentaire plus long:

Réponse

Les techniques SNE calculent une matrice de similitude N × N à la fois dans l'espace de données d'origine et dans l'espace d'intégration de faible dimension de telle manière que les similitudes forment une distribution de probabilité sur des paires d'objets. Plus précisément, les probabilités sont généralement données par un noyau gaussien normalisé calculé à partir des données d'entrée ou de l'incorporation. En termes de classification, cela évoque immédiatement les méthodes d' apprentissage basées sur les instances . Vous en avez répertorié un: SVM avec RBF, et @amoeba a répertorié kNN. Il existe également des réseaux de fonctions de base radiales , dont je ne suis pas un expert.

Commentaire

Cela dit, je ferais doublement attention à faire des inférences sur un ensemble de données en ne regardant que les graphiques t-SNE. t-SNE ne se concentre pas nécessairement sur la structure locale. Cependant, vous pouvez l'ajuster pour ce faire en réglant le perplexityparamètre, qui régule (de manière approximative) la manière d'équilibrer l'attention entre les aspects locaux et mondiaux de vos données.

Dans ce contexte, perplexitylui-même est un coup de couteau dans le noir sur le nombre de voisins proches que chaque observation peut avoir et est fourni par l'utilisateur. Le document original déclare: "Les performances du t-SNE sont assez robustes aux changements de perplexité, et les valeurs typiques se situent entre 5 et 50". Cependant, mon expérience est que tirer le meilleur parti de t-SNE peut signifier l'analyse de plusieurs parcelles avec différentes perplexités.

En d'autres termes, le réglage learning rateet perplexity, il est possible d'obtenir des graphiques 2D très différents pour le même nombre d'étapes de formation et en utilisant les mêmes données.

Ce document Distill Comment utiliser t-SNE donne un excellent résumé des pièges courants de l'analyse t-SNE. Les points récapitulatifs sont les suivants:

  1. Ces hyperparamètres (par exemple, le taux d'apprentissage, la perplexité) comptent vraiment

  2. La taille des grappes dans un tracé t-SNE ne signifie rien

  3. Les distances entre les clusters pourraient ne rien signifier

  4. Le bruit aléatoire ne semble pas toujours aléatoire.

  5. Vous pouvez voir des formes, parfois

  6. Pour la topologie, vous pouvez avoir besoin de plusieurs tracés

Particulièrement à partir des points 2, 3 et 6 ci-dessus, je réfléchirais à deux fois avant de faire des inférences sur la séparabilité des données en examinant les graphiques t-SNE individuels. Il existe de nombreux cas où vous pouvez «fabriquer» des graphiques qui montrent des clusters clairs en utilisant les bons paramètres.

Zhubarb
la source
1
Berkmeister: Tout ce que vous avez écrit a du sens. Mon problème est assez facile à décrire: je veux rendre le modèle de classification aussi bon que possible. Comment puis-je l'utiliser pour améliorer la qualité du modèle? Ma meilleure supposition était que le t-SNE peut «suggérer» quelle méthode pourrait être pertinente pour un problème donné.
Tomek Tarczynski
2
Veuillez consulter l'édition, les méthodes d'apprentissage basées sur les instances seraient compatibles avec tous les indices que vous pourriez obtenir des tracés t-SNE.
Zhubarb
2
(+1): Merci pour la réponse, je cherchais exactement cela. J'accepterai la réponse dans les deux jours.
Tomek Tarczynski