¿Cuál es la relación entre K-means y PCA?

TL; DR: K-means es una versión escasa de PCA.

K-means y PCA generalmente se consideran dos problemas muy diferentes: uno como un algoritmo para la agrupación de datos y el otro como un marco para la reducción de la dimensión de datos. Sin embargo, están íntimamente relacionados cuando se observan ambos a través de su problema principal de factorización matricial .

¿Qué quiero decir con eso?

Primero establezcamos alguna notación para que no nos confundamos en el camino.

Supongamos que tiene un conjunto de datos con [math] P [/ math] muestras de cada dimensión [math] N [/ math], o en la jerga de aprendizaje automático, tiene puntos de datos [math] P [/ math] con [math] N [/ math] características. Este conjunto de datos se puede representar a través de una matriz [matemática] N \ veces P [/ matemática] [matemática] \ matemática {X} [/ matemática] en la que cada columna es un punto de datos y cada fila es una característica.

Con K-means y PCA, tratamos de encontrar matrices [math] \ mathbf {C} [/ math] (dimensión: [math] N \ times K [/ math]) y [math] \ mathbf {W} [ / math] (dimensión: [math] K \ times P [/ math]) tal que

[math] \ mathbf {CW} \ thickapprox \ mathbf {X} [/ math]

y por lo tanto, ambos son problemas de factorización matricial .

Sin embargo, existen diferencias importantes en términos de la estructura de [math] \ mathbf {C} [/ math] y [math] \ mathbf {W} [/ math], y cómo los interpretamos en cada caso.

Vamos a profundizar un poco más:

Con K-means, las columnas de [math] \ mathbf {C} [/ math] son ​​centroides de grupo mientras que las columnas de [math] \ mathbf {W} [/ math] son ​​vectores de asignación de grupo. Ver la figura a continuación.

Tenga en cuenta que cada columna en [math] \ mathbf {W} [/ math] tiene todas las entradas establecidas en cero, excepto exactamente una entrada que debe establecerse en 1 cuya ubicación determina la pertenencia al clúster. Por ejemplo, en la figura anterior, la sexta columna de [math] \ mathbf {W} [/ math] tiene un “1” en su segunda entrada, por lo que el sexto punto de datos en [math] \ mathbf {X} [/ math] pertenece al segundo grupo (verde) cuyo centroide se almacena en la segunda columna de la matriz [math] \ mathbf {C} [/ math].

Luego se puede escribir el problema de agrupación de K-means, de manera formal, como el siguiente problema de optimización:

Tenga en cuenta que al restringir cada columna de [math] \ mathbf {W} [/ math] para tener entradas no negativas (restricción de no negatividad), la norma L0 de 1 (restricción de dispersión) y la norma L2 de 1 (restricción de Ridge) , estamos diciendo esencialmente que cada columna de [math] \ mathbf {W} [/ math] debería tener exactamente un “1” y [math] K-1 [/ math] ceros.

Hasta ahora todo bien, pero ¿cómo se relaciona esto con PCA?

Es muy sencillo. ¡Simplemente ignore todas las restricciones en el problema de K-means arriba y tiene el problema de PCA!

En otras palabras, PCA es una versión relajada (sin restricciones) del problema K-means. La diferencia es que las columnas en [math] \ mathbf {C} [/ math] ahora son los componentes principales de [math] \ mathbf {X} [/ math].

De hecho, si mantiene sus lentes de factorización matricial , podrá ver conexiones interesantes entre una gran cantidad de modelos que se usan regularmente en el aprendizaje automático y el procesamiento de señales (consulte la Tabla a continuación).

Consulte el Capítulo 9 de Machine Learning Refined, disponible para descargar aquí, si desea leer más.

Supongo que la pregunta se refiere a PCA como una herramienta de agrupamiento y K-means.

Digamos que tenemos algunas características ‘n’ en x y queremos clasificar diferentes observaciones basadas en estas características. PCA ayuda a encontrar esas combinaciones de características a lo largo de las cuales tenemos una variabilidad máxima y mínima.

Considere un ejemplo de intentar clasificar hojas de características . Estas características son como diámetro, excentricidad, etc. Encontrará que todas estas características no son independientes para las diferentes hojas y cada hoja se describe mediante ciertas combinaciones de estas características. Estas combinaciones se pueden extraer mediante PCA y se pueden aplicar k-medias en los puntajes.

En algunos casos, k-means ni siquiera necesita aplicarse, ya que habrá cambios muy bruscos en los valores de puntuación una vez que las entradas estén ordenadas. Creo que esta idea es explotada en muchos métodos de agrupación espectral.

Además, no tengo ninguna prueba formal, pero según mis observaciones, los errores de tipo 1 son menores cuando k-means se aplica en las puntuaciones de PCA y no en el conjunto de datos original en sí. Esto es probable porque estamos considerando combinaciones de características que tienden a reducir cualquier influencia de la observación aleatoria o errores de medición.

También publiqué a continuación un ejemplo que hice como parte de un curso. Espero que esto ayude 🙂

En primer lugar, ambos son algoritmos no supervisados. Ambos utilizan la distribución interna de datos para proyectarlos en otro espacio vectorial.

Aunque PCA se conoce como el único algoritmo de reducción de dimensiones, establece la indicación de pertenencia al “clúster”. Desde una perspectiva de baja dimensión, “biplot” es el mejor ejemplo que se puede proporcionar aquí para apoyar esta idea. Usando biplot, obtienes la indicación del número de clústeres en un conjunto de datos. Sin embargo, en ciencia de datos, la idea de que PCA solo elimina el ruido antes de la agrupación se ha vuelto algo obsoleta.

En realidad, tanto el algoritmo PCA como el algoritmo Kmeans tienen la misma función objetivo. Este fenómeno está bien explicado en un trabajo de investigación (agrupación de K-medias a través del análisis de componentes principales) ya proporcionado en una respuesta anterior. Solo intenté simplificar la situación.

¡Gracias!

Existe un trabajo teórico que muestra que PCA es una versión de membresía continua de ciertos algoritmos de k-means, así como k-means como una representación escasa de PCA cuando se aplica a predictores, en lugar de observaciones. Tradicionalmente, PCA se usa como un método de reducción de dimensionalidad, mientras que k-means se usa para agrupar observaciones individuales dentro de un conjunto de datos basado en predictores. La agrupación espectral es una combinación interesante de estas técnicas, y sería interesante ver algunos trabajos teóricos sobre esta combinación con respecto a la pregunta de OP.

Aquí los autores muestran que k-means y PCA están estrechamente relacionados

Chris Ding y Xiaofeng He. 2004. K-significa agrupamiento a través del análisis de componentes principales. En Actas de la vigésima primera conferencia internacional sobre aprendizaje automático (ICML ’04). ACM, Nueva York, NY, EE. UU., 29-. DOI = K-significa agrupamiento a través del análisis de componentes principales

Esencialmente demuestran que “los componentes principales son las soluciones continuas para los indicadores de membresía de clúster discretos para la agrupación de medios K”. Este es un resultado muy interesante porque a menudo las personas usan múltiples algoritmos de agrupamiento para fines de reproducibilidad sin tener en cuenta que algunos de ellos son, en principio, el mismo algoritmo.