تنفيذ تحليل العنصر الرئيسي للنواة (Kernel principal component analysis) في بایثون

KPCA

مقدمة لتحليل العنصر الرئيسي (Principal Component Analysis)

تحليل العنصر الرئيسي هو أداة تستخدم لتقليل أبعاد البيانات. ويسمح لنا بتقليل أبعاد البيانات دون فقدان الكثير من المعلومات. يقلل PCA من الأبعاد من خلال إيجاد عدد قليل من المجموعات الخطية المتعامدة (العناصر الرئيسية) للمتغيرات الأصلية ذات التباين الأكبر. يلتقط العنصر الرئيسي الأول معظم التباين في البيانات. العنصر الرئيسي الثاني متعامد مع العنصر الرئيسي الأول ويلتقط التباين المتبقي، والذي بقي من العنصر الأساسي الأول وما إلى ذلك. هناك العديد من العناصر الرئيسية مثل عدد المتغيرات الأصلية.

هذه العناصر الرئيسية غير مرتبطة ويتم ترتيبها بطريقة توضح فيها العناصر الرئيسية العديدة الأولى معظم التباين في البيانات الأصلية.

مقدمة لتحليل العنصر الرئيسي للنواة (Kernel principal component analysis)

PCA هو طريقة خطية. أي أنه لا يمكن تطبيقه إلا على مجموعات البيانات التي يمكن فصلها خطيًا. يقوم بعمل ممتاز لمجموعات البيانات، والتي يمكن فصلها خطيًا. ولكن، إذا استخدمناها لمجموعات البيانات غير الخطية، فقد نحصل على نتيجة قد لا تكون الحد الأمثل للأبعاد. تستخدم تحليل العنصر الرئيسي للنواة (Kernel PCA) دالة نواة (kernel) لعرض مجموعة البيانات في مساحة مميزة ذات أبعاد أعلى، حيث يمكن فصلها خطيًا. إنه مشابه لفكرة آلة المتجهات الداعمة (Support Vector Machine).

الفکرة وراء KPCA

تعتمد فكرة KPCA على الحدس القائل بأن العديد من مجموعات البيانات، التي لا يمكن فصلها خطيًا في مساحتها، يمكن فصلها خطيًا عن طريق إسقاطها في فضاء ذات أبعاد أعلى. الأبعاد المضافة هي مجرد عمليات حسابية بسيطة يتم إجراؤها على أبعاد البيانات الأصلية. لذلك فإننا نعرض مجموعة البيانات الخاصة بنا في مساحة خصیصة ذات أبعاد أعلى، ولأنها تصبح قابلة للفصل خطيًا، فيمكننا عندئذٍ تطبيق PCA على مجموعة البيانات الجديدة هذه.

إن إجراء هذا التخفيض في الأبعاد الخطية في ذلك الفضاء سيكون مكافئًا لتقليل الأبعاد غير الخطية في الفضاء الأصلي.

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

تنفيذ تحليل العنصر الرئيسي للنواة (Kernel principal component analysis) في بایثون

نحدد التعیین الخطي (linear mapping):

تنفيذ تحليل العنصر الرئيسي للنواة (Kernel principal component analysis) في بایثون

ستعمل دالة التعيين هذه على عرض البيانات من فضاء أقل (2D) إلى فضاء ذات أبعاد أعلى (3D) كما هو موضح في الشكل أدناه:

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

تنفیذ تحليل العنصر الرئيسي للنواة (Kernel principal component analysis)

نحتاج إلى ثلاثة خطوات لتنفيذ هذه التقنية.

الخطوة الأولی: قم بإنشاء مجموعة بيانات غير خطية ثم قم بتطبيق PCA على مجموعة البيانات

کود:

import matplotlib.pyplot as plt
from sklearn.datasets import make_moons

X, y = make_moons(n_samples = 500, noise = 0.02, random_state = 417)

plt.scatter(X[:, 0], X[:, 1], c = y)
plt.show()

الإخراج سیکون کما یلي:

تنفيذ تحليل العنصر الرئيسي للنواة (Kernel principal component analysis) في بایثون

الخطوة الثانیة: تطبیق PCA على مجموعة البيانات هذه

کود:

from sklearn.decomposition import PCA
pca = PCA(n_components = 2)
X_pca = pca.fit_transform(X)

plt.title("PCA")
plt.scatter(X_pca[:, 0], X_pca[:, 1], c = y)
plt.xlabel("Component 1")
plt.ylabel("Component 2")
plt.show()

الإخراج سیکون:

كما ترون فشلت تقنیة PCA في التمييز بين الفئتين.

الخطوة الثالثة: تطبيق PCA للنواة (kernel PCA)

کود:

from sklearn.decomposition import KernelPCA
kpca = KernelPCA(kernel ='rbf', gamma = 15)
X_kpca = kpca.fit_transform(X)

plt.title("Kernel PCA")
plt.scatter(X_kpca[:, 0], X_kpca[:, 1], c = y)
plt.show()
 

الإخراج سیکون کما یلي:

تنفيذ تحليل العنصر الرئيسي للنواة (Kernel principal component analysis) في بایثون

المصادر

المصدر الأول

المصدر الثاني

منشور ذات صلة
تقنیة تحليل التمييز الخطي 5 Minutes

تقنیة التحليل التمييزي الخطي (Linear Discriminant Analysis) تنفیذها في البایثون

حسن خنفري

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

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

السلة