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 is a fundamental and widely used algorithm in the field of unsupervised learning designed to uncover hidden structures within unlabeled data. Its primary objective is to partition a dataset into distinct subgroups, known as clusters, such that data points within the same group are as similar as possible, while those in different groups are distinct. As a cornerstone of data mining and exploratory analysis, K-Means empowers data scientists to automatically organize complex information into manageable categories without the need for predefined labels or human supervision.
Link to this sectionAlgoritma Nasıl Çalışır#
K-Means'in işleyişi yinelemelidir ve eğitim verilerinin en uygun şekilde gruplandırılmasını belirlemek için uzaklık metriklerine dayanır. Algoritma, öğeleri her bir öğenin en yakın ortalamaya veya merkeze ait olduğu K küme halinde düzenleyerek çalışır. Bu işlem, her grup içindeki varyansı minimize eder. İş akışı genellikle şu adımları izler:
-
Initialization: The algorithm selects K initial points as centroids. These can be chosen randomly or via optimized methods like k-means++ to speed up convergence.
-
Atama: Veri kümesindeki her veri noktası, belirli bir uzaklık metriğine, en yaygın olarak Öklid uzaklığına göre 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.
Doğru küme sayısını (K) belirlemek, bu algoritmayı kullanmanın kritik bir yönüdür. Uygulayıcılar genellikle sonuçta elde edilen kümelerin ne kadar iyi ayrıldığını değerlendirmek için Elbow yöntemi gibi teknikler kullanır veya Silhouette puanını analiz eder.
Link to this sectionYapay Zekada Gerçek Dünya Uygulamaları#
K-Means Kümeleme oldukça çok yönlüdür ve sadeleştirme ile veri ön işleme süreçleri için çeşitli endüstrilerde fayda sağlar.
- Görüntü Sıkıştırma ve Renk Niceleme: Bilgisayarlı görü (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 renk kümesinde 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 normalize etmek 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şlerine, demografik özelliklerine veya web sitesi davranışlarına göre gruplandırmak için kümelemeden yararlanır. Bu, perakendede yapay zeka çözümlerinin önemli bir bileşeni olan hedeflenmiş pazarlama stratejilerine olanak tanır. Yüksek değerli müşterileri veya kayıp risklerini belirleyerek şirketler, mesajlarını etkili bir şekilde özelleştirebilir.
- Anomali Tespiti: "Normal" veri kümelerinin yapısını öğrenerek sistemler, herhangi bir merkezden çok uzakta kalan aykırı değerleri tanımlayabilir. Bu, finans alanındaki dolandırıcılık tespiti ve ağ güvenliğindeki anomali tespiti için değerlidir ve standart modellerden sapan şüpheli etkinlikleri işaretlemeye yardımcı olur.
- Çapa Kutusu Oluşturma: Geçmişte, eski YOLO sürümleri gibi nesne dedektörleri, eğitim veri kümelerinden en uygun çapa kutularını hesaplamak için K-Means kullanıyordu. YOLO26 gibi modern modeller gelişmiş çapa içermeyen yöntemler kullansa da, K-Means'i anlamak algılama mimarilerinin evrimi açısından geçerliliğini korumaktadır.
Link to this sectionUygulama Örneği#
Ultralytics Platform gibi derin öğrenme çerçeveleri karmaşık eğitim boru hatlarını yönetse de K-Means genellikle veri kümesi istatistiklerini analiz etmek için kullanılır. Aşağıdaki Python kod parçası, popüler Scikit-learn kütüphanesini kullanarak nesne merkezlerini simüle eden 2B 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 0Link to this sectionİ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): İsimlerindeki "K" nedeniyle bunlar 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), etiketli verilere dayanarak komşuların çoğunluk sınıfına göre tahminlerde bulunmak için kullanılan görüntü sınıflandırma ve regresyona yönelik 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, keyfi şekillerdeki kümeleri bulabilir ve gürültüyü daha iyi yönetir. Bu, DBSCAN'i küme sayısının bilinmediği düzensiz yapılara sahip veri kümelerindeki karmaşık uzamsal veriler için daha üstün kılar.






