مصفوفات المزايا وتمثيل البيانات
قبل أن تتمكن أي خوارزمية تعلم من العمل، يجب تشفير البيانات الخام كأعداد مرتبة في مصفوفة. هذه المصفوفة — التي تُسمى مصفوفة المزايا أو مصفوفة التصميم — هي الكائن الجبري الخطي الأساسي في التعلم بإشراف. لمجموعة بيانات من n عينة، تُوصف كل منها بـ p ميزة، تكون مصفوفة التصميم X مصفوفة n × p حيث الصف i هو متجه مزايا العينة i والعمود j هو الميزة j-ة عبر جميع العينات.
كل عمود من X يعيش في ℝⁿ ويمثل اتجاهاً في فضاء العينة n-الأبعاد؛ وكل صف يعيش في ℝᵖ ويمثل نقطة في فضاء المزايا p-الأبعاد. رتبة X — بُعد فضاء العمود — تحدد كمية المعلومات المستقلة التي تحملها المزايا. إذا كانت rank(X) = r < p، فإن r فقط من الاتجاهات المستقلة موجودة في فضاء المزايا؛ أما الـ p − r المتبقية فهي توليفات زائدة.
اختيار المزايا يرسم سقف ما يستطيع النموذج تعلّمه. النماذج الخطية لا تتعلم إلا حدودًا خطية في فضاء المزايا. ولتوسيع قدرتها التعبيرية أمامك طريقان: أن تبني مزايا غير خطية بيدك (حدود كثيرية مثل x₁² و x₁x₂ وما شابه)، أو أن تستعين بدالة نواة تنقل البيانات ضمنيًا إلى فضاء مزايا عالي الأبعاد. وهذه هي حيلة النواة الشهيرة: بدلًا من حساب مصفوفة مزايا بحجم n × ∞ صراحةً، احسب مصفوفة النواة K بحجم n × n حيث Kᵢⱼ = φ(xᵢ)ᵀφ(xⱼ)، وذلك عبر دالة نواة K(xᵢ, xⱼ) = φ(xᵢ)ᵀφ(xⱼ) تُشفّر ضمنيًا ضربًا نقطيًا في فضاء المزايا.
توحيد المزايا — بطرح المتوسط وقسمة الانحراف المعياري لكل عمود — عملية جبر خطي تُمركز المصفوفة وتُوحّد مقاييسها. تُحسّن هذه العملية بشكل ملحوظ من رقم تكييف XᵀX (تُقرّب قيمه الذاتية من بعضها) وهي ضرورية للتحسين القائم على التدرج. بدون التوحيد، يتذبذب نزول التدرج بشدة على امتداد اتجاهات المزايا عالية التباين بينما يتحرك ببطء شديد على امتداد الاتجاهات منخفضة التباين.
طرق تخفيض الأبعاد مثل تحليل المكونات الأساسية (PCA) تعمل مباشرة على مصفوفة المزايا. تحسب PCA تحليل SVD للمصفوفة X = UΣVᵀ ثم تُسقطها على أعلى r متجهات شاذة يمينية (أعمدة V): X_reduced = XV_r، حيث V_r هي مصفوفة أعلى r متجهات شاذة يمينية. المصفوفة المخفضة XV_r تعيش في فضاء جزئي r-الأبعاد يلتقط الحد الأقصى من تباين البيانات الأصلية. هذا تحويل جبري خطي بحت — لا تعلم، فقط هندسة.
الانحدار الخطي: الحل المغلق
الانحدار الخطي هو أبسط مسائل التعلم بإشراف: لمصفوفة التصميم X ∈ ℝⁿˣᵖ ومتجه الأهداف y ∈ ℝⁿ، ابحث عن الأوزان w ∈ ℝᵖ التي تُصغّر مجموع مربعات البواقي ‖Xw − y‖². هذا هدف تربيعي بحد أدنى عالمي وحيد (حين X ذات رتبة عمودية كاملة)، والجبر الخطي يعطينا حله المغلق الدقيق.
بمساواة التدرج بالصفر: ∇_w ‖Xw − y‖² = 2Xᵀ(Xw − y) = 0، يعطي ذلك المعادلات الطبيعية: XᵀXw = Xᵀy. حين X ذات رتبة عمودية كاملة، تكون XᵀX موجبة التعريف وللمعادلات الطبيعية حل وحيد:
رقم التكييف لـ XᵀX يساوي مربع رقم التكييف لـ X. إذا كانت X سيئة التكييف (بعض القيم الشاذة قريبة من الصفر)، تصبح XᵀX شبه شاذة عدديًا ويكون الانعكاس المباشر غير مستقر. الحل العملي هو استخدام تحليل QR لـ X (من الوحدة 7): بكتابة X = QR، نحصل على XᵀX = RᵀQᵀQR = RᵀR، فتصبح المعادلات الطبيعية Rᵀ(Rw) = Rᵀ(Qᵀy)، وهي تُختزل إلى النظام المثلثي العلوي Rw = Qᵀy — يُحل بثبات بالاستبدال التراجعي في O(p²) عملية.
حين X لا تملك رتبة عمودية كاملة (تعدد خطي)، تكون المعادلات الطبيعية شاذة ولا يوجد w* وحيد. الحل ذو الحد الأدنى للنورم يُعطى بشبه-المعكوس: w* = X⁺y = VΣ⁺Uᵀy، حيث يستبدل Σ⁺ كل قيمة شاذة غير صفرية σᵢ بـ 1/σᵢ ويترك الصفريات كما هي. هذا الحل يقع في فضاء صف X وله أصغر ‖w‖ بين كل المُصغِّرات.
انحدار ريدج والتنظيم
حين يكون النظام سيئ التكييف أو ناقص التحديد، تُعاقب إضافة حد التنظيم λ‖w‖² الأوزان الكبيرة، فينتج هدف انحدار ريدج (تنظيم تيخونوف): تصغير ‖Xw − y‖² + λ‖w‖². الحل المغلق هو w* = (XᵀX + λI)⁻¹Xᵀy. يُضيف حد التنظيم λI مقدار λ إلى كل قيمة ذاتية من XᵀX، مما يُبعد أصغر القيم الذاتية عن الصفر ويُحسّن رقم التكييف بشكل كبير. هذا يتبادل زيادة طفيفة في التحيز مقابل تخفيض كبير في التباين — مقايضة التحيز-التباين الكلاسيكية، معبَّرًا عنها بالكامل بالقيم الذاتية.
الانحدار اللوجستي: منظور التحسين
للتصنيف الثنائي، يُمثّل الانحدار اللوجستي P(y = 1 | x) = σ(wᵀx) حيث σ(z) = 1/(1 + e⁻ᶻ) دالة السيجمويد. يُعظّم التدريب اللوغاريتم الأرجح، وهو ما يعادل تصغير خسارة الإنتروبيا المتقاطعة:
تدرج الخسارة اللوجستية هو ∇L(w) = −Xᵀ(y − σ(Xw)) = Xᵀ(σ(Xw) − y) — تعبير متجهي-مصفوفي نظيف بشكل لافت. الهيسيان هو ∇²L(w) = XᵀDX حيث D = diag(σᵢ(1−σᵢ)) ∈ ℝⁿˣⁿ مصفوفة قطرية لأوزان انحناء كل عينة. هذا البناء للهيسيان يُمكّن طريقة نيوتن الفعّالة عبر المربعات الصغرى ذات الأوزان المتكررة (IRLS): كل خطوة نيوتن تحل مسألة مربعات صغرى موزونة (XᵀDX)δ = −∇L، وهي تمامًا بنية الانحدار الخطي ذو التنظيم مع أوزان عينات.
يتكرر IRLS على النحو التالي: (1) احسب σ̂ = σ(Xw_k)؛ (2) شكّل مصفوفة الأوزان القطرية D = diag(σ̂ ⊙ (1 − σ̂))؛ (3) حل المعادلات الطبيعية الموزونة (XᵀDX)δ = Xᵀ(y − σ̂)؛ (4) حدّث w_{k+1} = w_k + δ. كل تكرار مسألة جبر خطي — حل نظام موجب التعريف p × p. الهيسيان يتغير بين التكرارات (D تعتمد على w_k) لكنه يبقى موجب التعريف طوال الوقت، لذا يعمل تشولسكي بموثوقية. يتقارب IRLS تربيعيًا ويحتاج عادةً 5–10 تكرارات فقط بغض النظر عن حجم المسألة.
لكن حين يكبر n (ملايين العينات)، يكلّف تشكيل XᵀDX مقدار O(np²) ويصبح غير عملي. هنا نلجأ إلى نزول التدرج العشوائي (SGD) بالتدرج نفسه ∇L(w) = Xᵀ(σ(Xw) − y)، فنقيّمه على دفعة صغيرة (mini-batch) عشوائية من العينات. كل تقييم للتدرج يكلّف O(الدفعة × p) — أرخص بكثير من الهيسيان الكامل. والتطبيقات الحديثة في PyTorch وJAX تحسب هذا بالتفاضل التلقائي على التعبير المتجهي؛ والعملية الكامنة تحته تبقى دائمًا حاصل ضرب مصفوفة-متجه.
مصفوفات أوزان الشبكات العصبية
الشبكة العصبية المتصلة بالكامل هي حرفيًا سلسلة من عمليات ضرب المصفوفات متخللة بعدم خطيات عنصرية. لشبكة بـ L طبقة، تحسب التمريرة الأمامية:
في معالجة الدفعات، المدخل هو مصفوفة A^(0) ∈ ℝⁿˣᵈ₀ (n عينة، d₀ ميزة مدخلة) بدلًا من متجه واحد. تصبح حسابات الطبقة Z^(ℓ) = A^(ℓ-1) W_ℓᵀ + 1_n bᵀ_ℓ — حاصل ضرب مصفوفة-مصفوفة بشكل (n × d_{ℓ-1}) × (d_{ℓ-1} × d_ℓ) = n × d_ℓ. على وحدة المعالجة الرسومية (GPU)، عملية GEMM هذه (الضرب العام للمصفوفات) هي العملية الحسابية المهيمنة، وتُنفَّذ داخل نوى CUDA مُحسَّنة إلى أقصى حد. كامل التمريرة الأمامية لنموذج لغوي ضخم هي، في جوهرها، سلسلة من هذه العمليات الحسابية للمصفوفات.
الانتشار الخلفي كحساب مصفوفي
الانتشار الخلفي — الخوارزمية التي تحسب التدرجات في الشبكات العصبية — هو قاعدة السلسلة في حساب المصفوفات مطبَّقة طبقةً بطبقة. بالنظر إلى الخسارة L والتدرج العلوي δ^(ℓ) = ∂L/∂Z^(ℓ) (وهو مصفوفة بنفس شكل Z^(ℓ))، التدرجات المحلية هي:
- تدرج الأوزان: ∂L/∂W_ℓ = (δ^(ℓ))ᵀ A^(ℓ-1) — حاصل ضرب خارجي مجمَّع على الدفعة
- تدرج الانحياز: ∂L/∂b_ℓ = (δ^(ℓ))ᵀ 1_n — مجموع δ^(ℓ) على الدفعة
- التدرج المجرى: δ^(ℓ-1) = δ^(ℓ) W_ℓ ⊙ σ'(Z^(ℓ-1)) — ضرب مصفوفة ثم ضرب عنصري
كل هذه العمليات ضرب مصفوفات أو ضرب عنصري. وتدرج الخسارة بالنسبة إلى W_ℓ هو مصفوفة بنفس شكل W_ℓ؛ وإذا رصفتها مع قاعدة تحديث المعاملات w_{k+1} = w_k − η ∇_w L، حصلت على نزول التدرج في فضاء المعاملات المسطَّح. الأطر الحديثة (PyTorch، JAX) تؤتمت هذا عبر التفاضل التلقائي (autograd)، الذي يسجّل تسلسل عمليات المصفوفات في التمريرة الأمامية ويُفاضلها تلقائيًا بترتيب عكسي.
هندسة مصفوفات الأوزان والتهيئة
هندسة مصفوفات الأوزان مهمة للغاية لاستقرار التدريب. نظرًا لتحليل SVD لمصفوفة الأوزان W_ℓ = UΣVᵀ، تحدد القيم الشاذة σᵢ مقدار تضخيم أو تقليص كل "وضع" من التحويل للإشارات المارة عبره. إذا كانت σ_max ≫ 1، تنفجر التدرجات في التمريرة الخلفية (كل طبقة تضرب التدرج القادم من أعلى بما يصل إلى σ_max)؛ وإذا كانت σ_max ≪ 1، تتلاشى التدرجات (كل طبقة تقلّصه بمقدار σ_max). وحاصل ضرب القيم الشاذة عبر L طبقة قد يصبح هائلاً أو متناهي الصغر — وهذه هي مشكلة الانفجار/التلاشي في التدرج.
تعالج مخططات التهيئة الذكية هذا مباشرةً:
- تهيئة Xavier/Glorot: اسحب الأوزان من التوزيع المنتظم U[−√(6/(d_{in}+d_{out}))، √(6/(d_{in}+d_{out}))]، وهي مصمّمة لتحافظ على تباين التنشيطات والتدرجات عبر الطبقات ذات التنشيطات الخطية.
- تهيئة He: تُقاس لـ ReLU (حيث يُصفَّر نصف الوحدات). يُضرب بـ √(2/d_{in}).
- التهيئة المتعامدة: تسحب W من التوزيع المنتظم على المصفوفات المتعامدة (عبر QR لمصفوفة غاوسية عشوائية). المصفوفات المتعامدة لها جميع القيم الشاذة تساوي 1 بالضبط — تحافظ على النورم تمامًا، وهي الخيار الأمثل لمنع تلاشي التدرجات أو انفجارها عند التهيئة.
وتطبيع الدفعة (batch normalization) يعالج التكييف ضمنيًا عند كل طبقة، فيُعيد مركزة التنشيطات المسبقة ويُعيد قياسها: Z̃ = (Z − μ)/σ · γ + β، حيث μ وσ هما متوسط الدفعة وانحرافها المعياري. هذا يُبقي رقم التكييف الفعلي لمصفوفة أوزان كل طبقة قريبًا من 1 أثناء التدريب. أما تطبيع الطبقة، المستخدم في المحولات، فيُطبّع على امتداد بُعد المزايا بدلًا من بُعد الدفعة — نفس الجبر الخطي، محور مختلف.
آلية الانتباه: مجاميع موزونة بالمصفوفات
آلية الانتباه الذاتي في المحولات هي عملية جبر خطي تحسب توليفة موزونة من متجهات القيمة، حيث تعتمد الأوزان على التوافق بين الاستفسارات والمفاتيح. بالنظر إلى تسلسل من n رمزاً، يُمثَّل كل منها كمتجه d-الأبعاد، يكون حساب الانتباه:
الانتباه متعدد الرؤوس يُشغّل h رأس انتباه مستقلة على التوازي، لكل رأس إسقاطاته الخاصة W_Q وW_K وW_V ببُعد أصغر d_k = d/h، ثم يدمج المخرجات ويُطبّق إسقاطًا خطيًا أخيرًا. وهذا يكافئ عملية مصفوفية ذات بنية كتلية: الدمج رصف أفقي للمصفوفات، والإسقاط الأخير ضرب مصفوفات. و"نمط الانتباه" — مصفوفة softmax بحجم n × n — هو ما يحدد أي الرموز تؤثر في كل موضع من الخرج، وهو الآلية التي تعالج بها المحولات السياق.
تحليل المصفوفات في تعلم الآلة
كثير من مسائل تعلم الآلة تُختزل في إيجاد تحليل مصفوفة منخفض الرتبة. في الترشيح التعاوني لأنظمة التوصية، نلاحظ مصفوفة تقييمات متفرقة R ∈ ℝⁿˣᵐ (n مستخدم، m عنصر) ونبحث عن عوامل U ∈ ℝⁿˣᵏ و V ∈ ℝᵐˣᵏ بحيث R ≈ UVᵀ. كل صف من U هو تضمين k-الأبعاد للمستخدم وكل صف من V هو تضمين k-الأبعاد للعنصر. حاصل الضرب النقطي Uᵢ · Vⱼ يتنبأ بتقييم المستخدم i للعنصر j.
يُصغّر التدريب ‖R − UVᵀ‖²_F على الإدخالات الملحوظة — وهي مسألة غير محدبة بسبب الشكل الثنائي الخطي UVᵀ — مضافًا إليها حدود التنظيم λ_U‖U‖²_F + λ_V‖V‖²_F. والحل التربيعي المتناوب (ALS) يُثبّت أحد العاملين ويحل للآخر بصيغة مغلقة: مع تثبيت V، يكون كل تضمين مستخدم Uᵢ حلًا لمسألة انحدار ريدج صغيرة؛ ومع تثبيت U، يُحل كل تضمين عنصر Vⱼ بالطريقة نفسها. بهذا يُحوّل ALS المسألة المشتركة غير المحدبة إلى سلسلة من المسائل الفرعية المحدبة، كل منها تُحل عبر المعادلات الطبيعية.
في NumPy/PyTorch، كل هذه العمليات حسابات مصفوفية متجهة. numpy.linalg.lstsq تحل المعادلات الطبيعية عبر تحليل QR. sklearn.linear_model.Ridge تستخدم تشولسكي أو SVD بحسب n مقابل p. للشبكات العصبية، torch.nn.Linear هي ببساطة y = xWᵀ + b — ضرب مصفوفة. torch.nn.functional.scaled_dot_product_attention تُطبّق صيغة الانتباه بكفاءة عبر Flash Attention. لتحليل المصفوفات، sklearn.decomposition.NMF و implicit-als يُطبّقان ALS. فهم الجبر الخطي الكامن خلف هذه واجهات API يُمكّنك من تشخيص المشكلات العددية (سوء التكييف، نقص الرتبة) واختيار المحلل المناسب والتفكير في ما يفعله النموذج هندسيًا.
مصفوفة التصميم X ∈ ℝⁿˣᵖ تُشفّر n عينة كصفوف؛ فضاء عمودها ورتبتها ورقم تكييفها يحددون ما تستطيع النماذج الخطية تعلمه. الانحدار الخطي يُصغّر ‖Xw − y‖² بحل مغلق w* = (XᵀX)⁻¹Xᵀy — إسقاط y على col(X). انحدار ريدج يُضيف λ‖w‖²، ليستبدل XᵀX بـ XᵀX + λI لتحسين التكييف. الانحدار اللوجستي يُعظّم لوغاريتم أرجح محدب بهيسيان XᵀDX موجب شبه التعريف، مما يُتيح طريقة نيوتن عبر IRLS. التمريرة الأمامية للشبكة العصبية سلسلة من ضرب المصفوفات W_ℓ a^(ℓ-1) + b_ℓ متبوعة بعدم خطيات؛ والانتشار الخلفي هو قاعدة السلسلة في شكل مصفوفي. الانتباه في المحولات يحسب softmax(QKᵀ/√d)V — ضرب مصفوفة آخر. الجبر الخطي ليس مجرد أداة تعلم الآلة؛ بل هو النسيج الرياضي الذي يُنسج منه تعلم الآلة.