Yoğunluk tabanlı kümeleme ve anomali tespiti için DBSCAN'ı keşfedin. Ultralytics ile birlikte veri kümelerindeki rastgele şekilleri ve gürültüyü nasıl tanımladığını öğrenin.
DBSCAN (Gürültülü Uygulamaların Yoğunluk Temelli Uzamsal Kümelenmesi), yoğunluğa dayalı olarak veriler içinde farklı grupları tanımlamak için kullanılan güçlü bir denetimsiz öğrenme algoritmasıdır. Küresel kümeleri varsayan veya önceden belirlenmiş bir grup sayısı gerektiren geleneksel kümeleme yöntemlerinden farklı olarak, DBSCAN düşük yoğunluklu alanlarla ayrılmış yüksek yoğunluklu bölgeleri bulur. Bu yetenek, herhangi bir şekil ve boyuttaki kümeleri keşfetmesini sağlar ve Bu özellik, rastgele şekil ve boyutlardaki kümeleri keşfetmesini sağlar ve altta yatan yapının bilinmediği karmaşık gerçek dünya veri kümelerini analiz etmek için son derece etkilidir. Bu algoritmanın en önemli avantajı, düşük yoğunluklu bölgelerdeki noktaları bir kümeye zorlamak yerine otomatik olarak gürültü olarak sınıflandıran yerleşik anormallik algılama özelliğidir.
Algoritma, her veri noktasının çevresinde bir komşuluk alanı tanımlayarak ve bu alana kaç tane başka nokta düştüğünü sayarak çalışır. Bu süreci iki ana hiperparametre kontrol eder ve verilerin belirli özelliklerine uyacak şekilde dikkatli bir hiperparametre ayarlaması gerekir: :
Bu parametrelere dayanarak, DBSCAN veri kümesindeki her noktayı üç türden birine sınıflandırır:
minPts komşular
eps yarıçap. Bu noktalar bir kümenin içini oluşturur.
eps çekirdek noktanın yarıçapı ancak
daha az minPts komşuların kendileri. Bunlar bir kümenin kenarlarını oluşturur.
Her ikisi de makine öğreniminin temelini oluştursa da , DBSCAN belirli senaryolarda K-Means Kümeleme'ye göre belirgin avantajlar sunar . K-Means, merkez noktalarına ve Öklid mesafesine dayanır ve genellikle kümelerin dışbükey veya küresel olduğunu varsayar. Bu, uzun veya hilal şeklindeki verilerde düşük performansa neden olabilir. Buna karşılık, DBSCAN'ın yoğunluk tabanlı yaklaşımı, veri dağılımının doğal konturlarını takip etmesini sağlar.
Bir diğer önemli fark ise başlatma aşamasındadır. K-Means, kullanıcının önceden küme sayısını (k) belirlemesini gerektirir, bu da önceden bilgi sahibi olunmadığında zor olabilir. DBSCAN ise küme sayısını veri yoğunluğundan doğal olarak çıkarır. Ayrıca, K-Means her noktayı bir gruba zorladığı için uç değerlere duyarlıdır ve bu da küme merkezlerini çarpıtabilir. DBSCAN'ın noktaları gürültü olarak etiketleme yeteneği, veri anomalilerinin geçerli kümeleri kirletmesini önler ve tahminsel modelleme gibi aşağı akış görevleri için daha temiz sonuçlar sağlar.
DBSCAN, uzamsal analiz ve sağlam gürültü işleme gerektiren endüstrilerde yaygın olarak kullanılmaktadır.
Bilgisayar görme iş akışlarında, geliştiriciler genellikle
Ultralytics Platformu nesne algılayıcıları eğitmek ve ardından sonuçları sonradan işlemek için
kullanılır. Aşağıdaki örnek, sklearn kütüphaneyi kullanarak algılanan nesnelerin merkez noktalarını kümelendirmek.
Bu, uzamsal olarak ilişkili algılamaları gruplandırmaya yardımcı olur ve potansiyel olarak birden fazla
sınırlayıcı kutular aynı nesne veya tanımlayıcı
nesne grupları için.
import numpy as np
from sklearn.cluster import DBSCAN
# Simulated centroids of objects detected by YOLO26
# [x, y] coordinates representing object locations
centroids = np.array(
[
[100, 100],
[102, 104],
[101, 102], # Cluster 1 (Dense group)
[200, 200],
[205, 202], # Cluster 2 (Another group)
[500, 500], # Noise (Outlier)
]
)
# Initialize DBSCAN with a radius (eps) of 10 and min_samples of 2
# This groups points close to each other
clustering = DBSCAN(eps=10, min_samples=2).fit(centroids)
# Labels: 0, 1 are cluster IDs; -1 represents noise
print(f"Cluster Labels: {clustering.labels_}")
# Output: [ 0 0 0 1 1 -1]
DBSCAN klasik bir algoritma olmakla birlikte, modern derin öğrenme ile etkili bir şekilde eşleştirilebilir. Örneğin, evrişimsel sinir ağından çıkarılan yüksek boyutlu özellikler (CNN) DBSCAN uygulanmadan önce PCA veya t-SNE gibi boyut azaltma teknikleri kullanılarak azaltılabilir. Bu hibrit yaklaşım, karmaşık görüntü verilerinin sadece piksel konumuna göre değil, anlamsal benzerliğe göre kümelenmesini sağlar. Bu, etiketli eğitim verilerinin az olduğu denetimsiz öğrenme senaryolarında özellikle yararlıdır ve araştırmacıların etiketlenmemiş görüntülerin geniş arşivlerini verimli bir şekilde düzenlemelerine yardımcı olur.