Prueba de convergencia de k-medias


20

Para una tarea, se me ha pedido que proporcione una prueba de que k-means converge en un número finito de pasos.

Esto es lo que he escrito:

C

E(C)=xmini=1kxci2
E(C)

El paso 2 se refiere al paso que etiqueta cada punto de datos por su centro de clúster más cercano, y el paso 3 es el paso donde los centros se actualizan tomando una media.

Esto no es suficiente para demostrar la convergencia en un número finito de pasos. La energía puede seguir disminuyendo, pero no descarta la posibilidad de que los puntos centrales puedan saltar sin cambiar mucho la energía. En otras palabras, puede haber múltiples mínimos de energía y el algoritmo puede saltar entre ellos, ¿no?


55
Sugerencia: ¿cuántas colecciones posibles de puntos centrales puede haber?
whuber

Respuestas:


34

Primero, hay a lo sumo formas de particionarknortenorte puntos de datos en grupos; cada una de estas particiones puede llamarse "agrupamiento". Este es un número grande pero finito. Para cada iteración del algoritmo, producimos una nueva agrupación basada solo en la agrupación anterior. Darse cuenta dek

  1. Si la agrupación anterior es la misma que la nueva, la siguiente agrupación volverá a ser la misma.
  2. Si la nueva agrupación es diferente de la anterior, entonces la nueva tiene un costo menor

Dado que el algoritmo itera una función cuyo dominio es un conjunto finito, la iteración finalmente debe entrar en un ciclo. El ciclo no puede tener una longitud mayor que porque, de lo contrario, en (2) tendrías algún agrupamiento que tiene un costo menor que él, lo que es imposible. Por lo tanto, el ciclo debe tener una longitud exactamente . Por lo tanto, k-means converge en un número finito de iteraciones.11


¿Por qué importa el orden? Es decir, ¿por qué no tenemos elegir k agrupaciones? nortek
rrrrr

@rrrrr La fórmula correcta es donde{n{nortek}es unnúmero de Stirling del segundo tipo. No importa porque he dichoa lo sumokN. {nortek} knorte
jkabrg

6

Para agregar algo: si el algoritmo converge o no también depende de su criterio de detención. Si detiene el algoritmo una vez que las asignaciones del clúster ya no cambian, puede probar que el algoritmo no necesariamente converge (siempre que la asignación del clúster no tenga un separador de lazo determinista en caso de que varios centroides tengan la misma distancia).

ingrese la descripción de la imagen aquí

Aquí tiene 8 puntos de datos (puntos) y dos centroides (cruces rojas). Ahora los puntos de datos verdes tienen la misma distancia tanto al centroide izquierdo como al derecho. Lo mismo vale para los puntos de datos azules. Supongamos que la función de asignación no es determinista en este caso. Además, suponemos que en la iteración 1, los puntos verdes se asignan al grupo izquierdo y los puntos azules se asignan al grupo derecho. Luego actualizamos los centroides. Resulta que, de hecho, se quedan en el mismo lugar. (este es un cálculo fácil. Para el centroide izquierdo, usted promedia las coordenadas de los dos puntos negros izquierdos y los dos puntos verdes -> (0, 0.5). Lo mismo para el centroide derecho).

Luego, en la iteración 2, la situación se ve de nuevo igual, pero ahora asumimos que nuestra función de asignación no determinista (en caso de empate) asigna los puntos verdes al grupo derecho y los puntos azules al grupo izquierdo. De nuevo, los centroides no cambiarán.

La iteración 3 vuelve a ser lo mismo que la iteración 1. Por lo tanto, tenemos un caso en el que las asignaciones de clúster cambian continuamente y el algoritmo (con este criterio de detención) no converge.

<

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.