K-Means Clustering

Laboratório de Clusterização K-Means

Simulador interativo 2D de clusterização com regiões de Voronoi, atualização de centróides e acompanhamento de inércia.

O K-Means particiona os dados em K clusters minimizando a distância quadrática intra-cluster (inércia).

$$ J = \sum_{i=1}^{N} \min_{1 \leq j \leq K} \left\lVert x_i - \mu_j \right\rVert^2 $$

Cada amostra é atribuída ao centróide mais próximo e depois os centróides são recomputados como a média das amostras atribuídas.

O algoritmo alterna entre dois passos determinísticos:

$$ c_i \leftarrow \arg\min_j \lVert x_i - \mu_j \rVert^2 $$

$$ \mu_j \leftarrow \frac{1}{|C_j|}\sum_{x_i \in C_j} x_i $$

A inércia diminui monotonicamente até convergir para um ótimo local.

Inicialização aleatória é simples, mas pode começar com sementes ruins.

k-means++ distribui centróides iniciais, muitas vezes gerando convergência mais rápida e menor inércia final.

Em produção, use múltiplas execuções com sementes diferentes para reduzir a sensibilidade a mínimos locais.

  1. Carregue pontos demo e compare inicialização Aleatória vs k-means++.
  2. Teste diferentes valores de K e inspecione fronteiras e contagens de clusters.
  3. Use Passo para ver um ciclo de atribuição/atualização por vez.
  4. Execute até a convergência e compare a inércia final entre configurações.

Clique em qualquer lugar do canvas para adicionar pontos. Pressione e segure em dispositivos touch ou clique com o botão direito para remover o ponto mais próximo.

Status
Pontos: 0
K: 3
Iteração: 0
Inércia: -
Deslocamento do Centróide: -
Curva de Inércia
Resumo dos Clusters