- 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:
- Elegir el primer centroide uniformemente al azar entre los puntos.
- Para cada punto restante, calcular la distancia mínima al conjunto de centroides ya seleccionados.
- Seleccionar el siguiente centroide con probabilidad proporcional al cuadrado de esa distancia.
- Repetir hasta obtener k centroides.
- 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 30mAgua
Absorción en NIR, baja reflectancia. Los centroides se ubican en masas de agua homogéneas.
cuerpos lénticosBosque
Fuerte absorción en rojo, alta reflectancia en NIR. La inicialización separa dosel cerrado de zonas degradadas.
NDVI > 0.6Detecció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.
| Cluster | Ubicaciones típicas | Acción comercial |
|---|---|---|
| Cluster A (alta frecuencia) | zonas céntricas, estaciones de metro | ofertas personalizadas, stock prioritario |
| Cluster B (baja rotación) | periferias, parques industriales | campañas de fidelización |
| Cluster C (potencial no explotado) | nuevos desarrollos residenciales | apertura 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:
| Cobertura | K-Means (estándar) | K-Means++ | Mejora |
|---|---|---|---|
| Urbano | 75.2% | 84.6% | +9.4 p.p. |
| Agua | 82.0% | 89.3% | +7.3 p.p. |
| Bosque | 78.5% | 91.0% | +12.5 p.p. |
| Suelo desnudo | 65.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.
Lección parte de "Odisea Algorítmica" · Conocimiento aplicable: teledetección, ciencia de datos geoespaciales, inteligencia de negocios.
Contenido didáctico basado en Arthur & Vassilvitskii (2007) y adaptaciones satelitales.
No hay comentarios por ahora.
Compartir este contenido
Compartir enlace
Compartir en redes sociales
Compartir por correo electrónico
Please iniciar sesión para compartir esto Artículo por correo electrónico.