قم بتبسيط البيانات عالية الأبعاد باستخدام تقنيات تقليل الأبعاد. حسّن أداء نموذج تعلم الآلة والتصور والكفاءة اليوم!
يعد تقليل الأبعاد تقنية حيوية في التعلم الآلي (ML) المستخدمة لتحويل البيانات عالية الأبعاد إلى تمثيل منخفض الأبعاد. تحتفظ هذه العملية بالخصائص الأكثر أهمية للبيانات البيانات الأصلية مع إزالة الضوضاء والمتغيرات الزائدة عن الحاجة. عن طريق تقليل عدد ميزات المدخلات - غالباً ما يشار إليها يشار إليها غالباً بالأبعاد - يمكن للمطورين التخفيف من من لعنة الأبعاد، وهي ظاهرة حيث يتدهور أداء النموذج حيث يتدهور أداء النموذج مع زيادة تعقيد مساحة المدخلات. إدارة أبعاد البيانات بفعالية هي خطوة حاسمة في المعالجة المسبقة للبيانات من أجل بناء أنظمة ذكاء اصطناعي قوية وفعالة.
يمثل التعامل مع مجموعات البيانات التي تحتوي على عدد كبير من الميزات تحديات حسابية وإحصائية كبيرة. يعالج تقليل البُعدية هذه المشاكل، ويقدم العديد من الفوائد الرئيسية ل دورة حياة تطوير الذكاء الاصطناعي:
تنقسم طرق تقليل الأبعاد بشكل عام إلى فئتين: خطية وغير خطية.
تحليل المكونات الرئيسية (PCA) هو التقنية الخطية الأكثر استخدامًا على نطاق واسع. وهو يعمل عن طريق تحديد "المكونات الرئيسية" - اتجاهات أقصى تباين في البيانات - وإسقاط البيانات عليها. هذا يحافظ على البنية العامة لمجموعة البيانات مع تجاهل الأبعاد الأقل إفادة. إنه عنصر أساسي في سير عمل التعلّم غير الخاضع للإشراف.
لتصور البنى المعقدة, t-SNE هي تقنية تقنية غير خطية شائعة. على عكس PCA، تتفوق تقنية t-SNE في الحفاظ على الأحياء المحلية، مما يجعلها مثالية ل لفصل المجموعات المتميزة في الفضاء عالي الأبعاد. لمزيد من التعمق، يمكن الاطلاع على مقالة Distill حول كيفية استخدام t-SNE بفعالية تقدم أدلة بصرية ممتازة.
الترميز التلقائي هو نوع من الشبكات العصبية المدربة على ضغط البيانات المدخلة في تمثيل الفضاء الكامن ثم إعادة بنائها. هذا النهج يتعلم التحويلات غير الخطية وهو أساسي للتعلم العميق الحديث (DL).
إن تقليل الأبعاد ليس مجرد أمر نظري؛ فهو يدعم العديد من التطبيقات العملية في مختلف الصناعات.
من المهم التمييز بين تقليل الأبعاد و واختيار الميزة.
يستخدم مقتطف Python التالي مكتبة Scikit-learn الشهيرة ل لتطبيق PCA على مجموعة بيانات. يوضّح هذا كيفية ضغط مجموعة بيانات ذات 5 ميزات إلى بُعدين ذوي معنى.
import numpy as np
from sklearn.decomposition import PCA
# 1. Create dummy data: 3 samples, 5 features each
X = np.array([[10, 20, 30, 40, 50], [15, 25, 35, 45, 55], [12, 22, 32, 42, 52]])
# 2. Initialize PCA to reduce dimensionality to 2 components
pca = PCA(n_components=2)
# 3. Fit and transform the data to lower dimensions
X_reduced = pca.fit_transform(X)
print(f"Original shape: {X.shape}") # Output: (3, 5)
print(f"Reduced shape: {X_reduced.shape}") # Output: (3, 2)