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?
clustering
k-means
convergence
gradient-descent
minimum
Prateek Kulkarni
fuente
fuente
Respuestas:
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.μi i {μi} p μi p
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.
fuente
Este es el problema que quieres resolver:
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.xij i j pi cj i j Rd d
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 jj xij
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:
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:
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.
fuente
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:
Aquí el objetivo es 2. De hecho, este es un punto de silla de montar (intente
center1 = 1 + epsilon
ycenter1 = 1 - epsilon
)Configuración 1:
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}
establecercluster1={1,2}
ycluster2={3,4,5}
daría como resultado el mismo valor objetivo quecluster1={1,2,3}
ycluster2={4,5}
Finalmente, qué pasaría si eliges
vs
?
fuente
[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:
Sería increíble si alguien tiene más para agregar.
fuente
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.
fuente