K-Means Clustering
Denetimsiz öğrenme için K-Means Kümeleme'yi keşfet. Bu algoritmanın verileri nasıl bölümlendirdiğini, yapay zekâ uygulamalarını nasıl geliştirdiğini ve Ultralytics YOLO26 gibi modellere nasıl bilgi sağladığını keşfet.
K-Means Kümelemesi, 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. Temel amacı, bir veri kümesini küme olarak bilinen farklı alt gruplara ayırarak aynı gruptaki veri noktalarının mümkün olduğunca benzer, farklı gruplardakilerin ise birbirinden farklı olmasını sağlamaktır. Veri madenciliği ve keşifsel analizin temel taşlarından biri olan K-Means, veri bilimcilerin önceden tanımlanmış etiketlere veya insan denetimine ihtiyaç duymadan karmaşık bilgileri otomatik olarak yönetilebilir kategoriler halinde düzenlemesini sağlar.
Algoritma Nasıl Çalışır?#
K-Means işlemi yinelemelidir ve eğitim verilerinin en uygun şekilde gruplandırılmasını belirlemek için uzaklık ölçütlerine dayanır. Algoritma, öğeleri K kümeye ayırır ve her öğe, en yakın ortalamaya veya merkeze ait kümeye atanır. Bu işlem, 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. Yakınsamayı hızlandırmak için bu noktalar rastgele veya k-means++ gibi optimize edilmiş yöntemlerle seçilebilir.
-
Atama: Veri kümesindeki her veri noktası, belirli bir uzaklık ölçütüne ve en yaygın olarak Öklid uzaklığına göre en yakın merkeze atanır.
-
Güncelleme: Merkezler, ilgili kümeye atanmış tüm veri noktalarının ortalaması alınarak yeniden hesaplanır.
-
Yineleme: Merkezler artık önemli ölçüde hareket etmeyene veya en fazla yineleme sayısına ulaşılana kadar 2. ve 3. adımlar tekrarlanır.
Doğru küme sayısını (K) belirlemek, bu algoritmanın kullanımında kritik bir unsurdur. Uygulayıcılar, ortaya çıkan kümelerin birbirinden ne kadar iyi ayrıldığını değerlendirmek için genellikle Dirsek yöntemi gibi teknikleri kullanır veya Silhouette skorunu analiz eder.
Yapay Zekâda Gerçek Dünya Uygulamaları#
K-Means Kümelemesi son derece çok yönlüdür ve basitleştirme ile veri ön işleme amacıyla çeşitli sektörlerde kullanılır.
- Görüntü Sıkıştırma ve Renk Nicemleme: Bilgisayarlı görü (CV) alanında K-Means, piksel renklerini kümeleyerek görüntülerin dosya boyutunu azaltmaya yardımcı olur. Binlerce rengi daha küçük bir baskın renk kümesinde gruplayan 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 amacıyla gelişmiş nesne algılama modellerini eğitmeden önce sıklıkla kullanılır.
- Müşteri Segmentasyonu: İşletmeler, müşterileri satın alma geçmişine, demografik özelliklere veya web sitesi davranışlarına göre gruplamak için kümelemeden yararlanır. Bu, perakendede yapay zekâ çözümlerinin temel bileşenlerinden biri olan hedefli pazarlama stratejilerine olanak tanır. Şirketler, yüksek değerli müşterileri veya müşteri kaybı risklerini belirleyerek mesajlarını etkili biçimde uyarlayabilir.
- Anomali Algılama: Sistemler, "normal" veri kümelerinin yapısını öğrenerek herhangi bir merkezden oldukça uzakta bulunan aykırı değerleri belirleyebilir. Bu özellik, finansta dolandırıcılık tespiti ve ağ güvenliğinde anomali algılama için değerlidir ve standart örüntülerden sapan şüpheli etkinliklerin işaretlenmesine yardımcı olur.
- Anchor Box Oluşturma: Tarihsel olarak eski YOLO sürümleri gibi nesne algılayıcılar, eğitim veri kümelerinden en uygun anchor box'ları hesaplamak için K-Means kullanıyordu. YOLO26 gibi modern modeller gelişmiş anchor-free yöntemlerden yararlansa da K-Means'i anlamak, algılama mimarilerinin evrimi açısından önemini korur.
Uygulama Örneği#
Ultralytics Platform gibi derin öğrenme çerçeveleri karmaşık eğitim işlem hatalarını yönetirken K-Means, veri kümesi istatistiklerini analiz etmek için sıklıkla kullanılır. Aşağıdaki Python kod parçacığı, popüler Scikit-learn kitaplığını kullanarak 2B koordinatların (nesne merkezlerini simüle eder) nasıl kümeleneceğini gösterir.
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 amacıyla K-Means'i benzer adlara veya işlevlere sahip diğer algoritmalardan ayırt etmek önemlidir.
- K-Means ve K-En Yakın Komşu (KNN) karşılaştırması: Adlarındaki "K" nedeniyle bu ikisi sıklıkla 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), görüntü sınıflandırma ve regresyon için kullanılan denetimli bir öğrenme algoritmasıdır ve tahminlerini komşuların çoğunluk sınıfına dayandırmak için etiketli verilerden yararlanır.
- K-Means ve DBSCAN karşılaştırması: 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 gruplar, keyfi şekillerdeki kümeleri bulabilir ve gürültüyü daha iyi yönetir. Bu özellikler, küme sayısının bilinmediği ve düzensiz yapılara sahip veri kümelerinde bulunan karmaşık uzamsal veriler için DBSCAN'i daha üstün kılar.









