Ich nehme als Beispiel die Verarbeitung natürlicher Sprache, da dies das Gebiet ist, in dem ich mehr Erfahrung habe, und ermutige andere, ihre Erkenntnisse in anderen Bereichen wie Computer Vision, Biostatistik, Zeitreihen usw. zu teilen. Ich bin mir sicher, dass es in diesen Bereichen solche gibt ähnliche Beispiele.
Ich stimme zu, dass Modellvisualisierungen manchmal bedeutungslos sein können, aber ich denke, der Hauptzweck von Visualisierungen dieser Art besteht darin, zu überprüfen, ob das Modell tatsächlich mit der menschlichen Intuition oder einem anderen (nicht-rechnerischen) Modell zusammenhängt. Darüber hinaus kann eine explorative Datenanalyse für die Daten durchgeführt werden.
Nehmen wir an, wir haben ein Wort-Einbettungsmodell, das mit Gensim aus dem Wikipedia-Korpus erstellt wurde
model = gensim.models.Word2Vec(sentences, min_count=2)
Wir würden dann einen 100-dimensionalen Vektor für jedes Wort haben, das in dem Korpus dargestellt ist, der mindestens zweimal vorhanden ist. Wenn wir diese Wörter visualisieren wollten, müssten wir sie mit dem t-sne-Algorithmus auf zwei oder drei Dimensionen reduzieren. Hier ergeben sich sehr interessante Eigenschaften.
Nehmen Sie das Beispiel:
Vektor ("König") + Vektor ("Mann") - Vektor ("Frau") = Vektor ("Königin")
Hier codiert jede Richtung bestimmte semantische Merkmale. Das selbe kann in 3d gemacht werden
(Quelle: tensorflow.org )
Sehen Sie, wie in diesem Beispiel die Vergangenheitsform an einer bestimmten Position in Bezug auf ihr Partizip steht. Gleiches gilt für das Geschlecht. Gleiches gilt für Länder und Hauptstädte.
In der Welt der Einbettung hatten ältere und naivere Modelle diese Eigenschaft nicht.
Weitere Informationen finden Sie in dieser Stanford-Vorlesung.
Einfache Wortvektordarstellungen: word2vec, GloVe
Sie beschränkten sich nur darauf, ähnliche Wörter ohne Rücksicht auf die Semantik zu gruppieren (Geschlecht oder Zeitform wurden nicht als Anweisungen codiert). Es überrascht nicht, dass Modelle, die eine semantische Codierung als Richtungen in niedrigeren Dimensionen haben, genauer sind. Und was noch wichtiger ist, sie können verwendet werden, um jeden Datenpunkt angemessener zu untersuchen.
In diesem speziellen Fall wird t-SNE meiner Meinung nach nicht zur Unterstützung der Klassifizierung per se verwendet, sondern eher zur Überprüfung der Integrität Ihres Modells und manchmal, um einen Einblick in das von Ihnen verwendete Korpus zu erhalten. Was das Problem betrifft, dass sich die Vektoren nicht mehr im ursprünglichen Merkmalsraum befinden. Richard Socher erklärt in der Vorlesung (Link oben), dass niedrigdimensionale Vektoren statistische Verteilungen mit ihrer eigenen größeren Darstellung sowie andere statistische Eigenschaften gemeinsam haben, die eine visuelle Analyse von Einbettungsvektoren in niedrigeren Dimensionen plausibel machen.
Zusätzliche Ressourcen und Bildquellen:
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