Qué gran pregunta: es una oportunidad para mostrar cómo se inspeccionarían los inconvenientes y los supuestos de cualquier método estadístico. A saber: invente algunos datos y pruebe el algoritmo!
Consideraremos dos de sus supuestos, y veremos qué sucede con el algoritmo k-means cuando esos supuestos se rompen. Nos atendremos a los datos bidimensionales ya que es fácil de visualizar. (Gracias a la maldición de la dimensionalidad , agregar dimensiones adicionales probablemente hará que estos problemas sean más graves, no menos). Trabajaremos con el lenguaje de programación estadística R: puede encontrar el código completo aquí (y la publicación en forma de blog aquí ).
Desvío: Cuarteto de Anscombe
Primero, una analogía. Imagine que alguien argumentó lo siguiente:
Leí algo de 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 todo lo que está haciendo la regresión lineal es minimizar la suma de los errores al cuadrado (SSE) de la línea pronosticada. Ese es un problema de optimización que se puede resolver sin importar la forma de la curva o la distribución de los residuos. Por lo tanto, la regresión lineal no requiere suposiciones para funcionar.
Bueno, sí, la regresión lineal funciona minimizando la suma de los residuos al cuadrado. Pero eso en sí mismo no es el objetivo de una regresión: lo que estamos tratando de hacer es dibujar una línea que sirva como un predictor confiable e imparcial de y basado en x . El teorema de Gauss-Markov nos dice que minimizar el SSE logra ese objetivo, pero ese teorema se basa en algunos supuestos muy específicos. Si esas suposiciones se rompen, aún puede minimizar el SSE, pero podría no funcionar .cualquier cosa. Imagínese diciendo "Conduce un automóvil presionando el pedal: conducir es esencialmente un 'proceso de presionar el pedal'. El pedal se puede presionar sin importar la cantidad de gasolina en el tanque. Por lo tanto, incluso si el tanque está vacío, aún puede presionar el pedal y conducir el automóvil ".
Pero hablar es barato. Veamos los datos fríos y duros. O en realidad, datos inventados.
De hecho, esta es mi información inventada favorita : Anscombe's Quartet . Creada en 1973 por el estadístico Francis Anscombe, esta deliciosa mezcla ilustra la locura de confiar ciegamente en métodos estadísticos. Cada uno de los conjuntos de datos tiene la misma pendiente de regresión lineal, intersección, valor p y , y sin embargo, de un vistazo podemos ver que solo uno de ellos, I , es apropiado para la regresión lineal. En II sugiere la forma incorrecta, en III está sesgada por un solo valor atípico, ¡y en IV claramente no hay tendencia en absoluto!R2
Se podría decir "La regresión lineal todavía funciona en esos casos, porque está minimizando la suma de los cuadrados de los residuos". ¡Pero qué 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 solo porque se puede realizar una optimización no significa que estemos logrando nuestro objetivo. Y vemos que inventar datos y visualizarlos es una buena manera de inspeccionar los supuestos de un modelo. Aférrate a esa intuición, la necesitaremos en un minuto.
Suposición rota: datos no esféricos
Usted argumenta que el algoritmo k-means funcionará bien en grupos no esféricos. Racimos no esféricos como ... ¿estos?
Tal vez esto no sea lo que esperabas, pero es una forma perfectamente razonable de construir clústeres. Al observar esta imagen, los humanos reconocemos inmediatamente dos grupos naturales de puntos: no hay que confundirlos. Entonces, veamos cómo lo hace k-means: las asignaciones se muestran en color, los centros imputados se muestran como X.
Bueno, eso no está bien. K-means estaba tratando de colocar una clavija cuadrada en un agujero redondo , tratando de encontrar centros agradables con esferas ordenadas a su alrededor, y falló. Sí, sigue minimizando la suma de cuadrados dentro del grupo, pero al igual que en el Cuarteto de Anscombe anterior, ¡es una victoria pírrica!
Podría decir: "Ese no es un ejemplo justo ... ningún método de agrupación podría encontrar correctamente agrupaciones que sean tan extrañas". ¡No es verdad! Pruebe el agrupamiento jerárquico de enlace único :
¡Dado en el clavo! Esto se debe a que la agrupación jerárquica de enlace único hace las suposiciones correctas para este conjunto de datos. (Hay otra clase de situaciones en las que falla).
Podría decir "Ese es un caso único, extremo y patológico". ¡Pero no lo es! Por ejemplo, puede hacer que el grupo externo sea un semicírculo en lugar de un círculo, y verá que k-means todavía funciona terriblemente (y la agrupación jerárquica todavía funciona bien). Podría encontrar otras situaciones problemáticas fácilmente, y eso es solo en dos dimensiones. Cuando agrupa datos en 16 dimensiones, puede surgir todo tipo de patologías.
Por último, debo tener en cuenta que k-means todavía es salvable. Si comienza transformando sus datos en coordenadas polares , la agrupación ahora funciona:
Es por eso que comprender los supuestos subyacentes a un método es esencial: no solo te dice cuándo un método tiene inconvenientes, sino que te dice cómo solucionarlos.
Suposición rota: grupos de tamaño desigual
¿Qué pasa si los grupos tienen un número desigual de puntos? ¿Eso también rompe el grupo k-significa? Bueno, considere este conjunto de grupos, de tamaños 20, 100, 500. He generado cada uno de un gaussiano multivariante:
Parece que k-means probablemente podría encontrar esos grupos, ¿verdad? Todo parece generarse en grupos limpios y ordenados. Entonces intentemos k-means:
Ay. Lo que sucedió aquí es un poco más sutil. En su búsqueda para minimizar la suma de cuadrados dentro del grupo, el algoritmo k-means da más "peso" a los grupos más grandes. En la práctica, eso significa que es feliz dejar que ese grupo pequeño termine lejos de cualquier centro, mientras usa esos centros para "dividir" un grupo 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: sin almuerzo gratis
Hay una construcción encantadora en el folklore matemático, formalizada por Wolpert y Macready , llamada el "Teorema de no almuerzo gratis". Probablemente sea mi teorema favorito en la filosofía de aprendizaje automático, y disfruto cualquier posibilidad de plantearlo (¿mencioné que me encanta esta pregunta?) La idea básica se plantea (sin rigor) como esta: "Cuando se promedia en todas las situaciones posibles, cada algoritmo funciona igual de bien ".
¿Suena contraintuitivo? Considere que para cada caso donde funciona un algoritmo, podría construir una situación en la que falla terriblemente. La regresión lineal supone que sus datos caen a lo largo de una línea, pero ¿y si sigue una onda sinusoidal? Una prueba t supone que cada muestra proviene de una distribución normal: ¿qué pasa si arroja un valor atípico? Cualquier algoritmo de ascenso de gradiente puede quedar atrapado en los máximos locales, y cualquier clasificación supervisada puede ser engañada para ajustarse en exceso.
¿Qué significa esto? ¡Significa que las suposiciones son de donde proviene tu poder! Cuando Netflix te recomienda películas, se supone que si te gusta una película, te gustarán películas similares (y viceversa). Imagina un mundo donde eso no fuera cierto, y tus gustos están perfectamente dispersos al azar en géneros, actores y directores. Su algoritmo de recomendación fallaría terriblemente. ¿Tendría sentido decir "Bueno, todavía está minimizando algunos errores al cuadrado esperados, por lo que el algoritmo sigue funcionando"? No puede hacer un algoritmo de recomendación sin hacer algunas suposiciones sobre los gustos de los usuarios, al igual que no puede hacer un algoritmo de agrupación sin hacer algunas suposiciones sobre la naturaleza de esos grupos.
Así que no solo acepte estos inconvenientes. Conózcalos para que puedan informarle su elección de algoritmos. Comprenderlos, para que pueda ajustar su algoritmo y transformar sus datos para resolverlos. Y ámalos, porque si tu modelo nunca puede estar equivocado, eso significa que nunca estará bien.