تعرف على كيفية تحسين سير عمل التعلم الآلي من خلال تقليل الأبعاد. استكشف تقنيات مثل PCA و t-SNE لتحسين أداء Ultralytics وتصور البيانات.
تقليل الأبعاد هو تقنية تحويلية في التعلم الآلي (ML) وعلم البيانات تُستخدم لتقليل عدد متغيرات الإدخال — التي يُشار إليها غالبًا باسم السمات أو الأبعاد — في مجموعة البيانات مع الاحتفاظ بأهم المعلومات. في عصر البيانات الضخمة، غالبًا ما تحتوي مجموعات البيانات على آلاف المتغيرات، مما يؤدي إلى ظاهرة تُعرف باسم لعنة الأبعاد. يمكن أن تتسبب هذه الظاهرة في ارتفاع تكلفة تدريب النموذج من الناحية الحسابية، وعرضته للتكيف المفرط، وصعوبة تفسيره. من خلال إسقاط البيانات عالية الأبعاد في فضاء أقل أبعادًا، يمكن للممارسين تحسين الكفاءة والتصور والأداء التنبئي.
يعد تقليل تعقيد البيانات خطوة أساسية في عمليات معالجة البيانات المسبقة. وهو يوفر العديد من المزايا الملموسة لبناء أنظمة ذكاء اصطناعي (AI) قوية :
يتم تصنيف طرق تقليل الأبعاد بشكل عام بناءً على ما إذا كانت تحافظ على الهيكل الخطي الشامل أو المنظومة غير الخطية المحلية للبيانات.
أكثر التقنيات الخطية شيوعًا هي تحليل المكونات الرئيسية (PCA). يعمل تحليل المكونات الرئيسية عن طريق تحديد "المكونات الرئيسية" — المحاور المتعامدة التي تلتقط أقصى تباين في البيانات. ويقوم بإسقاط البيانات الأصلية على هذه المحاور الجديدة، متجاهلًا بشكل فعال الأبعاد التي تساهم بمعلومات قليلة . وهذا أمر أساسي في عمليات التعلم غير الخاضعة للإشراف.
بالنسبة للهياكل المعقدة للبيانات، مثل الصور أو النصوص المضمنة، غالبًا ما تكون الطرق غير الخطية مطلوبة. تتفوق تقنيات مثل t-Distributed Stochastic Neighbor Embedding (t-SNE) و UMAP (Uniform Manifold Approximation and Projection) في الحفاظ على الجوار المحلي، مما يجعلها مثالية لتصور المجموعات عالية الأبعاد. بالإضافة إلى ذلك، المشفرات التلقائية هي شبكات عصبية مدربة على ضغط المدخلات في تمثيل الفضاء الكامن وإعادة بنائها، مما يؤدي إلى تعلم ترميز مدمج للبيانات بشكل فعال.
يعد تقليل الأبعاد أمرًا بالغ الأهمية في مختلف مجالات التعلم العميق (DL):
من المهم التمييز بين هذا المفهوم و اختيار الميزات، حيث إنهما يحققان أهدافًا متشابهة من خلال آليات مختلفة:
يوضح المثال التالي كيفية أخذ مخرجات عالية الأبعاد (تحاكي متجه تضمين الصورة) و تقليلها باستخدام PCA. هذا هو سير العمل الشائع عند تصور كيفية قيام نموذج مثل YOLO26 بتجميع الفئات المتشابهة.
import numpy as np
from sklearn.decomposition import PCA
# Simulate high-dimensional embeddings (e.g., 10 images, 512 features each)
# In a real workflow, these would come from a model like YOLO26n
embeddings = np.random.rand(10, 512)
# Initialize PCA to reduce from 512 dimensions to 2
pca = PCA(n_components=2)
reduced_data = pca.fit_transform(embeddings)
# Output shape is now (10, 2), ready for 2D plotting
print(f"Original shape: {embeddings.shape}") # (10, 512)
print(f"Reduced shape: {reduced_data.shape}") # (10, 2)