Je prends l'exemple du traitement du langage naturel parce que c'est le domaine dans lequel j'ai plus d'expérience, donc j'encourage les autres à partager leurs idées dans d'autres domaines comme la vision par ordinateur, la biostatistique, les séries chronologiques, etc. Je suis sûr que dans ces domaines, il y a exemples similaires.
Je conviens que parfois les visualisations de modèles peuvent être dénuées de sens, mais je pense que le principal objectif des visualisations de ce type est de nous aider à vérifier si le modèle se rapporte réellement à l'intuition humaine ou à un autre modèle (non informatique). De plus, une analyse exploratoire des données peut être effectuée sur les données.
Supposons que nous ayons un modèle d'intégration de mots construit à partir du corpus de Wikipedia en utilisant Gensim
model = gensim.models.Word2Vec(sentences, min_count=2)
Nous aurions alors un vecteur à 100 dimensions pour chaque mot représenté dans ce corpus présent au moins deux fois. Donc, si nous voulions visualiser ces mots, nous devions les réduire à 2 ou 3 dimensions en utilisant l'algorithme t-sne. C'est là que surgissent des caractéristiques très intéressantes.
Prenons l'exemple:
vecteur ("roi") + vecteur ("homme") - vecteur ("femme") = vecteur ("reine")
Ici, chaque direction code certaines caractéristiques sémantiques. La même chose peut être faite en 3D
(source: tensorflow.org )
Voyez comment dans cet exemple le passé est situé dans une certaine position par rapport à son participe. La même chose pour le sexe. Même chose pour les pays et les capitales.
Dans le monde de l'intégration de mots, les modèles plus anciens et plus naïfs n'avaient pas cette propriété.
Voir cette conférence de Stanford pour plus de détails.
Représentations vectorielles simples: word2vec, GloVe
Ils étaient seulement limités à regrouper des mots similaires sans tenir compte de la sémantique (le genre ou le verbe n'étaient pas codés comme des directions). Sans surprise, les modèles qui ont un codage sémantique comme directions dans des dimensions inférieures sont plus précis. Et plus important encore, ils peuvent être utilisés pour explorer chaque point de données d'une manière plus appropriée.
Dans ce cas particulier, je ne pense pas que t-SNE soit utilisé pour faciliter la classification en soi, il ressemble plus à un contrôle de santé mentale pour votre modèle et parfois pour trouver un aperçu du corpus particulier que vous utilisez. Quant au problème du fait que les vecteurs ne se trouvent plus dans l'espace des caractéristiques d'origine. Richard Socher explique dans la conférence (lien ci-dessus) que les vecteurs de faible dimension partagent des distributions statistiques avec sa propre représentation plus grande ainsi que d'autres propriétés statistiques qui rendent l'analyse visuelle plausible dans des vecteurs d'intégration de dimensions plus faibles.
Ressources supplémentaires et sources d'images:
http://multithreaded.stitchfix.com/blog/2015/03/11/word-is-worth-a-thousand-vectors/
https://www.tensorflow.org/tutorials/word2vec/index.html#motivation_why_learn_word_embeddings%3F
http://deeplearning4j.org/word2vec.html
https://www.tensorflow.org/tutorials/word2vec/index.html#motivation_why_learn_word_embeddings%3F