تعرف على كيفية قيام تحليل المكونات الرئيسية (PCA) بتبسيط البيانات عالية الأبعاد من أجل التعلم الآلي. اكتشف كيفية استخدام PCA لمعالجة البيانات مسبقًا وتصور تضمينات YOLO26.
تحليل المكونات الرئيسية (PCA) هو تقنية إحصائية مستخدمة على نطاق واسع في التعلم الآلي (ML) تعمل على تبسيط تعقيد البيانات عالية الأبعاد مع الاحتفاظ بأهم معلوماتها. وهي تعمل كطريقة لتقليل الأبعاد، حيث تحول مجموعات البيانات الكبيرة التي تحتوي على العديد من المتغيرات إلى مجموعة أصغر وأسهل في الإدارة من "المكونات الرئيسية". من خلال تحديد الاتجاهات التي تتباين فيها البيانات بشكل أكبر، يتيح تحليل المكونات الرئيسية لعلماء البيانات تقليل تكاليف الحوسبة وإزالة الضوضاء دون فقدان الأنماط المهمة. هذه العملية هي خطوة حاسمة في المعالجة المسبقة الفعالة للبيانات، وغالبًا ما تستخدم لتصور مجموعات البيانات المعقدة في بعدين أو ثلاثة أبعاد.
في جوهرها، PCA هي تقنية تحويل خطية تعيد تنظيم البيانات بناءً على التباين. في مجموعة بيانات تحتوي على العديد من الميزات — مثل قيم البكسل في صورة أو قراءات المستشعر في شبكة إنترنت الأشياء (IoT) — غالبًا ما تتداخل المتغيرات في المعلومات التي تنقلها. تحدد PCA متغيرات جديدة غير مترابطة (المكونات الرئيسية) التي تعظم التباين بشكل متتالي. يلتقط المكون الأول أكبر قدر ممكن من التباين في البيانات، بينما يلتقط المكون الثاني ثاني أكبر قدر (مع كونه عموديًا على الأول)، وهكذا دواليك.
من خلال الاحتفاظ بالمكونات القليلة الأعلى فقط والتخلص من الباقي، يمكن للممارسين تحقيق ضغط كبير. وهذا يساعد في التخفيف من لعنة الأبعاد، وهي ظاهرة يتدهور فيها أداء النمذجة التنبؤية مع زيادة عدد الميزات بالنسبة إلى عينات التدريب المتاحة.
PCA متعدد الاستخدامات ويدعم مختلف مراحل دورة حياة تطوير الذكاء الاصطناعي، من تنظيف البيانات إلى تصور أجزاء النموذج الداخلية.
في حين أن PCA هي أداة قياسية لاستخراج الميزات، فمن المفيد التمييز بينها وبين تقنيات التخفيض الأخرى:
يوضح المثال التالي كيفية استخدام scikit-learn لتقليل متجهات السمات عالية الأبعاد.
يحاكي سير العمل هذا ضغط مخرجات نموذج الرؤية قبل تخزينها في
قاعدة بيانات متجهة أو استخدامه للتجميع.
import numpy as np
from sklearn.decomposition import PCA
# Simulate 100 image embeddings, each with 512 dimensions (features)
embeddings = np.random.rand(100, 512)
# Initialize PCA to reduce the data to 3 principal components
pca = PCA(n_components=3)
# Fit and transform the embeddings to the lower dimension
reduced_data = pca.fit_transform(embeddings)
print(f"Original shape: {embeddings.shape}") # Output: (100, 512)
print(f"Reduced shape: {reduced_data.shape}") # Output: (100, 3)
يمكن أن يساعد دمج PCA في خطوط الأنابيب على Ultralytics في تبسيط تدريب النماذج عن طريق تقليل تعقيد المدخلات، مما يؤدي إلى تجارب أسرع وحلول ذكاء اصطناعي أكثر قوة.