Qué gran pregunta: es una oportunidad para mostrar cómo se inspeccionan los inconvenientes y los supuestos de cualquier método estadístico. A saber: inventar algunos datos y probar el algoritmo con ellos.
Consideraremos dos de sus supuestos, y veremos qué ocurre con el algoritmo de k-means cuando se rompen esos supuestos. Nos ceñiremos a los datos bidimensionales, ya que son fáciles de visualizar. (Gracias a la maldición de la dimensionalidad Si no se puede hacer nada, es probable que la adición de dimensiones adicionales haga que estos problemas sean más graves, no menos). Trabajaremos con el lenguaje de programación estadística R: puedes encontrar el código completo aquí (y la entrada en forma de blog aquí ).
Desvío: El cuarteto de Anscombe
Primero, una analogía. Imagina que alguien argumenta lo siguiente:
He leído algún material sobre los inconvenientes de la regresión lineal: que espera una tendencia lineal, que los residuos se distribuyen normalmente y que no hay valores atípicos. Pero lo único que hace la regresión lineal es minimizar la suma de errores al cuadrado (SSE) de la línea predicha. Ese es un problema de optimización que puede resolverse sin importar la forma de la curva o la distribución de los residuos. Por lo tanto, la regresión lineal no requiere ninguna suposición para funcionar.
Pues sí, la regresión lineal funciona minimizando la suma de los residuos al cuadrado. Pero ése no es en sí mismo el objetivo de una regresión: lo que estamos probando hacer es trazar una línea que sirva como predictor fiable e imparcial de y basado en x . El Teorema de Gauss-Markov nos dice que la minimización de la SSE cumple ese objetivo, pero ese teorema se basa en algunas suposiciones muy específicas. Si esas suposiciones se rompen, todavía se puede minimizar la SSE, pero puede que no hacer cualquier cosa. Imagínese que dice "Se conduce un coche pisando el pedal: conducir es esencialmente un "proceso de pisar el pedal". Se puede pisar el pedal independientemente de la cantidad de gasolina que haya en el depósito. Por lo tanto, aunque el depósito esté vacío, se puede pisar el pedal y conducir el coche".
Pero hablar es barato. Veamos los fríos y duros datos. O en realidad, datos inventados.
De hecho, este es mi favorito datos inventados: Cuarteto de Anscombe . Creado en 1973 por el estadístico Francis Anscombe, este delicioso brebaje ilustra la locura de confiar ciegamente en los métodos estadísticos. Cada uno de los conjuntos de datos tiene la misma pendiente de regresión lineal, intercepción, valor p y $R^2$ - y, sin embargo, a simple vista podemos ver que sólo uno de ellos I es apropiado para la regresión lineal. En II sugiere la forma incorrecta, en III está sesgada por un único valor atípico- y en IV es evidente que no hay ninguna tendencia.
Se podría decir que "la regresión lineal sigue siendo trabajando en esos casos, porque está minimizando la suma de cuadrados de los residuos". Pero lo que es un Victoria pírrica ¡! La regresión lineal siempre dibujará una línea, pero si es una línea sin sentido, ¿a quién le importa?
Así que ahora vemos que el hecho de que se pueda realizar una optimización no significa que estemos cumpliendo nuestro objetivo. Y vemos que inventar datos, y visualizarlos, es una buena manera de inspeccionar los supuestos de un modelo. Agarraos a esa intuición, la vamos a necesitar en un minuto.
Supuesto roto: Datos no esféricos
Usted sostiene que el algoritmo k-means funcionará bien en clusters no esféricos. ¿Grupos no esféricos como... estos?
Tal vez no sea lo que esperabas, pero es una forma perfectamente razonable de construir clusters. Mirando esta imagen, los humanos inmediatamente reconocer dos grupos naturales de puntos, no hay que confundirlos. Veamos cómo lo hace k-means: las asignaciones se muestran en color, los centros imputados se muestran como X.
Bueno, que no está bien. K-means estaba tratando de encajar un una clavija cuadrada en un agujero redondo - tratando de encontrar centros bonitos con esferas ordenadas alrededor de ellos- y falló. Sí, sigue minimizando la suma de cuadrados dentro del clúster, pero al igual que en el Cuarteto de Anscombe, es una victoria pírrica.
Usted podría decir "Ese no es un ejemplo justo... no método de clustering podría encontrar correctamente clusters así de raros". ¡No es cierto! Pruebe con enlace único agrupación jerárquica :
Lo he clavado. Esto se debe a que la agrupación jerárquica de enlace único hace que el a la derecha supuestos para este conjunto de datos. (Hay todo un otros clase de situaciones en las que falla).
Podrías decir: "Es un caso único, extremo y patológico". ¡Pero no lo es! Por ejemplo, puedes hacer que el grupo exterior sea un semicírculo en lugar de un círculo, y verás que k-means sigue haciéndolo fatal (y el clustering jerárquico sigue haciéndolo bien). Se me ocurren otras situaciones problemáticas fácilmente, y eso sólo en dos dimensiones. Cuando se agrupan datos de 16 dimensiones, pueden surgir todo tipo de patologías.
Por último, debo señalar que k-means todavía es salvable. Si se empieza por transformar los datos en coordenadas polares La agrupación ahora funciona:
Por eso es esencial comprender los supuestos en los que se basa un método: no sólo te dice cuando un método tiene inconvenientes, sino que te dice cómo solucionarlos.
Supuesto roto: Agrupaciones de tamaño desigual
¿Qué pasa si los clusters tienen un número desigual de puntos - eso también rompe el clustering de k-means? Bien, consideremos este conjunto de clusters, de tamaños 20, 100, 500. He generado cada uno de ellos a partir de una gaussiana multivariante:
Parece que k-means podría encontrar esos grupos, ¿no? Todo parece generarse en grupos limpios y ordenados. Así que probemos con k-means:
Ouch. Lo que ocurrió aquí es un poco más sutil. En su búsqueda por minimizar la suma de cuadrados dentro del cluster, el algoritmo k-means da más "peso" a los clusters más grandes. En la práctica, eso significa que está contento de dejar que ese pequeño clúster acabe lejos de cualquier centro, mientras utiliza esos centros para "dividir" un clúster mucho más grande.
Si juegas un poco con estos ejemplos ( ¡Código R aquí! ), verás que puedes construir muchos más escenarios en los que k-means se equivoca vergonzosamente.
Conclusión: No hay almuerzo gratis
Hay una construcción encantadora en el folclore matemático, formalizada por Wolpert y Macready El teorema del almuerzo gratis". Es probablemente mi teorema favorito en la filosofía del aprendizaje automático, y disfruto de cualquier oportunidad para sacarlo a colación (¿he mencionado que me encanta esta pregunta?) La idea básica se enuncia (sin rigor) así: "Cuando se promedia en todas las situaciones posibles, todos los algoritmos funcionan igual de bien".
¿Suena contradictorio? Considere que por cada caso en el que un algoritmo funciona, podría construir una situación en la que falla terriblemente. La regresión lineal asume que los datos caen a lo largo de una línea, pero ¿qué pasa si siguen una onda sinusoidal? Una prueba t supone que cada muestra procede de una distribución normal: ¿qué pasa si se introduce un valor atípico? Cualquier algoritmo de ascenso de gradiente puede quedar atrapado en máximos locales, y cualquier clasificación supervisada puede ser engañada para que se ajuste en exceso.
¿Qué significa esto? Significa que los supuestos ¡son de donde viene tu poder! Cuando Netflix te recomienda películas, está asumiendo que si te gusta una película, te gustarán otras similares (y viceversa). Imagina un mundo en el que eso no fuera cierto, y tus gustos fueran perfectamente aleatorios, dispersos al azar entre géneros, actores y directores. Su algoritmo de recomendación fallaría terriblemente. ¿Tendría sentido decir "Bueno, sigue minimizando un error cuadrático esperado, así que el algoritmo sigue funcionando"? No se puede hacer un algoritmo de recomendación sin hacer algunas suposiciones sobre los gustos de los usuarios, al igual que no se puede hacer un algoritmo de agrupación sin hacer algunas suposiciones sobre la naturaleza de esos grupos.
Así que no aceptes sin más estos inconvenientes. Conócelos, para que te sirvan de base para elegir los algoritmos. Entiéndelos, para que puedas ajustar tu algoritmo y transformar tus datos para resolverlos. Y ámalos, porque si tu modelo no puede equivocarse nunca, significa que nunca estará bien.
0 votos
Una buena pregunta. ¿Pero ha intentado buscar las respuestas en este sitio? Estas cuestiones se han planteado en varias preguntas.
57 votos
Yo diría que el número de racimos ya es bastante asumido.
35 votos
Los supuestos clave de k-means son: 1. hay son k racimos. 2. SSE es el objetivo correcto para minimizar. 3. todas las agrupaciones tienen el mismo SSE. 4. todas las variables tienen la misma importancia para todos los clusters. Estas son suposiciones bastante fuertes...
2 votos
A tu segunda pregunta (publicada como respuesta, luego borrada): si quieres entender k-means como un problema de optimización similar a la regresión lineal, entiéndelo como cuantificación . Intenta encontrar la aproximación por mínimos cuadrados de los datos utilizando $k$ instancias. Es decir, si realmente sustituido cada punto por el centroide más cercano.
2 votos
@Anony-Mousse, leí algo de material y luego se me ocurrió lo siguiente: $k-$ significa como un modelo estadístico (en lugar de un método de optimización) asume que hay k conglomerados subyacentes y que la dispersión de los datos se debe puramente al ruido aleatorio normal con igual varianza. Esto es análogo al supuesto del modelo de regresión lineal simple. Entonces (creo, no he encontrado un documento) por alguna versión del teorema de Gauss-Markov, $k-$ significa le dará un estimador consistente de la media de los k clusters subyacentes que asumimos para nuestros datos.
0 votos
Con la suposición adicional de que el error medio es menor que la diferencia entre los valores, se puede esperar que k-means funcione bastante bien. Si se observan los conjuntos A clásicos para la agrupación, k-means suele fallar en al menos algunos de los conglomerados. Hace un trabajo decente, pero algunos de estos clusters están demasiado cerca, y a menos que tengas mucha suerte, k-means elegirá centros iniciales subóptimos, y se quedará atascado en un mínimo local (¡ni siquiera estoy seguro de que el mínimo global sea la solución óptima!)
0 votos
@Anony-Mousse, "Con la suposición adicional de que el error medio es menor que la diferencia entre los valores se puede esperar que k-means funcione bastante bien", eso tiene sentido. Y debo decir que bajo esos supuestos, minimizar la suma de SSE, resultará en un estimador consistente de las medias de esos k clusters subyacentes. Pero matemáticamente, este problema de optimización es NP-duro y $k-$ significa es sólo una solución heurística a este problema de optimización, que como has mencionado, muy probablemente quedará atrapado en un óptimo local en lugar de en el óptimo global.
1 votos
He añadido a mi respuesta una ilustración de un conjunto de datos en el que se podría suponer que k-means funciona muy bien (todos los clusters de la misma forma), pero que se queda atascado en mínimos locales; e incluso 1000 iteraciones no encontraron el resultado óptimo.