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.
- Demo noktaları yükle, ardından Random vs k-means++ başlatmayı karşılaştır.
- Farklı K değerlerini dene ve bölge sınırları ile küme sayısını incele.
- Step ile her seferinde bir ata/güncelle döngüsünü incele.
- 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.