Önceki denemelerde (v1-v2) scoring fonksiyonu küme sayısını ödüllendirdiği için 2 dev küme + %0.1 noise gibi anlamsız sonuçlar seçiliyordu. v3'te scoring fonksiyonu yeniden tasarlandı ve sistematik grid search eklendi.
Kod Değişiklikleri
Silhouette Score eklendi (sampling ile, 8000 nokta): kümelerin birbirinden ne kadar iyi ayrıldığını ölçer.
DBCV (Density-Based Cluster Validation) eklendi — ancak cuML GPU backend'de relative_validity_ hesaplanmadığı için hep 0 döndü.
Hard constraint eklendi: küme sayısı 8–300 aralığı dışındaki ve noise oranı %50'yi aşan sonuçlar diskalifiye edildi.
cluster_selection_method="leaf" EOM'a ek olarak denendi.
Leaf metodu: 59–67% noise — çok yüksek, tümü diskalifiye edildi veya sınırda kaldı. Ancak silhouette değerleri daha yüksek (0.51–0.62) çünkü sadece en yoğun çekirdekleri küme olarak alıyor, geri kalanı noise'a atıyor.
En iyi silhouette (0.6241): leaf, dim=25, mcs=35, ms=25 — ama %66.4 noise ile kullanışsız.
En düşük noise (EOM içinde): dim=15, mcs=120, ms=20 ile %41.7 — ama silhouette sadece 0.30.
2-3 kümelik sonuçlar:dim=25, mcs=120, ms=20 ve dim=10, mcs=120, ms=15 HDBSCAN'ın tüm veriyi 2-3 dev kümeye atadığı dejenere durumlar. Negatif silhouette (-0.23) ile doğru şekilde diskalifiye edildiler.
Görsel Değerlendirme
Cluster Scatter (2D UMAP): 57 küme görsel olarak ayrışıyor ancak haritanın büyük bölümü gri (noise) noktalarla kaplı. Kümelerin çoğu scatter'ın kenarlarında yoğunlaşırken, merkezi bölge neredeyse tamamen noise. Bu, UMAP'ın 2D projeksiyonunda merkezdeki noktaların farklı yoğunluk bölgelerine ait olmadığını gösteriyor.
Cluster Sizes: Tipik power-law dağılımı — en büyük küme (cluster 15) ~3300 nokta, ikinci büyük ~2400, sonra hızlıca düşüyor. Kümelerin çoğu 100–500 arası. Noise grubu (22.771) tüm kümelerden büyük.
Grid Search Overview:
Clusters vs Silhouette grafiği: 40–80 küme aralığında silhouette 0.45–0.52 ile en iyi trade-off.
Noise vs Silhouette: %60+ noise bölgesinde yüksek silhouette (leaf metodu), %43–50 noise bölgesinde orta silhouette (EOM). Bu ikisi arasında net bir trade-off var.
DBCV grafiği: tüm noktalar 0'da — cuML GPU backend sorunu, bilgi vermiyor.
Sorunlar ve Çıkarımlar
%45.5 noise çok yüksek — 50k tezin neredeyse yarısı kümelenmemiş. min_samples=25 çok katı; seyrek bölgelerdeki noktaları agresif şekilde noise'a atıyor.
DBCV kullanılamadı — scoring'in %25'i boşa gitti. Sonraki versiyonda DBCV ağırlığı adaptive yapıldı.
Leaf metodu bu veri için uygun değil — çok fazla noise üretiyor (%60+).
Silhouette ve noise arasında güçlü trade-off — düşük noise istersen silhouette düşüyor, yüksek silhouette istersen noise artıyor. Bu, BAAI embedding'lerinin doğasından kaynaklanıyor: tezlerin önemli bir kısmı semantik olarak belirgin kümelere ait değil.
Power-law küme dağılımı — birkaç büyük küme + çok sayıda küçük küme. Bu akademik tez verisi için beklenen bir durum (popüler konular vs niş alanlar).