Supongamos que tenemos un problema de clasificación y al principio queremos obtener una idea de los datos y hacemos t-SNE. El resultado de t-SNE separa las clases muy bien. Esto implica que es posible construir un modelo de clasificación que también separe muy bien las clases (si t-SNE no se separa bien, entonces no implica mucho).
Sabiendo que t-SNE se enfoca en la estructura local y que puede separar bien las clases: ¿Cuáles son los algoritmos de clasificación que deberían funcionar bien en este problema? Scikit sugiere SVM con un núcleo Gaussian RBF, pero ¿cuáles son los otros?
classification
tsne
Tomek Tarczynski
fuente
fuente
Respuestas:
Primero una breve respuesta, y luego un comentario más largo:
Responder
Las técnicas de SNE calculan una matriz de similitud N × N tanto en el espacio de datos original como en el espacio de incrustación de baja dimensión de tal manera que las similitudes forman una distribución de probabilidad sobre pares de objetos. Específicamente, las probabilidades generalmente están dadas por un núcleo gaussiano normalizado calculado a partir de los datos de entrada o de la incrustación. En términos de clasificación, esto inmediatamente trae a la mente métodos de aprendizaje basados en instancias . Ha incluido uno de ellos: SVM con RBF, y @amoeba ha incluido kNN. También hay redes de funciones de base radial , en las que no soy un experto.
Comentario
Habiendo dicho eso, sería doblemente cuidadoso al hacer inferencias en un conjunto de datos simplemente mirando los gráficos de t-SNE. t-SNE no se centra necesariamente en la estructura local. Sin embargo, puede ajustarlo ajustando el
perplexity
parámetro, que regula (sin apretar) cómo equilibrar la atención entre los aspectos locales y globales de sus datos.En este contexto,
perplexity
es una puñalada en la oscuridad sobre cuántos vecinos cercanos puede tener cada observación y es proporcionado por el usuario. El documento original dice: "El rendimiento de t-SNE es bastante robusto a los cambios en la perplejidad, y los valores típicos están entre 5 y 50". Sin embargo, mi experiencia es que sacar el máximo provecho de t-SNE puede significar analizar múltiples parcelas con diferentes perplejidades.En otras palabras, sintonización
learning rate
yperplexity
, es posible obtener gráficas 2D de aspecto muy diferente para el mismo número de pasos de entrenamiento y utilizando los mismos datos.Este documento de Destill How to Use t-SNE Effective da un gran resumen de las trampas comunes del análisis de t-SNE. Los puntos de resumen son:
Esos hiperparámetros (por ejemplo, tasa de aprendizaje, perplejidad) realmente importan
Los tamaños de clúster en un gráfico t-SNE no significan nada
Las distancias entre grupos pueden no significar nada
El ruido aleatorio no siempre parece aleatorio.
Puedes ver algunas formas, a veces
Para la topología, puede necesitar más de un gráfico
Específicamente a partir de los puntos 2, 3 y 6 anteriores, pensaría dos veces antes de hacer inferencias sobre la separabilidad de los datos al observar los gráficos individuales de t-SNE. Hay muchos casos en los que puede "fabricar" gráficos que muestran grupos claros utilizando los parámetros correctos.
fuente