الوحدة 1 — المتّجهات والمصفوفات: لغة البيانات
قبل أيّ صيغة، فكرة واحدة: في تعلّم الآلة، البيانات أرقامٌ مرتّبة. يرتّب المتّجه خصائص ملاحظة واحدة، وتكدّس المصفوفة كلّ الملاحظات. فهمُ هذا الترتيب هو أصلاً قراءةُ نصف ما يفعله النموذج.
المتّجه: ملاحظة واحدة، قائمة أرقام
المتّجه قائمة مرتّبة من الأرقام. في التعلّم، يصف ملاحظة واحدة بخصائصها:
يصير هذا المسكن النقطةَ في فضاء ثلاثيّ الأبعاد. كلّ خاصّة محورٌ، والملاحظة نقطة. ومع 50 خاصّة لا يعود الفضاء قابلاً للرسم، لكنّ الجبر يظلّ يعمل بالطريقة نفسها تماماً — وهنا كامل قوّته.
import numpy as np
maison = np.array([72, 3, 15]) # متّجه بثلاث مركّبات
maison.shape # (3,) — ثلاث خصائص
المصفوفة: مجموعة البيانات كاملة
كدّس عدّة ملاحظات فتحصل على مصفوفة: صفٌّ لكلّ ملاحظة، عمودٌ لكلّ خاصّة.
هذا بالضبط شكل DataFrame في pandas أو ملفّ CSV. والاصطلاح كونيّ في علم البيانات: X بالشكل (عدد_الملاحظات, عدد_الخصائص). حفظُه يمنع أشيع أخطاء المبتدئ — الخلط بين الصفوف والأعمدة.
X = np.array([[72, 3, 15],
[90, 4, 8],
[45, 2, 30]])
X.shape # (3, 3) — ثلاثة مساكن، ثلاث خصائص
X[0] # المسكن الأول (الصفّ الأول)
X[:, 0] # عمود المساحات (كلّ الملاحظات)
قراءة الأبعاد: المنعكس الذي يمنع الأخطاء
جلّ أخطاء الجبر الخطّي التطبيقي ينبع من عدم توافق الأبعاد. اجعل عادتك أن تعلن شكل كلّ كائن:
| الكائن | الشكل | المعنى |
|---|---|---|
| متّجه ملاحظة | (d,) | d خصائص |
مجموعة البيانات X | (n, d) | n ملاحظة، d خاصّة |
متّجه الهدف y | (n,) | قيمة واحدة تُتنبّأ لكلّ ملاحظة |
| أوزان نموذج خطّي | (d,) | وزن واحد لكلّ خاصّة |
حين تفشل عملية، السؤال الأول دائماً: «هل الأشكال متوافقة؟» هذا المنعكس يحلّ معظم رسائل الخطأ قبل قراءة أثرها.
عمليات أساسية: الجمع والضرب بعدد
متّجهان بالحجم نفسه يُجمَعان مركّبةً مركّبةً؛ والضرب بعدد يمدّد المتّجه أو يقلّصه:
a = np.array([72, 3, 15])
b = np.array([10, 1, 5])
a + b # array([82, 4, 20]) — جمع مركّبةً مركّبةً
2 * a # array([144, 6, 30]) — تحجيم
هاتان العمليتان، مع بساطتهما الظاهرة، أساس كلّ شيء: فالنموذج الخطّي ليس إلا تركيباً من المتّجهات (تحجيمٌ ثمّ جمع)، وتطبيع البيانات ضربٌ بعددٍ يُطبَّق عموداً عموداً.
كان يمكن جمع قائمتين بحلقة بايثو ن. لكن ما إن تكبر البيانات، تُتيح كتابة العملية بلغة المتّجهات لـNumPy تفويضَها إلى شيفرة محسّنة — وهي المتّجهية من دورة بايثون. لغة المصفوفات ليست ترميزاً أنيقاً فحسب: إنها ما يجعل الحساب سريعاً بما يكفي ليكون قابلاً للاستعمال.
الخلاصة
- المتّجه يصف ملاحظة واحدة بخصائصها؛ وهو نقطة في فضاء بـ
dبُعد. - المصفوفة
Xبالشكل(n, d)تكدّسnملاحظة صفوفاً وdخاصّة أعمدة — شكل ملفّ CSV. - قراءة الأبعاد وإعلانها المنعكسُ الذي يمنع معظم أخطاء الجبر الخطّي.
- الجمع مركّبةً مركّبةً والضرب بعدد لبنتا كلّ نموذج خطّي وكلّ تطبيع.
الوحدة التالية: الجداء المصفوفي، العملية التي تحوّل البيانات فعلاً وتشغّل كلّ طبقة في الشبكة.