K-Means Clustering
Denetimsiz öğrenme için K-Means Kümelemeyi keşfet. Bu algoritmanın verileri nasıl bölümlere ayırdığını, yapay zeka uygulamalarını nasıl geliştirdiğini ve Ultralytics YOLO26 gibi modelleri nasıl bilgilendirdiğini keşfet.
K-Means Clustering, denetimsiz öğrenme alanında etiketlenmemiş veriler içindeki gizli yapıları ortaya çıkarmak için tasarlanmış temel ve yaygın olarak kullanılan bir algoritmadır. Birincil amacı, bir veri setini, aynı gruptaki veri noktaları mümkün olduğunca benzer olacak ve farklı gruplardakiler ise ayrı olacak şekilde kümeler olarak bilinen farklı alt gruplara ayırmaktır. Veri madenciliği ve keşifsel analizin bir taşıyıcı kolonu olarak K-Means, veri bilimcilerinin önceden tanımlanmış etiketlere veya insan denetimine ihtiyaç duymadan karmaşık bilgileri yönetilebilir kategoriler halinde otomatik olarak organize etmesini sağlar.
Algoritma Nasıl Çalışır#
K-Means'in çalışması yinelemelidir ve eğitim verilerinin optimum gruplandırmasını belirlemek için mesafe metriklerine dayanır. Algoritma, her öğenin en yakın ortalamaya veya merkeze ait olduğu K kümede öğeleri organize ederek çalışır. Bu süreç, her grup içindeki varyansı en aza indirir. İş akışı genellikle şu adımları izler:
-
Başlatma: Algoritma merkez olarak K başlangıç noktası seçer. Bunlar, yakınsamayı hızlandırmak için rastgele veya k-means++ gibi optimize edilmiş yöntemlerle seçilebilir.
-
Atama: Veri setindeki her veri noktası, belirli bir mesafe metriğine, en yaygın olarak Öklid mesafesine dayalı olarak en yakın merkeze atanır.
-
Güncelleme: Merkezler, o kümeye atanan tüm veri noktalarının ortalaması alınarak yeniden hesaplanır.
-
Yineleme: 2. ve 3. adımlar, merkezler önemli ölçüde hareket etmeyene veya maksimum yineleme sayısına ulaşılana kadar tekrarlanır.
Küme sayısını (K) doğru belirlemek, bu algoritmayı kullanmanın kritik bir yönüdür. Uygulayıcılar, ortaya çıkan kümelerin ne kadar iyi ayrıldığını değerlendirmek için genellikle Dirsek yöntemi gibi teknikler kullanır veya Siluet puanını analiz eder.
Yapay Zekada Gerçek Dünya Uygulamaları#
K-Means Clustering oldukça çok yönlüdür ve basitleştirme ve veri ön işleme için çeşitli endüstrilerde kullanım alanı bulur.
- Görüntü Sıkıştırma ve Renk Niceleme: Bilgisayarlı görüde (CV) K-Means, piksel renklerini kümeleyerek görüntülerin dosya boyutunu küçültmeye yardımcı olur. Binlerce rengi daha küçük bir baskın renk setinde gruplandırarak algoritma, görüntünün görsel yapısını korurken etkili bir şekilde boyut indirgeme gerçekleştirir. Bu teknik, giriş verilerini normalleştirmek için genellikle gelişmiş nesne algılama modellerini eğitmeden önce kullanılır.
- Müşteri Segmentasyonu: İşletmeler, müşterileri satın alma geçmişine, demografiye veya web sitesi davranışına göre gruplandırmak için kümelemeden yararlanır. Bu, perakende yapay zeka çözümlerinin kilit bir bileşeni olan hedefli pazarlama stratejilerine olanak tanır. Yüksek değerli alışveriş yapanları veya kayıp risklerini belirleyerek şirketler mesajlaşmalarını etkili bir şekilde uyarlayabilir.
- Anomali Tespiti: Sistemler, "normal" veri kümelerinin yapısını öğrenerek herhangi bir merkezden uzakta kalan aykırı değerleri belirleyebilir. Bu, finansta dolandırıcılık tespiti ve ağ güvenliğinde anomali tespiti için değerlidir ve standart kalıplardan sapan şüpheli etkinlikleri işaretlemeye yardımcı olur.
- Çapa Kutusu Üretimi: Geçmişte, eski YOLO sürümleri gibi nesne dedektörleri, eğitim veri setlerinden optimum çapa kutularını hesaplamak için K-Means kullanmıştır. YOLO26 gibi modern modeller gelişmiş çapadan bağımsız yöntemler kullanırken, K-Means'i anlamak algılama mimarilerinin evrimiyle ilgisini korumaktadır.
Uygulama Örneği#
Ultralytics Platform gibi derin öğrenme çerçeveleri karmaşık eğitim boru hatlarını yönetirken, K-Means genellikle veri seti istatistiklerini analiz etmek için kullanılır. Aşağıdaki Python kod parçacığı, popüler Scikit-learn kitaplığını kullanarak nesne merkezlerini simüle eden 2D koordinatların nasıl kümeleneceğini göstermektedir.
import numpy as np
from sklearn.cluster import KMeans
# Simulated coordinates of detected objects (e.g., from YOLO26 inference)
points = np.array([[10, 10], [12, 11], [100, 100], [102, 101], [10, 12], [101, 102]])
# Initialize K-Means to find 2 distinct groups (clusters)
kmeans = KMeans(n_clusters=2, random_state=0, n_init="auto").fit(points)
# Output the cluster labels (0 or 1) for each point
print(f"Cluster Labels: {kmeans.labels_}")
# Output: [1 1 0 0 1 0] -> Points near (10,10) are Cluster 1, near (100,100) are Cluster 0İlgili Algoritmalarla Karşılaştırma#
Bir proje için doğru aracın seçildiğinden emin olmak adına K-Means'i benzer isimlere veya işlevlere sahip diğer algoritmalardan ayırt etmek önemlidir.
- K-Means ve K-En Yakın Komşu (KNN): Bunlar adlarındaki "K" nedeniyle genellikle karıştırılır. K-Means, etiketlenmemiş verileri kümelemek için kullanılan denetimsiz bir algoritmadır. Buna karşılık, K-En Yakın Komşu (KNN), komşuların çoğunluk sınıfına dayalı olarak tahmin yapmak için etiketli verilere güvenen, görüntü sınıflandırma ve regresyon için kullanılan denetimli bir öğrenme algoritmasıdır.
- K-Means ve DBSCAN: Her ikisi de verileri kümelese de K-Means, kümelerin küresel olduğunu varsayar ve küme sayısının önceden tanımlanmasını gerektirir. DBSCAN verileri yoğunluğa göre gruplandırır, isteğe bağlı şekillerin kümelerini bulabilir ve gürültüyü daha iyi idare eder. Bu, DBSCAN'i küme sayısının bilinmediği düzensiz yapılara sahip veri setlerinde bulunan karmaşık uzamsal veriler için üstün kılar.






