اكتشف DBSCAN: خوارزمية تجميع قوية لتحديد الأنماط، والتعامل مع الضوضاء، وتحليل مجموعات البيانات المعقدة في التعلم الآلي.
DBSCAN (التجميع المكاني للتطبيقات القائم على الكثافة مع الضوضاء) هو خوارزمية تعلم قوية غير خاضعة للإشراف تُستخدم لتحديد مجموعات متميزة داخل البيانات بناءً على الكثافة. على عكس طرق التجميع التقليدية التي تفترض تجمعات كروية أو تتطلب عددًا محددًا مسبقًا من المجموعات، يحدد DBSCAN المناطق عالية الكثافة التي تفصلها مناطق منخفضة الكثافة. تتيح هذه القدرة اكتشاف مجموعات ذات أشكال وأحجام عشوائية، مما يجعلها فعالة بشكل استثنائي في تحليل مجموعات البيانات المعقدة في العالم الحقيقي حيث تكون البنية الأساسية غير معروفة. تتمثل الميزة الرئيسية لهذه الخوارزمية في اكتشافها المدمج للانحرافات، حيث تصنف تلقائيًا النقاط في المناطق منخفضة الكثافة على أنها ضوضاء بدلاً من إجبارها على الانضمام إلى مجموعة.
تعمل الخوارزمية عن طريق تحديد المنطقة المحيطة بكل نقطة بيانات وحساب عدد النقاط الأخرى التي تقع ضمن تلك المنطقة. يتحكم معلمتان أساسيتان في هذه العملية، مما يتطلب ضبطًا دقيقًا للمعلمات لتتناسب مع الخصائص المحددة للبيانات:
بناءً على هذه المعلمات، يصنف DBSCAN كل نقطة في مجموعة البيانات إلى أحد الأنواع الثلاثة التالية:
minPts الجيران داخل
eps نصف القطر. تشكل هذه النقاط الجزء الداخلي من العنقود.
eps نصف قطر نقطة مركزية ولكن لديها أقل
من minPts الجيران أنفسهم. وهؤلاء يشكلون حواف المجموعة.
في حين أن كلاهما أساسيان في التعلم الآلي (ML)، فإن DBSCAN يقدم مزايا مميزة عن K-Means Clustering في سيناريوهات محددة . يعتمد K-Means على المراكز والمسافة الأوقليدية، وغالبًا ما يفترض أن المجموعات محدبة أو كروية. وهذا يمكن أن يؤدي إلى ضعف الأداء على البيانات الممدودة أو الهلالية الشكل. في المقابل، فإن نهج DBSCAN القائم على الكثافة يسمح له باتباع الخطوط الطبيعية لتوزيع البيانات.
يكمن الاختلاف المهم الآخر في عملية التهيئة. يتطلب K-Means من المستخدم تحديد عدد المجموعات (k) مسبقًا، وهو ما قد يمثل تحديًا دون معرفة مسبقة. يستنتج DBSCAN عدد المجموعات بشكل طبيعي من كثافة البيانات. بالإضافة إلى ذلك، فإن K-Means حساس للقيم المتطرفة لأنه يفرض كل نقطة في مجموعة، مما قد يؤدي إلى انحراف مراكز المجموعات. تمنع قدرة DBSCAN على تصنيف النقاط على أنها ضوضاء البيانات الشاذة من تلويث المجموعات الصالحة، مما يضمن نتائج أنظف للمهام النهائية مثل النمذجة التنبؤية.
يستخدم DBSCAN على نطاق واسع في الصناعات التي تتطلب تحليلًا مكانيًا ومعالجة قوية للضوضاء.
في سير عمل الرؤية الحاسوبية، غالبًا ما يستخدم المطورون
منصة Ultralytics لتدريب أجهزة الكشف عن الأشياء ثم معالجة النتائج لاحقًا
. يوضح المثال التالي كيفية استخدام sklearn مكتبة لتجميع مراكز
الأجسام المكتشفة. وهذا يساعد في تجميع الاكتشافات ذات الصلة المكانية، مع إمكانية دمج عدة
مربعات الحدود لنفس الكائن أو لتحديد
مجموعات من الكائنات.
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 هو خوارزمية كلاسيكية، إلا أنه يتوافق بشكل فعال مع التعلم العميق الحديث. على سبيل المثال، يمكن تقليل السمات عالية الأبعاد المستخرجة من شبكة عصبية تلافيفية (CNN) يمكن تقليلها باستخدام تقنيات تقليل الأبعاد مثل PCA أو t-SNE قبل تطبيق DBSCAN. تسمح هذه الطريقة الهجينة بتجميع بيانات الصور المعقدة بناءً على التشابه الدلالي بدلاً من مجرد موقع البكسل. وهذا مفيد بشكل خاص في سيناريوهات التعلم غير الخاضع للإشراف حيث تكون بيانات التدريب الموسومة نادرة، مما يساعد الباحثين على تنظيم أرشيفات ضخمة من الصور غير الموسومة بكفاءة.