¿Por qué k-means no da el mínimo global?

17

Leí que el algoritmo k-means solo converge a un mínimo local y no a un mínimo global. ¿Por qué es esto? Puedo pensar lógicamente cómo la inicialización podría afectar la agrupación final y existe la posibilidad de una agrupación subóptima, pero no encontré nada que lo demostrara matemáticamente.

Además, ¿por qué k-significa un proceso iterativo? ¿No podemos diferenciar parcialmente la función objetivo wrt de los centroides, igualarla a cero para encontrar los centroides que minimizan esta función? ¿Por qué tenemos que usar el descenso de gradiente para alcanzar el mínimo paso a paso?

Prateek Kulkarni
fuente
44
Cuando una función suave tiene múltiples mínimos locales, entonces necesariamente cada uno de ellos será un punto crítico (donde todas las derivadas parciales desaparecen), por lo que su algoritmo es correcto pero generalmente es inútil: puede obtener una ecuación horriblemente complicada con un número enorme de soluciones (incluso infinitas). Pero hay otro problema: ¿cómo sabe que la función objetivo k-means es incluso diferenciable en todas partes?
whuber
1
Creo que cuando diferencio parcialmente la función objetivo con respecto a un centroide, los puntos en el grupo de otro centroide desaparecen en la derivada. Entonces, el centroide que podemos obtener minimizará solo la suma de las distancias al cuadrado de solo el grupo particular.
Prateek Kulkarni
3
Eso es en parte, pero en realidad no explica el comportamiento. De mayor importancia es el hecho de que la asignación de puntos a los centroides es la gran parte de lo que k-significa está haciendo. (Una vez que se realiza la asignación, los centroides se calculan fácilmente y no queda nada por hacer). Esa asignación es discreta : no es algo que pueda diferenciarse en absoluto. Además, es combinatoriamente complejo: hay formas de asignar n puntos a k grupos. De hecho, es completamente innecesario usar el descenso de gradiente para encontrar los centroides. O(nk)nk
whuber
Estoy de acuerdo, la parte de la tarea no se puede poner directamente en la forma matemática. Solo con este paso aislado podemos mover los centroides para minimizar la función. Así es como miro el descenso del gradiente: si, por mala inicialización, estamos cerca de los mínimos locales, el descenso del gradiente lo arrastrará hacia los mínimos locales. Si está cerca de los mínimos globales por una buena inicialización, lo arrastrará hacia los mínimos globales. Pero cómo este movimiento se asigna a las asignaciones de clúster es un desenfoque.
Prateek Kulkarni
La no diferenciabilidad está sobrevalorada: Leon Bottou ha realizado algunos trabajos en la estimación de K-medias con descenso de gradiente estocástico en conjuntos de datos muy grandes con bastante éxito. La no diferenciabilidad no plantea un problema tan grande como en muchos problemas debido a los muchos puntos de datos. (por ejemplo, las redes convolucionales tampoco son localmente diferenciables, pero funcionan de todos modos, al igual que muchas arquitecturas de redes neuronales con la función de transferencia lineal rectificada). La verdadera razón aquí son los mínimos múltiples.
bayerj

Respuestas:

10

Puede ver k-means como una versión especial del algoritmo EM, que puede ayudar un poco.

Supongamos que está estimando una distribución normal multivariada para cada grupo con la matriz de covarianza fijada a la matriz de identidad para todos, pero la media variable donde i es el índice del grupo. Claramente, si se conocen los parámetros { μ i } , puede asignar a cada punto p su conglomerado de máxima verosimilitud (es decir, el μ i para el cual la distancia a p es mínima). El algoritmo EM para este problema es casi equivalente a k-means.μii{μi}pμip

A la inversa, si sabe qué puntos pertenecen a qué grupo, puede estimar el óptimo . La solución de forma cerrada a esto (que encuentra un óptimo global) básicamente dice que para encontrar los modelos de máxima verosimilitudμi a integrar todas las posibles asignaciones de puntos de racimos. Dado que incluso con solo treinta puntos y dos grupos, hay alrededor de mil millones de tales asignaciones posibles, esto no es factible de calcular.{μ^i}

En cambio, podemos adivinar los parámetros ocultos (o los parámetros del modelo) e iterar los dos pasos (con la posibilidad de terminar en un máximo local). Si permites que cada grupo asuma una responsabilidad parcial por un punto, terminas con EM, si solo asignas el grupo óptimo, obtienes k-means.

Entonces, resumen ejecutivo: en términos probabilísticos, existe una solución global, pero requiere que repita todos los agrupamientos posibles. Claramente, si tiene una función objetivo, lo mismo es cierto. Podría iterar sobre todas las soluciones y maximizar la función objetivo, pero el número de iteraciones es exponencial en el tamaño de sus datos.

Peter
fuente
¡Así poner! ¡Marcaré esto como la respuesta!
Prateek Kulkarni
4

Este es el problema que quieres resolver:

minxi=1nj=1kxij||picj||2subject to:j=1kxij=1icj is the centroid of cluster jxij{0,1}i,j

La variable binaria indica si el punto i está asignado o no al cluster j . Los símbolos p i y c j denotan las coordenadas del punto i y centroide del grupo j , respectivamente. Ambos están ubicados en R d , donde d es la dimensionalidad de los puntos de datos.xijijpicjijRdd

El primer grupo de restricciones dice que cada punto debe asignarse exactamente a un grupo. El segundo grupo de restricciones (que no hemos definido matemáticamente) dice que las coordenadas del centroide del grupo realidad dependen de los valores de las variables x i j . Podemos, por ejemplo, expresar esta restricción de la siguiente manera: c j = i x i j p i jjxij

cj=ixijpijixij

Sin embargo, en lugar de tratar con estas restricciones no lineales, en K-Means (aproximadamente) resolvemos un problema diferente que tiene la misma solución óptima que nuestro problema original:

minxi=1nj=1kxij||piyj||2subject to:j=1kxij=1ixij{0,1}i,jyjRdj

En lugar de minimizar la distancia a los centroides, minimizamos la distancia a cualquier conjunto de puntos que brinden una mejor solución. Resulta que estos puntos son exactamente los centroides.

Ahora para resolver este problema, iteramos en los pasos 2-3 de este algoritmo, hasta la convergencia:

  1. yj variables
  2. yjxij variables .
  3. xijyj variables .

En cada paso, la función objetivo mejora (o permanece igual cuando el algoritmo converge), ya que la solución encontrada en el paso anterior está en el espacio de búsqueda del paso actual. Sin embargo, dado que estamos arreglando algunas de las variables en cada paso, este es un procedimiento de búsqueda local que no garantiza la optimización.

xijyjyjxijyj

Behrouz Babaki
fuente
2

Un ejemplo simple podría ayudar ...

Definamos el conjunto de puntos a agrupar como A = {1,2,3,4}.

Digamos que está tratando de encontrar 2 grupos apropiados para A (2 medios). Hay (al menos) dos configuraciones diferentes que satisfacen la condición estacionaria de k-means.

Configuración 1:

Center1 = 1, Cluster1 = {1}
Center2 = 3, Cluster1 = {2,3,4}

Aquí el objetivo es 2. De hecho, este es un punto de silla de montar (intente center1 = 1 + epsilony center1 = 1 - epsilon)

Configuración 1:

Center1 = 1.5, Cluster1 = {1,2}
Center2 = 3.5, Cluster1 = {3,4}

aquí el objetivo es 1/4.

Si k-means se inicializaría como el primer ajuste, entonces se atascaría ... y eso no es un mínimo global.

Puede usar una variante del ejemplo anterior para crear dos mínimos locales diferentes. Para A = {1,2,3,4,5}establecer cluster1={1,2}y cluster2={3,4,5}daría como resultado el mismo valor objetivo que cluster1={1,2,3}ycluster2={4,5}

Finalmente, qué pasaría si eliges

A = {1,2,3,4,6}
center1={2.5} cluster1={1,2,3,4} and 
center1={6} cluster1={6}

vs

center1={2} cluster1={1,2,3} and 
center1={5} cluster1={4,6}

?

usuario25611
fuente
0

[Esto fue antes de que @Peter respondiera]
Después de una pequeña discusión (en la sección de comentarios), siento que tengo que responder mi propia pregunta.

Creo que cuando diferencio parcialmente la función objetivo con respecto a un centroide, los puntos en el grupo de otro centroide desaparecen en la derivada. Entonces, el centroide que podemos obtener minimizará solo la suma de las distancias al cuadrado de solo el grupo particular.

@whuber agrega:

Eso es en parte, pero en realidad no explica el comportamiento. De mayor importancia es el hecho de que la asignación de puntos a los centroides es la gran parte de lo que k-significa está haciendo. (Una vez que se realiza la asignación, los centroides se calculan fácilmente y no queda nada por hacer). Esa asignación es discreta: no es algo que pueda diferenciarse en absoluto.

Sería increíble si alguien tiene más para agregar.

Prateek Kulkarni
fuente
0

Todo el mundo lo ha explicado todo, pero me gustaría agregar que si una muestra de datos no se distribuye como una distribución gaussiana, entonces se puede pegar a un mínimo local. En el algoritmo K-means estamos tratando de conseguirlo.

explorador
fuente
En lugar de gaussiano, creo que te refieres a "unimodal"
Peter Leopold