Analiza tus datos con Embedding Projector de Tensorflow

Enrique Blanco    26 febrero, 2020

Los datos son el combustible de la Inteligencia Artificial. En estado bruto, sin procesar, tienen una utilidad bastante limitada, pero una vez que son analizados y se procede a estructurarlos y agregarlos, los usos de los datos parecen casi ilimitados. Además, con los datos sucede algo bastante especial, y es que cuantos más datos estén disponibles, mejor. Muchas veces su calidad está en la propia diversidad y cantidad de los datos y esto es muy relevante para la IA.

En este artículo, veremos una herramienta llamada Embedded Projector, que nos permite visualizar datos de altas dimensiones fácilmente para que podamos entender qué aprende un modelo sobre los datos.

Figura 1. Embedding del término "Linux" junto con varios vecinos de acuerdo al modelo Word2Vec visualizado haciendo uso de t-SNE.
Figura 1. Embedding del término “Linux” junto con varios vecinos de acuerdo al modelo Word2Vec visualizado haciendo uso de t-SNE.

Procesado de datos

El preprocesamiento de datos constituye una tarea imprescindible en el desempeño de un científico de datos. Para poder obtener un resultado final óptimo tras la aplicación de un modelo a un determinado dataset, es necesario transformar los datos de entrada para que el algoritmo encargado de procesar la información funcione correctamente.

Limpieza de datos

El primer paso está asociado a la limpieza de los datos – data cleaning –subdividido tal y como se especifica a continuación:

  • Limpieza de datos o data cleansing: se eliminan todos aquellos datos que puedan contener errores.
  • Identificación de características: se seleccionan sólo aquellas características que se ven necesarias para caracterizar los modelos.
  • Corrección de errores en los datos: cualquier fallo en el contenido de un string o un valor numérico en un campo alfanumérico se deben identificar y corregir.
  • Estandarización de los datos: esta fase se destina a normalizar y
    tanto variables numéricas como categóricas en un dataset.

Una vez los datos han sido limpiados, se procede a la integración de los mismos de acuerdo a los formatos definidos para el modelo que deseamos implementar, como por ejemplo integrar todos los datos en un fichero .csv, en una base de datos con una determinada estructura prefijada, en un Pandas Dataframe, etc.

Transformación de los datos

El siguiente paso corresponde a la transformación de los datosdata transformation – muy similar a la fase de estandarización de data cleaning, donde se corrigen o mitigan inconsistencias presentes en los datos a través de técnicas de normalización, la estandarización o el suavizado de datos.

Reducción de datos

La fase final se corresponde con la reducción de datosdata reduction
dedicada a la eliminación de información que no sea útil a los modelos de
Machine Learning.

La reducción de la dimensión implica la transformación de los datos a nuevas dimensiones (siempre a un número menor de dimensiones) de manera que se facilite el descarte de algunas de ellas minimizando la pérdida de información.

Los problemas a gran escala provocan varias dimensiones que pueden llegar a ser muy difíciles de visualizar. Algunas de las técnicas más utilizadas de reducción de datos son Principal Component Analysis (PCA) o t-Distributed Stochastic Neighbor Embedding (t-SNE), como se verá a continuación. Aquí es donde entra la necesidad de los Embeddings.

Embeddings

Los Embeddings son ampliamente utilizados en Machine Learning, desde sistemas de recomendación hasta Procesado de Lenguaje Natural. Los científicos de datos necesitan explorar las propiedades de un dataset, y una forma de realizar el análisis es mediante su visualización.

Embedding Projector cuenta una visualización precargada para el conjunto de datos MNIST, el conjunto de datos Iris, Word2Vec y GNMT Interlingua con el que poder jugar y acostumbrarse a la herramienta. De forma adicional, proporciona una opción para cargar sus propios datos de embeddings para su visualización.

Uso de la aplicación Embedding Projector

Esta aplicación web nos permite consultar rápidamente los Embeddings de nuestro modelo y representarlos en un número menor de dimensiones; en este caso dos o tres. Aquí hay una visualización de las diez mil imágenes del MNIST dataset coloreadas por su etiqueta haciendo uso de PCA.

Video 1. Análisis de Principal Component Analysis en 3D para MNIST dataset.

En el vídeo anterior observamos que la aplicación que consta de cinco paneles distintos.

  • Panel de datos (arriba a la izquierda) donde podemos elegir qué dataset examinar.
  • Un panel de visualización (centro) es el área donde se muestran los datos.
  • Panel de proyecciones (abajo a la derecha): podemos elegir el tipo de proyección aplicar a la visualización de nuestros datos
  • Panel de inspectores (derecha), donde podemos buscar puntos particulares y ver una lista de vecinos más cercanos en base a distancia euclidiana y distancia de coseno.
  • El panel de marcadores (inmediatamente debajo del panel de datos) nos permite guardar el estado actual – incluidas las coordenadas calculadas de cualquier proyección – como un pequeño archivo que luego se puede compartir.

Otra de las proyecciones disponibles dentro de un paradigma no supervisado o semi-supervisado es la mostrada en el siguiente video.

Video 2. Análisis de t-SNE para MNIST dataset en 3D y 2D.

t-SNE o t-distributed Stochastic Neighbour Embedding visualiza datos de alta dimensión al dar a cada punto de datos una ubicación en un mapa bidimensional o tridimensional. De esta forma se encuentran grupos en los datos.

Arriba se observa cómo los dígitos similares están claramente agrupados en una misma vecindad.

Otras proyecciones que tenemos disponibles son:

  • Custom es una proyección lineal sobre los ejes horizontal y vertical especificada utilizando las etiquetas de datos. Las proyecciones personalizadas ayudan principalmente a descifrar las “direcciones” significativas en los conjuntos de datos.
  • UMAP: acrónimo de Uniform Manifold Approximation and Projection for Dimension Reduction. t-SNE es una técnica excelente para visualizar conjuntos de datos de alta dimensión, pero tiene ciertos inconvenientes, como un alto tiempo de cálculo y pérdida de información a gran escala. UMAP, por otro lado, trata de superar estas limitaciones, ya que puede manejar conjuntos de datos bastante grandes con facilidad y al mismo tiempo preservar la estructura de datos local y global.

A continuación podéis ver cómo se agrupan las muestras haciendo uso de UMAP.

Video 3. UMAP en acción para MNIST dataset en 3D.

Conclusión

La herramienta Embedding Projector facilita la tarea de visualizar Embeddings de datasets de alta dimensionalidad, permitiendo abstraernos de la complejidad de los algoritmos involucrados. Os animamos a investigar al máximo esta herramienta, a jugar con los Embeddings disponibles e incluso, a probar con embeddings creados por vosotros.

Para mantenerte al día con LUCA visita nuestra página web,  suscríbete a LUCA Data Speaks o síguenos en TwitterLinkedIn YouTube.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *