K-Means Clustering

K-Means Kümeleme Lab

Voronoi bölgeleri, merkez güncellemeleri ve ataleti takip eden 2D kümeleme simülatörü.

K-Means veriyi K kümeye ayırır ve küme içi karesel uzaklığı (inertia) minimize eder.

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

Her örnek en yakın merkeze atanır, sonra merkezler atanmış örneklerin ortalamasıyla güncellenir.

Algoritma iki deterministik adım arasında gidip gelir:

$$ 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 $$

Atalet, yerel optimuma kadar tekdüze azalır.

Rastgele başlatma basittir ama kötü tohumlarla başlayabilir.

k-means++ başlangıç merkezlerini yayar; genelde daha hızlı yakınsama ve daha düşük son atalet verir.

Üretimde yerel minimum hassasiyetini azaltmak için farklı tohumlarla çoklu koşu kullanın.

  1. Demo noktaları yükle, ardından Random vs k-means++ başlatmayı karşılaştır.
  2. Farklı K değerlerini dene ve bölge sınırları ile küme sayısını incele.
  3. Step ile her seferinde bir ata/güncelle döngüsünü incele.
  4. Yakınsamaya kadar çalıştır ve son atalet değerlerini karşılaştır.

Tuvalde herhangi bir yere tıklayıp nokta ekleyin. Dokunmatik cihazlarda uzun basın veya sağ tıkla en yakın noktayı silin.

Durum
Noktalar: 0
K: 3
İterasyon: 0
Atalet: -
Merkez Kayması: -
Atalet Eğrisi
Küme Özeti