Estás leyendo la publicación: ¿Cómo utilizar t-SNE para la reducción de dimensionalidad?
La reducción de la dimensionalidad es una de las partes importantes del aprendizaje no supervisado en la ciencia de datos y el aprendizaje automático. Esta parte se requiere básicamente cuando las dimensiones de los datos son muy altas y se requiere que cuentemos la historia de los datos proyectándolos en un espacio de menor dimensión. Existen varias técnicas para la reducción de dimensionalidad como PCA, SVD, truncatedSVD, LDA, etc. t-SNA también es una técnica para la reducción de dimensionalidad. En este artículo, vamos a discutir el t-SNA. Los puntos principales que se discutirán en el artículo se enumeran a continuación.
Tabla de contenido
- Acerca de t-SNE
- ¿Cómo funciona t-SNE?
- t-SNE para reducción de dimensionalidad
- Casos de uso para t-SNE
- Usar t-SNE de manera más efectiva
Comencemos presentando t-SNE.
Acerca de t-SNE
t-SNE es una técnica para el análisis o reducción dimensional que es una forma abreviada de incrustación de vecinos estocásticos distribuidos en T. Como sugiere el nombre, es una técnica de dimensionalidad no lineal que se puede utilizar en un escenario donde los datos tienen una dimensión muy alta. También podemos decir que esta es una técnica para visualizar datos de alta dimensión en un espacio de menor dimensión. Por primera vez, esta técnica fue introducida por Laurens van der Maatens y Geoffrey Hinton en 2008.
Su comportamiento de no linealidad frente a los datos la diferencia de las demás técnicas. Donde técnicas como PCA son los algoritmos lineales para la reducción dimensional y conservan una gran distancia por pares que puede conducir a una visualización deficiente de datos de alta dimensión, el t-SNE funciona mejor que PCA al preservar una pequeña distancia por pares.
¿Está buscando un repositorio completo de bibliotecas de Python utilizadas en ciencia de datos, echa un vistazo aquí.
¿Cómo funciona t-SNE?
Como se mencionó anteriormente, es una técnica para visualizar los datos de alta dimensión o podemos decir una técnica para la reducción de la dimensionalidad. Esta técnica funciona convirtiendo puntos de datos de alta dimensión en probabilidades conjuntas y utiliza estas probabilidades para minimizar la divergencia de Kullback-Leibler para que se puedan obtener incrustaciones de baja dimensión. La función de coste que utiliza esta técnica tiene una función de coste no convexa, lo que significa que cada vez que la aplicamos podemos obtener un resultado diferente. El correcto funcionamiento de t-SNE se puede entender siguiendo los siguientes pasos:
- En primer lugar, el algoritmo de esta técnica primero calcula las probabilidades conjuntas entre los puntos de datos que representan la similitud entre los puntos.
- Después del cálculo de la probabilidad conjunta, asigna la similitud entre los puntos de datos sobre la base de la probabilidad conjunta calculada.
- Después de asignar la similitud, t-SNE representa los puntos de datos en las dimensiones inferiores sobre la base de la distribución de probabilidad hasta la divergencia mínima de Kullback-Leibler.
La divergencia de Kullback-Leibler se puede considerar como una distancia estadística donde representa el cálculo de cómo una distribución de probabilidad es diferente de la otra.
t-SNE para reducción de dimensionalidad
En esta sección, veremos cómo podemos usar el t-SNE prácticamente para la reducción de dimensionalidad a través de la implementación en python. Antes de la implementación, debemos saber que sklearn es una biblioteca que proporciona la función para implementar t-SNE en el paquete múltiple. Echemos un vistazo a la implementación simple.
Definamos datos aleatorios usando NumPy.
importar numpy como np X = np.array([[0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 1]]) forma de X
Producción:
Aquí podemos ver la forma de la matriz que hemos definido. Apliquemos el t-SNE en la matriz.
desde sklearn.manifold import TSNE t_sne = TSNE(n_components=2, learning_rate=”auto”,init=”random”) X_embedded= t_sne.fit_transform(X) X_embedded.shape
Producción:


Aquí podemos ver que hemos cambiado la forma de la matriz definida, lo que significa que la dimensión de la matriz se reduce. Analicemos los lugares donde podemos aplicar t-SNE con nuestros datos.
Casos de uso para t-SNE
En la sección anterior, hemos analizado la implementación básica y el funcionamiento del t-SNE y al observar estas cosas podemos decir que el t-SNE se puede aplicar con datos dimensionales muy altos. Aunque el desarrollador del t-SNE ha mencionado que utiliza casos en campos como la investigación climática, la seguridad informática, la bioinformática, la investigación del cáncer, etc., después de aplicar esta técnica podemos usar su resultado en diferentes procesos de modelado supervisado.
También podemos usar este método para agrupar o separar los datos. En una variedad de procedimientos de modelado, generalmente aplicamos modelos a los datos separados para obtener mejores resultados. Sin embargo, no es un algoritmo o técnica de agrupamiento adecuado. Esto también se puede aplicar a los campos donde se requiere la exploración de datos utilizando la visualización de los datos. Echemos un vistazo a las formas en que podemos hacer que el t-SNE sea más efectivo.
Usar t-SNE de manera más efectiva
- Dado que utilizamos esta técnica para analizar los datos de alta dimensión, debemos asegurarnos de que estamos aplicando t-SNE de forma iterativa utilizando los diferentes valores de los parámetros para alcanzar un resultado adecuado.
- Hay un uso de una función de costo no convexa en t-SNE y es un proceso estocástico que la usa en la iteración puede representar cambios en el resultado que se pueden resolver fijando el parámetro de estado aleatorio.
- t-SNE es un algoritmo que también puede reducir los datos dispersos y amplificar los datos no dispersos. Para aplicar el algoritmo es muy necesario fijar los parámetros de densidad/spread/varianza antes de aplicarlo.
- La perplejidad es un parámetro dado bajo el t-SNE que se relaciona con la cantidad de vecinos y con el conjunto de datos más grande, se requiere establecer una perplejidad mayor.
Ultimas palabras
En este artículo, hemos discutido el t-SNE (incrustación de vecinos estocásticos distribuidos en T), que es una técnica utilizada para la reducción de la dimensionalidad. Junto con esto, también discutimos los casos de trabajo, implementación y uso del t-SNE, que es una técnica de reducción de dimensionalidad no lineal.