Yolo فيجن شنتشن
شنتشن
انضم الآن
مسرد المصطلحات

DBSCAN (التجميع المكاني القائم على الكثافة للتطبيقات مع الضوضاء)

اكتشف DBSCAN: خوارزمية تجميع قوية لتحديد الأنماط، والتعامل مع الضوضاء، وتحليل مجموعات البيانات المعقدة في التعلم الآلي.

DBSCAN (التجميع المكاني للتطبيقات القائم على الكثافة مع الضوضاء) هو خوارزمية تعلم قوية غير خاضعة للإشراف تُستخدم لتحديد مجموعات متميزة داخل البيانات بناءً على الكثافة. على عكس طرق التجميع التقليدية التي تفترض تجمعات كروية أو تتطلب عددًا محددًا مسبقًا من المجموعات، يحدد DBSCAN المناطق عالية الكثافة التي تفصلها مناطق منخفضة الكثافة. تتيح هذه القدرة اكتشاف مجموعات ذات أشكال وأحجام عشوائية، مما يجعلها فعالة بشكل استثنائي في تحليل مجموعات البيانات المعقدة في العالم الحقيقي حيث تكون البنية الأساسية غير معروفة. تتمثل الميزة الرئيسية لهذه الخوارزمية في اكتشافها المدمج للانحرافات، حيث تصنف تلقائيًا النقاط في المناطق منخفضة الكثافة على أنها ضوضاء بدلاً من إجبارها على الانضمام إلى مجموعة.

المفاهيم والمعايير الأساسية

تعمل الخوارزمية عن طريق تحديد المنطقة المحيطة بكل نقطة بيانات وحساب عدد النقاط الأخرى التي تقع ضمن تلك المنطقة. يتحكم معلمتان أساسيتان في هذه العملية، مما يتطلب ضبطًا دقيقًا للمعلمات لتتناسب مع الخصائص المحددة للبيانات:

  • إبسيلون (eps): تحدد هذه المعلمة أقصى نصف قطر حول نقطة ما للبحث عن الجيران. وهي تحدد مسافة "الوصول".
  • الحد الأدنى للنقاط (minPts): يحدد هذا الحد الأدنى لعدد نقاط البيانات المطلوبة داخل نصف قطر Epsilon لتشكيل منطقة كثيفة أو "نواة".

بناءً على هذه المعلمات، يصنف DBSCAN كل نقطة في مجموعة البيانات إلى أحد الأنواع الثلاثة التالية:

  1. النقاط الأساسية: النقاط التي تحتوي على الأقل minPts الجيران داخل eps نصف القطر. تشكل هذه النقاط الجزء الداخلي من العنقود.
  2. النقاط الحدودية: النقاط التي تقع داخل eps نصف قطر نقطة مركزية ولكن لديها أقل من minPts الجيران أنفسهم. وهؤلاء يشكلون حواف المجموعة.
  3. نقاط الضوضاء: النقاط التي ليست نقاطًا أساسية ولا نقاطًا حدودية. يتم التعامل معها فعليًا على أنها قيم متطرفة، وهو أمر مفيد لمهام مثل اكتشاف القيم المتطرفة.

DBSCAN مقابل K-Means Clusterering

في حين أن كلاهما أساسيان في التعلم الآلي (ML)، فإن DBSCAN يقدم مزايا مميزة عن K-Means Clustering في سيناريوهات محددة . يعتمد K-Means على المراكز والمسافة الأوقليدية، وغالبًا ما يفترض أن المجموعات محدبة أو كروية. وهذا يمكن أن يؤدي إلى ضعف الأداء على البيانات الممدودة أو الهلالية الشكل. في المقابل، فإن نهج DBSCAN القائم على الكثافة يسمح له باتباع الخطوط الطبيعية لتوزيع البيانات.

يكمن الاختلاف المهم الآخر في عملية التهيئة. يتطلب K-Means من المستخدم تحديد عدد المجموعات (k) مسبقًا، وهو ما قد يمثل تحديًا دون معرفة مسبقة. يستنتج DBSCAN عدد المجموعات بشكل طبيعي من كثافة البيانات. بالإضافة إلى ذلك، فإن K-Means حساس للقيم المتطرفة لأنه يفرض كل نقطة في مجموعة، مما قد يؤدي إلى انحراف مراكز المجموعات. تمنع قدرة DBSCAN على تصنيف النقاط على أنها ضوضاء البيانات الشاذة من تلويث المجموعات الصالحة، مما يضمن نتائج أنظف للمهام النهائية مثل النمذجة التنبؤية.

تطبيقات واقعية

يستخدم DBSCAN على نطاق واسع في الصناعات التي تتطلب تحليلًا مكانيًا ومعالجة قوية للضوضاء.

  • التحليل الجغرافي المكاني: في التخطيط الحضري واللوجستيات، يستخدم المحللون DBSCAN لتجميع إحداثيات GPS من أساطيل التوصيل أو خدمات مشاركة الرحلات. من خلال تحديد مناطق التوصيل عالية الكثافة، يمكن للشركات تحسين تخطيط المسارات ومواقع المستودعات. على سبيل المثال، غالبًا ما تتضمن الذكاء الاصطناعي في اللوجستيات تجميع محطات التوصيل لتحسين الكفاءة.
  • الكشف عن الشذوذ القائم على الرؤية: في مجال التصنيع، يمكن لأنظمة الفحص البصري التي تعمل بنماذج مثل YOLO26 detect عيوب detect . يمكن لـ 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. تسمح هذه الطريقة الهجينة بتجميع بيانات الصور المعقدة بناءً على التشابه الدلالي بدلاً من مجرد موقع البكسل. وهذا مفيد بشكل خاص في سيناريوهات التعلم غير الخاضع للإشراف حيث تكون بيانات التدريب الموسومة نادرة، مما يساعد الباحثين على تنظيم أرشيفات ضخمة من الصور غير الموسومة بكفاءة.

انضم إلى مجتمع Ultralytics

انضم إلى مستقبل الذكاء الاصطناعي. تواصل وتعاون وانمو مع المبتكرين العالميين

انضم الآن