Principal Component Analysis (PCA)
يسقط تحليل المكونات الرئيسية (PCA) البيانات على اتجاهات متعامدة تلتقط أكبر قدر من التباين. تعرّف إلى آلية عمله واختيار k واستخداماته، مع أمثلة برمجية.
تحليل المكونات الرئيسية (PCA) تقنية خطية لـتقليل الأبعاد تعيد تمثيل البيانات بمتغيرات جديدة غير مترابطة تُسمى المكونات الرئيسية، مرتبة حسب مقدار التباين في البيانات الذي يلتقطه كل منها. ويؤدي الاحتفاظ بالمكونات الأولى القليلة فقط إلى ضغط سمات كثيرة مترابطة في عدد قليل منها مع الحفاظ على معظم المعلومات. قدّم Karl Pearson هذه الطريقة في عام 1901، وطوّرها Harold Hotelling لاحقًا وأطلق عليها اسمها في عام 1933. ويُعد PCA أسلوبًا غير خاضع للإشراف يتجاهل التسميات، ويُستخدم خطوةً معيارية في المعالجة المسبقة للبيانات، وطريقة سريعة لـتصوّر البيانات عالية الأبعاد في بعدين أو ثلاثة، وخط أساس للضغط وإزالة الضوضاء في التعلّم الآلي.
كيف يعمل PCA#
يطرح PCA متوسط كل سمة منها أولًا لتوسيطها. والمكوّن الرئيسي الأول هو الاتجاه الذي يتباين فيه التوسيط للبيانات بأكبر قدر، وكل مكوّن لاحق هو اتجاه أكبر تباين متبقٍ ومتعامد مع جميع المكونات السابقة. والمكونات هي المتجهات الذاتية لمصفوفة التغاير الخاصة بالبيانات، والقيم الذاتية المقابلة لها هي التباينات على امتداد تلك الاتجاهات؛ وتحسب المكتبات كليهما بتحليل القيم المفردة (SVD) للبيانات المتمركزة، وهو أكثر استقرارًا عدديًا من تكوين مصفوفة التغاير. ويعطي إسقاط البيانات على المكونات k الأعلى التمثيل المختزل، بينما تعيد إعادتها إلى فضاء البيانات الأصلي بناء تقريب للبيانات الأصلية. ومن بين جميع الإسقاطات الخطية إلى k أبعاد، يحقق إسقاط PCA أصغر خطأ تربيعي لإعادة البناء.
يعتمد التباين على الوحدات، لذا تُجرى معايرة السمات المقاسة بمقاييس مختلفة، مثل الدخل بالدولار والعمر بالسنوات، أولًا؛ وإلا هيمنت السمة ذات النطاق العددي الأكبر على المكوّن الأول. ويُختار عدد المكونات k عادةً استنادًا إلى نسبة التباين المفسَّر، مع الاحتفاظ بالمكونات إلى أن تبلغ حصتها التراكمية من التباين هدفًا مثل 95%، أو استنادًا إلى نقطة الانعطاف في مخطط الركام الذي يعرض التباين لكل مكوّن.
تتيح PCA في Scikit-learn إدخال هدف للتباين مباشرةً. يضغط هذا المثال صورًا بحجم 8×8 لأرقام مكتوبة بخط اليد:
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
# 1,797 handwritten digits, each an 8x8 image flattened to 64 pixel values
X, _ = load_digits(return_X_y=True)
# Keep the fewest components that explain 95% of the variance
pca = PCA(n_components=0.95)
X_reduced = pca.fit_transform(X)
print(f"{X.shape[1]} features -> {pca.n_components_} components")
print(f"First two components: {pca.explained_variance_ratio_[:2].sum():.1%} of the variance")تحافظ تسعة وعشرون مكوّنًا على 95% من التباين في وحدات البكسل الـ64، ما يقلّص حجم الإدخال إلى أقل من النصف، بينما تحتفظ المكونات الأولى وحدها بنسبة 28.5%. ويتركز التباين لأن وحدات البكسل المتجاورة مترابطة بشدة، ولأن وحدات البكسل على الحافتين اليمنى واليسرى للصور تكاد لا تتغير.
القيود#
لا يكشف تحليل المكونات الرئيسية (PCA) إلا البنية الخطية، لذا تتطلب البيانات الواقعة على سطح منحني مكونات أكثر من أبعادها الحقيقية. يمزج كل مكوّن جميع السمات الأصلية، مما يصعّب تفسير المكونات، كما تسمح المسافات المربعة لعدد قليل من القيم المتطرفة بالتأثير فيها. ولا يعني التباين المرتفع بالضرورة فائدة أكبر: فقد يحمل اتجاه منخفض التباين الإشارة التي تفصل بين فئتين، لذا قد يؤدي استبعاده إلى الإضرار بالمُصنِّف رغم فقدان قدر ضئيل من التباين. ولا يزال تقليل عدد كبير من السمات إلى عدد قليل منها مفيدًا في مواجهة لعنة الأبعاد، إذ تحتاج النماذج إلى عينات أكثر بكثير للتعميم كلما زاد عدد السمات، كما يحد من فرط التكيّف عندما تكون السمات كثيرة والعينات قليلة.
تحليل المكونات الرئيسية للتضمينات في الرؤية الحاسوبية#
تصف نماذج الرؤية كل صورة أو كائن باستخدام تضمين، وهو متجه يضم مئات الأرقام، ويُعد تحليل المكونات الرئيسية خطوة أولى شائعة لرسم هذه المتجهات أو تجميعها أو ضغطها. تُرجع نماذج YOLO26 تضمينًا واحدًا لكل صورة عبر model.embed()، ويسمح إسقاط هذه المتجهات على أول مكوّنين رئيسيين برسم خريطة خطية سريعة لكيفية فصل نموذج مدرَّب خصيصًا لفئاته. كما أن تقليل أبعاد التضمينات المخزنة يقلّص فهرس قاعدة بيانات المتجهات ويسرّع البحث المتجهي.
التطبيقات#
- التعرّف على الوجوه: مثّلت طريقة الوجوه الذاتية التي وضعها ترك وبنتلاند (1991) كل وجه بإحداثياته على المكونات الرئيسية لمجموعة من صور الوجوه، وتعرّفت على الأشخاص بمقارنة تلك الإحداثيات.
- اكتشاف الحالات الشاذة: يكيّف رصد العمليات الصناعية تحليل المكونات الرئيسية مع بيانات المستشعرات أثناء التشغيل الطبيعي، ويطلق إنذارًا عندما يُعاد بناء قراءة جديدة على نحو ضعيف أو تقع بعيدًا جدًا على امتداد المكونات المحتفَظ بها.
- علم الوراثة السكانية: يلخّص تحليل المكونات الرئيسية لبيانات الأنماط الجينية الأصولَ، وفي دراسة أجريت عام 2008 على 1,387 أوروبيًا، أعاد أول مكوّنين إنتاج خريطة واضحة لأوروبا.
- مخاطر أسعار الفائدة: تهيمن ثلاثة مكونات على التغيرات في منحنى عائد السندات، ويسميها المحللون المستوى والميل والانحناء؛ لذلك تتعقب نماذج المخاطر ثلاثة أرقام بدلًا من كل أجل استحقاق.
تحليل المكونات الرئيسية مقارنةً بالتقنيات ذات الصلة#
- t-SNE وUMAP: طريقتان غير خطيتين صُممتا للتصور وتحافظان على الجوار المحلي، فتبدو المجموعات أكثر انفصالًا، بينما تفقد المسافات بين المجموعات المتباعدة معناها. لا توفر طريقة t-SNE في Scikit-learn تحويلًا للنقاط الجديدة، بينما يُسقط تحليل المكونات الرئيسية المكيّف البيانات الجديدة بضرب مصفوفة واحدة.
- المشفّرات التلقائية: شبكات عصبية تضغط البيانات وتعيد بناءها، ويمكنها تعلم بنية غير خطية. ويتعلم المشفّر التلقائي الخطي المدرَّب على الخطأ التربيعي الفضاء الجزئي نفسه الذي يتعلمه تحليل المكونات الرئيسية.
- اختيار السمات واستخراجها: يحتفظ اختيار السمات بمجموعة فرعية من الأعمدة الأصلية التي تظل قابلة للتفسير، بينما ينشئ تحليل المكونات الرئيسية، وهو أسلوب كلاسيكي لاستخراج السمات، سمات جديدة تمزج بينها جميعًا.
- التحليل التمييزي الخطي (LDA): طريقة إشرافية ذات صلة تختار اتجاهات تزيد الفصل بين الفئات بدلًا من إجمالي التباين، ولا تنتج أكثر من عدد الفئات ناقصًا واحدًا من المكونات.










