Tomo el procesamiento del lenguaje natural como ejemplo porque ese es el campo en el que tengo más experiencia, por lo que animo a otros a compartir sus ideas en otros campos, como visión artificial, bioestadística, series de tiempo, etc. Estoy seguro de que en esos campos hay ejemplos similares
Estoy de acuerdo en que a veces las visualizaciones de modelos pueden no tener sentido, pero creo que el objetivo principal de las visualizaciones de este tipo es ayudarnos a verificar si el modelo realmente se relaciona con la intuición humana o algún otro modelo (no computacional). Además, el análisis exploratorio de datos se puede realizar en los datos.
Supongamos que tenemos un modelo de incrustación de palabras construido a partir del corpus de Wikipedia usando Gensim
model = gensim.models.Word2Vec(sentences, min_count=2)
Entonces tendríamos un vector de 100 dimensiones para cada palabra representada en ese corpus que está presente al menos dos veces. Entonces, si quisiéramos visualizar estas palabras, tendríamos que reducirlas a 2 o 3 dimensiones usando el algoritmo t-sne. Aquí es donde surgen características muy interesantes.
Toma el ejemplo:
vector ("rey") + vector ("hombre") - vector ("mujer") = vector ("reina")
Aquí cada dirección codifica ciertas características semánticas. Lo mismo se puede hacer en 3d
(fuente: tensorflow.org )
Vea cómo en este ejemplo el tiempo pasado está ubicado en una posición determinada, respectiva a su participio. Lo mismo para el género. Lo mismo con países y capitales.
En el mundo de la incrustación de palabras, los modelos más antiguos e ingenuos no tenían esta propiedad.
Vea esta conferencia de Stanford para más detalles.
Representaciones simples de vectores de palabras: word2vec, GloVe
Solo se limitaron a agrupar palabras similares sin tener en cuenta la semántica (el género o el tiempo verbal no se codificaron como direcciones). Como era de esperar, los modelos que tienen una codificación semántica como direcciones en dimensiones más bajas son más precisos. Y lo que es más importante, se pueden usar para explorar cada punto de datos de una manera más apropiada.
En este caso particular, no creo que t-SNE se use para ayudar a la clasificación per se, es más como un control de cordura para su modelo y, a veces, para obtener información sobre el corpus particular que está utilizando. En cuanto al problema de que los vectores ya no están en el espacio de características original. Richard Socher explica en la conferencia (enlace de arriba) que los vectores de baja dimensión comparten distribuciones estadísticas con su propia representación más grande, así como otras propiedades estadísticas que hacen posible analizar visualmente en vectores de incrustación de dimensiones más bajas.
Recursos adicionales y fuentes de imágenes:
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