Principal Component Analysis (PCA)
تعلّم كيف يبسّط تحليل المكوّنات الرئيسية (PCA) البيانات عالية الأبعاد لتعلّم الآلة. استكشف كيفية استخدام PCA للمعالجة المسبقة للبيانات وتصور تمثيلات YOLO26.
تحليل المكونات الرئيسية (PCA) هو تقنية إحصائية مستخدمة على نطاق واسع في التعلم الآلي (ML) تعمل على تبسيط تعقيد البيانات عالية الأبعاد مع الاحتفاظ بأهم معلوماتها. ويُستخدم بوصفه أسلوبًا لـخفض الأبعاد، إذ يحوّل مجموعات البيانات الكبيرة ذات المتغيرات العديدة إلى مجموعة أصغر وأكثر قابلية للإدارة من «المكونات الرئيسية». ومن خلال تحديد الاتجاهات التي تتباين فيها البيانات بأكبر قدر، يتيح PCA لعلماء البيانات خفض التكاليف الحاسوبية وإزالة الضوضاء من دون فقدان الأنماط المهمة. وتُعد هذه العملية خطوة أساسية في المعالجة المسبقة للبيانات الفعّالة، كما تُستخدم كثيرًا لتصوير مجموعات البيانات المعقدة في بُعدين أو ثلاثة أبعاد.
كيفية عمل PCA#
في جوهره، يُعد PCA تقنية تحويل خطية تعيد تنظيم البيانات استنادًا إلى التباين. ففي مجموعة بيانات تحتوي على العديد من الميزات—مثل قيم البكسلات في صورة أو قراءات المستشعرات في شبكة إنترنت الأشياء (IoT)—غالبًا ما تتداخل المتغيرات في المعلومات التي تنقلها. ويحدد PCA متغيرات جديدة غير مترابطة (المكونات الرئيسية) تعمل تباعًا على تعظيم التباين. يلتقط المكوّن الأول أكبر قدر ممكن من التباين في البيانات، بينما يلتقط المكوّن الثاني المقدار الأكبر التالي (مع كونه متعامدًا مع المكوّن الأول)، وهكذا.
من خلال الاحتفاظ بالمكونات القليلة الأولى فقط والتخلص من البقية، يمكن للممارسين تحقيق ضغط كبير. ويساعد ذلك على الحد من لعنة الأبعاد، وهي ظاهرة يتدهور فيها أداء النمذجة التنبؤية مع زيادة عدد الميزات مقارنةً بعينات التدريب المتاحة.
التطبيقات الواقعية#
يتميز PCA بتعدد الاستخدامات، ويدعم مراحل مختلفة من دورة حياة تطوير الذكاء الاصطناعي، بدءًا من تنظيف البيانات وصولًا إلى تصور الأجزاء الداخلية للنموذج.
- تصوير تضمينات الصور: في مهام الرؤية الحاسوبية (CV) المتقدمة، تنشئ نماذج مثل YOLO26 تضمينات عالية الأبعاد لتمثيل الصور. وقد تحتوي هذه المتجهات على 512 أو 1024 قيمة متميزة، ما يجعل رؤيتها مباشرةً من جانب البشر أمرًا مستحيلًا. ويستخدم المهندسون PCA لإسقاط هذه التضمينات على مخطط ثنائي الأبعاد، مما يتيح لهم فحص مدى نجاح النموذج في فصل الفئات المختلفة بصريًا، مثل التمييز بين «المشاة» و«راكبي الدراجات» في أنظمة المركبات ذاتية القيادة.
- المعالجة المسبقة لاكتشاف الحالات الشاذة: تستخدم المؤسسات المالية وشركات الأمن السيبراني PCA في اكتشاف الحالات الشاذة. ومن خلال نمذجة السلوك الطبيعي للنظام باستخدام المكونات الرئيسية، تُعلَّم أي معاملة أو حزمة شبكة يتعذر إعادة بنائها جيدًا بواسطة هذه المكونات بوصفها قيمة شاذة. ويُعد ذلك فعالًا في اكتشاف الاحتيال أو الهجمات الخصمية ضمن التدفقات الآنية.
PCA في مقابل t-SNE والمشفّرات التلقائية#
مع أن PCA أداة معيارية لـاستخراج الميزات، فمن المفيد تمييزه عن تقنيات الخفض الأخرى:
- تضمين الجوار العشوائي ذي التوزيع t (t-SNE): PCA أسلوب خطي يحافظ على البنية العالمية والتباين. أما t-SNE فهو تقنية احتمالية غير خطية تتفوق في الحفاظ على بنيات الجوار المحلية، مما يجعلها أفضل لتصوير العناقيد المتميزة، لكنها أكثر كثافة من الناحية الحاسوبية.
- المشفّرات التلقائية: هي شبكات عصبية تُدرَّب لضغط البيانات وإعادة بنائها. وعلى خلاف PCA، يمكن للمشفّرات التلقائية تعلم تحويلات غير خطية معقدة. إلا أنها تتطلب قدرًا أكبر بكثير من بيانات التدريب والموارد الحاسوبية للتدريب بفعالية.
مثال بلغة Python: ضغط الميزات#
يوضح المثال التالي كيفية استخدام 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 في تبسيط تدريب النماذج من خلال خفض تعقيد المدخلات، مما يؤدي إلى تجارب أسرع وحلول ذكاء اصطناعي أكثر متانة.









