K-Means Kümelemesi
Denetimsiz öğrenme için K-Means Kümelemeyi keşfedin. Bu algoritmanın verileri nasıl bölümlere ayırdığını, AI uygulamalarını nasıl geliştirdiğini ve Ultralytics gibi modelleri nasıl bilgilendirdiğini keşfedin.
K-Means Kümeleme, etiketlenmemiş verilerdeki gizli yapıları ortaya çıkarmak için tasarlanmış,
denetimsiz öğrenme alanında temel ve yaygın olarak kullanılan bir algoritmadır.
Temel amacı, bir veri kümesini kümeler olarak bilinen farklı alt gruplara bölmektir.
Böylece, aynı grup içindeki veri noktaları
mümkün olduğunca benzer olurken, farklı gruplardaki veri noktaları birbirinden farklı olur. Veri madenciliği ve keşifsel analizin temel taşı olan
K-Means, veri bilimcilerin önceden tanımlanmış etiketlere veya insan denetimine ihtiyaç duymadan karmaşık bilgileri otomatik olarak yönetilebilir kategorilere
düzenlemelerini sağlar.
K-Means, veri madenciliği ve keşifsel analizin temel taşıdır.
Algoritma Nasıl Çalışır?
K-Means'in çalışması yinelemelidir ve eğitim verilerinin en uygun gruplandırmasını belirlemek için mesafe ölçütlerine dayanır.
Algoritma, öğeleri K kümesine göre düzenleyerek çalışır; burada her öğe, en yakın ortalamaya veya merkez noktasına sahip kümeye aittir. Bu
süreç, her grup içindeki varyansı en aza indirir. İş akışı
genellikle şu adımları izler:
-
Başlatma: Algoritma, K başlangıç noktasını merkez noktaları olarak seçer. Bunlar rastgele veya k-means++ gibi optimize edilmiş yöntemlerle seçilebilir.
böylece yakınsama hızlanır.
.
-
Atama: Veri kümesindeki her veri noktası, belirli bir
mesafe ölçütüne, en yaygın olarak
Öklid mesafesine göre en yakın merkez noktasına atanır.
-
Güncelleme: Merkezler, o kümeye atanan tüm veri noktalarının ortalaması (medyanı) alınarak yeniden hesaplanır.
.
-
İterasyon: 2. ve 3. adımlar, merkezler artık önemli ölçüde hareket etmez hale gelene veya maksimum
iterasyon sayısına ulaşılana kadar tekrarlanır.
Doğru küme sayısını (K) belirlemek, bu algoritmayı kullanmanın kritik bir yönüdür. Uygulayıcılar
genellikle Elbow yöntemi gibi teknikler kullanır veya
Silhouetteskorunu
analiz ederler
elde edilen kümelerin ne kadar iyi ayrıldığını değerlendirmek için.
Yapay Zekada Gerçek Dünya Uygulamaları
K-Means Kümeleme çok yönlüdür ve çeşitli endüstrilerde basitleştirme ve
veri ön işleme için kullanışlıdır.
-
Görüntü Sıkıştırma ve Renk Niceleme:
Bilgisayar görme (CV) alanında 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 renkler kümesine gruplandırarak,
algoritma görüntünün görsel yapısını korurken
boyut azaltmayı etkili bir şekilde gerçekleştirir.
Bu teknik, genellikle gelişmiş nesne algılama modellerini eğitmeden önce
giriş verilerini normalleştirmek için kullanılır.
-
Müşteri Segmentasyonu: İşletmeler, satın alma geçmişi, demografik özellikler veya web sitesi davranışlarına göre müşterileri gruplandırmak için kümelemeyi kullanır.
Bu, perakende çözümlerinde yapay zekanın önemli bir bileşeni olan hedefli pazarlama stratejilerine olanak tanır. Yüksek değerli
müşterileri veya müşteri kaybı risklerini belirleyerek, şirketler mesajlarını etkili bir şekilde özelleştirebilirler.
Müşteri Segmentasyonu: İşletmeler, satın alma geçmişi, demografik özellikler veya web sitesi davranışlarına göre müşterileri gruplandırmak için kümelemeyi kullanır. Bu, perakende çözümlerinde yapay zekanın önemli bir bileşeni olan hedefli pazarlama stratejilerine olanak tanır. Yüksek değerli
-
Anomali Tespiti: "Normal" veri kümelerinin yapısını öğrenerek, sistemler herhangi bir merkezden uzak olan uç değerleri
tespit edebilir. Bu, finans alanında dolandırıcılık tespiti ve
ağ güvenliğinde anomali tespiti için
değerlidir ve standart kalıplardan sapan şüpheli faaliyetleri
belirlemeye yardımcı olur.
-
Anchor Box Oluşturma: Tarihsel olarak, eski YOLO gibi nesne dedektörleri, K-Means'i kullanarak
eğitim veri kümelerinden en uygun anchor box'ları hesaplıyordu.
YOLO26 gibi modern modeller ise gelişmiş
anchor-free yöntemleri kullanıyor olsa da, K-Means'i anlamak, algılama mimarilerinin evrimi için hâlâ önemini koruyor.
Uygulama Örneği
Ultralytics gibi derin öğrenme çerçeveleri karmaşık eğitim süreçlerini yönetirken,
K-Means genellikle veri kümesi istatistiklerini analiz etmek için kullanılır. Aşağıdaki Python
popüler Scikit-learn kütüphanesini kullanarak 2D koordinatları (nesne merkezlerini simüle ederek)
nasıl kümelendirebileceğinizi 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çilebilmesi için K-Means'i benzer isimlere veya işlevlere sahip diğer algoritmalardan ayırmak önemlidir.
.
-
K-Means ve K-En Yakın Komşular (KNN): Bu iki algoritma, isimlerindeki "K" harfi nedeniyle sıklıkla karıştırılır.
K-Means K-Means, etiketlenmemiş verileri kümelemek için kullanılan denetimsiz bir algoritmadır. Buna karşılık,
K-En Yakın Komşular (KNN),
görüntü sınıflandırma ve regresyon için kullanılan
denetimli bir öğrenme algoritmasıdır ve
komşuların çoğunluk sınıfına dayalı tahminler yapmak için etiketlenmiş verilere dayanır.
-
K-Means ve DBSCAN: Her ikisi de verileri kümeler halinde gruplandırsa da, K-Means kümelerin küresel olduğunu varsayar ve
kümelerin sayısının önceden tanımlanmasını gerektirir.
DBSCAN
ise verileri yoğunluğa göre gruplandırır, rastgele şekillerde kümeler bulabilir ve gürültüyü daha iyi yönetir. Bu da DBSCAN'ı
kümelerin sayısı bilinmeyen düzensiz yapıdaki veri kümelerinde bulunan karmaşık uzamsal veriler için
daha üstün hale getirir.