Contenido del curso

- K-Means++: Clustering Refinado para Análisis Satelital

K-Means++: Clustering Refinado para Análisis Satelital

Odisea Algorítmica · De la Regresión al Aprendizaje Profundo

El algoritmo K-Means++ transforma la inicialización del clásico K-Means evitando centroides subóptimos. En lugar de asignar semillas al azar, el método distribuye los primeros centros con probabilidades basadas en la distancia a centros ya elegidos. Esto ofrece convergencia más rápida, menor varianza y clusters coherentes incluso en datos de alta dimensionalidad, como imágenes satelitales multiespectrales.

Fundamentos matemáticos de la inicialización

El corazón de K-Means++ reside en la función de probabilidad ponderada. Dado un conjunto de datos X y un conjunto de centroides C ya seleccionados, se calcula:

Fórmula de probabilidad (inicialización secuencial)

Para cada punto x no elegido, se define D(x) como la distancia mínima al centroide más cercano en C. La probabilidad de seleccionar x como siguiente centroide es:

P(x) = D(x)² / Σ D(x)²

Interpretación: puntos alejados de cualquier centro existente tienen mayor probabilidad de ser elegidos como nuevo centro. Esto garantiza una cobertura inicial diversa.

Procedimiento paso a paso:

  1. Elegir el primer centroide uniformemente al azar entre los puntos.
  2. Para cada punto restante, calcular la distancia mínima al conjunto de centroides ya seleccionados.
  3. Seleccionar el siguiente centroide con probabilidad proporcional al cuadrado de esa distancia.
  4. Repetir hasta obtener k centroides.
  5. Ejecutar iteraciones estándar de K-Means (asignación y actualización).

Análisis satelital: clasificación de cobertura terrestre

La segmentación de imágenes multiespectrales (Landsat, Sentinel-2) se beneficia de K-Means++ para distinguir coberturas como urbano, agua, bosque y suelo desnudo. La inicialización inteligente reduce la influencia de outliers y produce clusters más puros espectralmente.

Urbano

Firmas espectrales con alta reflectancia en infrarrojo cercano (NIR) y SWIR. K-Means++ agrupa estructuras grises y techos.

resolución 30m

Agua

Absorción en NIR, baja reflectancia. Los centroides se ubican en masas de agua homogéneas.

cuerpos lénticos

Bosque

Fuerte absorción en rojo, alta reflectancia en NIR. La inicialización separa dosel cerrado de zonas degradadas.

NDVI > 0.6

Detección de cambios: aplicando K-Means++ en imágenes de dos fechas y comparando la pertenencia a clusters, se identifican áreas deforestadas o crecimiento urbano. El refinamiento reduce el ruido en la detección.

Más allá del espacio: retail & logística

Segmentación de geolocalización de clientes (retail): usando coordenadas de compras recurrentes, K-Means++ descubre agrupaciones de alta densidad sin sesgo de inicialización. Cada cluster representa un micromercado.

ClusterUbicaciones típicasAcción comercial
Cluster A (alta frecuencia)zonas céntricas, estaciones de metroofertas personalizadas, stock prioritario
Cluster B (baja rotación)periferias, parques industrialescampañas de fidelización
Cluster C (potencial no explotado)nuevos desarrollos residencialesapertura de puntos de recogida

Optimización de rutas por clusters de demanda (logística): se agrupan puntos de entrega usando K-Means++ (inicialización robusta ante centros de distribución heterogéneos). Cada cluster alimenta un TSP (problema del viajante) local. Resultado: rutas balanceadas, menor kilometraje y ventanas de tiempo factibles.

Demostración conceptual

Comparación visual entre inicialización aleatoria (K-Means estándar) y K-Means++ en datos sintéticos con 4 agrupaciones reales. Se generaron 2 características (x,y).

Algoritmo estándar (inicialización aleatoria)

Centroides iniciales: (0.2, 0.9) , (4.8, 2.3) , (7.1, 7.8) , (2.1, 6.6)
Resultado: 2 clusters colapsan en el mismo grupo real.
Convergencia en 12 iteraciones, pero alta inercia.

K-Means++ (inicialización probabilística)

Centroides iniciales: (9.2, 8.1) , (1.3, 1.8) , (5.6, 5.0) , (8.9, 2.4)
Cuatro clusters correctamente separados.
Convergencia en 5 iteraciones, inercia un 34% menor.

Mejora: menor varianza inter-cluster y representación fiel de los datos.

Refinamiento en segmentación multiespectral

Las imágenes satelitales contienen bandas (R, G, B, NIR, SWIR). K-Means++ permite tratar cada píxel como vector de 5–10 dimensiones. La inicialización inteligente evita que centroides caigan en zonas nubladas o de sombra, produciendo mapas temáticos más puros. La siguiente tabla resume la precisión temática en una escena Sentinel-2:

CoberturaK-Means (estándar)K-Means++Mejora
Urbano75.2%84.6%+9.4 p.p.
Agua82.0%89.3%+7.3 p.p.
Bosque78.5%91.0%+12.5 p.p.
Suelo desnudo65.4%78.2%+12.8 p.p.

Datos simulados con base en firmas espectrales USGS.

Ventajas frente a K-Means clásico

  • Inercia inicial reducida: arranca con centroides dispersos, minimiza iteraciones.
  • Reproducibilidad: la inicialización determinista (semilla fija) genera resultados estables.
  • Escalabilidad: solo agrega un paso probabilístico O(n·k) al inicio.
  • Ideal para datos satelitales: clusters diferenciados espectralmente desde el inicio.

Para implementaciones en Python (scikit-learn), el parámetro init='k-means++' es el valor por omisión desde la versión 0.24. Su uso en pipelines de clasificación de cobertura terrestre y segmentación logística es actualmente el estándar.

Fundamentos matemáticos de K-Means++ como mejora del algoritmo K-Means estándar, explicando la inicialización de centroides con probabilidades proporcionales a la distancia. Aplicación principal en análisis satelital: clasificación de cobertura terrestre (urbano, agua, bosque), detección de cambios y segmentación de imágenes multiespectrales. Se explorarán casos de uso en retail (segmentación de geolocalización de clientes) y logística (optimización de rutas por clusters de demanda). Demostración conceptual: Inicialización de centroides con datos sintéticos y comparación visual con K-Means estándar.
Calificación
0 0

No hay comentarios por ahora.