En tant que problème spécifique avec lequel je travaille (une compétition), j'ai le réglage suivant: 21 fonctionnalités (numériques sur [0,1]) et une sortie binaire. J'ai environ 100 K rangées. Le cadre semble être très bruyant.
Moi et d'autres participants appliquons la génération de fonctionnalités pendant un certain temps et l'intégration de voisins stochastiques distribués en t s'est avérée plutôt puissante dans ce contexte.
Je suis tombé sur ce post "Comment utiliser efficacement le t-SNE" mais je ne peux toujours pas vraiment conclure sur la meilleure façon de choisir les hyperparamètres dans mon cadre de classification.
Existe-t-il des règles générales (nombre de fonctionnalités, dimension de l'incorporation -> choix de perplexité)?
J'applique simplement des paramètres ad hoc pour le moment car il faut trop de temps pour itérer divers paramètres. Merci pour tout commentaire.
Réponses:
J'utilise régulièrement -SNE (à côté des techniques de clustering - plus à ce sujet à la fin ) pour reconnaître / évaluer la présence de clusters dans mes données. Malheureusement, à ma connaissance, il n'y a pas de moyen standard de choisir la perplexité correcte à part regarder l'ensemble de données de dimension réduite produit et ensuite évaluer s'il est significatif. Il y a quelques faits généraux, par exemple. les distances entre les grappes sont pour la plupart dénuées de sens, les petites valeurs de perplexité encouragent les petites structures semblables à des caillots, mais c'est à peu près tout.t
Une règle empirique très approximative consiste à vérifier quelle est la valeur d'erreur associée à chaque reconstruction.t -SNE essaie de minimiser la somme des divergences de Kullback-Leibler entre la distribution des distances entre les données dans le domaine d'origine et la distribution des distances entre les données dans le domaine de dimension réduite (en fait, les distributions cibles sont les distributions des probabilités qu'un point choisisse un autre point comme voisin, mais celles-ci sont directement proportionnelles à la distance entre les deux points). On pourrait faire valoir que des valeurs plus petites de divergence KL montrent de meilleurs résultats. Cette idée ne fonctionne pas très bien dans la pratique, mais elle aiderait théoriquement à exclure certaines plages de valeurs de perplexité ainsi que certaines exécutions de l'algorithme qui sont clairement sous-optimales. J'explique pourquoi cette heuristique est loin d'être une panacée et comment elle pourrait cependant être légèrement utile: Le paramètre de perplexité augmente de façon monotone avec la variance du gaussien utilisé pour calculer les distances / probabilités. Par conséquent, lorsque vous augmentez le paramètre de perplexité dans son ensemble, vous obtiendrez de plus petites distances en termes absolus et des valeurs de divergence KL ultérieures. Néanmoins, si vous avez 20 pistes avec la même perplexité et que vous ne pouvez pas (ne voulez pas) les regarder, vous pouvez toujours choisir celle avec la plus petite variable en espérant qu'elle conserve plus précisément les distances d'origine. Il en va de même pour le Néanmoins, si vous avez 20 pistes avec la même perplexité et que vous ne pouvez pas (ne voulez pas) les regarder, vous pouvez toujours choisir celle avec la plus petite variable en espérant qu'elle conserve plus précisément les distances d'origine. Il en va de même pour le Néanmoins, si vous avez 20 pistes avec la même perplexité et que vous ne pouvez pas (ne voulez pas) les regarder, vous pouvez toujours choisir celle avec la plus petite variable en espérant qu'elle conserve plus précisément les distances d'origine. Il en va de même pour le , le paramètre d'approximation pour l'approximation de Barnes-Hut, en supposant que la perplexité est fixe en changeant θ , puis la vérification des coûts résultants devrait être quelque peu informative. En fin de compte, des coûts inférieurs sont associés à des reconstructions plus fidèles. Cependant tout n'est pas perdu...θ θ
Permettez-moi de souligner que ce que je décris sont des heuristiques . Comme mentionné au début de mon article, l'inspection manuelle des résultats est un moyen indispensable d'évaluer la qualité de la réduction / clustering de dimensionnalité qui en résulte.
la source
Nous définissons généralement la perplexité à 5% de la taille de l'ensemble de données. Donc, pour un ensemble de données avec 100K lignes, je commencerais avec une perplexité de 5000, ou au moins 1000, si vous n'avez pas d'ordinateur haute performance disponible. Nos ensembles de données proviennent de l'analyse par cytométrie en flux, ils ont généralement de 50 000 à 500 000 points de données chacun avec 10 à 20 valeurs numériques.
la source
Il pourrait être intéressant pour vous de jeter un œil à la "Sélection automatique de t-SNE Perplexity" de Cao et Wang :
la source