![]() |
الرياضيات في التعلم العميق
Mathematics for deep learning
الجزء الرابع (Part Four)
إعداد
المهندس حسن فنجان عداي
المقدمة:
بسم إلله الرحمن الرحيم
هذا الجزء من المقالة هو إمتداد لما بدأناه في موضوع الجبر الخطي, وسوف نتطرق في هذا الجزء إلى بعض المصطلحات المستخدمة في الجبر الخطي وما تدل عليه من معاني تستخدم كثيراً في العمليات التي تجرى على المصفوفات.
مصفوفة الوحدة (Identity Matrix)
هي مصفوفة مربعة تحتوي على (1) لكل عنصر في القطر الرئيسي و (0) لكل عنصر من العناصر الأخرى.
ومن خصائص هذه المصفوفة أنها إذا ضربت في مصفوفة أو متجه فلا تتغير قيمهما, أي يبقيان على حالتهما الأولى قبل عملية الضرب, أي أنَّ هذه المصفوفة يكون تأثيرها كتأثير العدد (1) في الرياضيات.
يرمز لهذه المصفوفات بالرمز (I), والصورة التالية تبين مثالين من هذه المصفوفة:
نستطيع توليد المصفوفات الأحادية وبأي حجم عن طريق الدالة (eye()) العائدة إلى المكتبة (Numpy), وكما موضح في الصورة التالية:
عندما نقوم بضرب المصفوفة الأحادية بأحد المتجهات وليكن (x) فإننا سوف نحصل على نفس المتجه بدون أي تغيير, وكما موضح أدناه:
مثال رقم (1):
سوف نقوم بإستخدام مكتبة (Numpy) لتنفيذ هذا المثال والذي هو عبارة عن ضرب مصفوفة أحادية (Identity array) مع متجه (Vector) وكما يلي:
حيث قمنا أولاً بإنشاء المتجه حيث إعتبرناه هنا كمصفوفة ذات صفوف ثلاثة وعمود واحد لأننا سوف نستخدمه في عملية ضرب مع مصفوفة ولكي تطبق عليهما قوانين ضرب المصفوفات المعروفة.
قمنا بعملية ضرب المتجه الذي أنشأناه في الخطوة السابقة مع مصفوفة أحادية ذات حجم (3 x 3), وكانت النتيجة هي الحصول على متجه جديد (y) مساوياً للمتجه الأصلي, وهذا دليل على أنَّ المتجه إذا يضرب في مصفوفة أحادية فإنه لايتغير.
مصفوفة العامل المساعد (Cofactor Matrix)
وهي مصفوفة تحتوي على عناصر تمثل العوامل المساعدة لمصفوفة مربعة معينة, والمصفوفة المربعة هي المصفوفة التي يتساوى فيها عدد الصفوف مع عدد الأعمدة.
مثال:
عندما يطلب منَّا إيجاد مصفوفة العوامل المساعدة (Cofactor Matrix) لمصفوفة ما ولتكن (A), فإننا نقوم بما يلي:
إنًّ هذه المصفوفة سوف تفيدنا كثيراً عندما نتطرق إلى موضوع معكوس المصفوفة (Inverse of a Matrix) وطرق الحصول عليه.
المحدد (Determinant)
المحدد هو رقم مفرد يتم الحصول عليه من المصفوفة المربعة ويعبر عن مجموعة خصائص لتلك المصفوفة.
في حالة المصفوفة المربعة الصغيرة (2 x 2) يمكن الحصول على المحدد الخاص بها بطريقة سهلة وكما موضح بالشكل التالي:
أما في حالة المصفوفة الأكبر حجماً كأن تكون ذات حجم (3 x 3) مثلاً فيمكن إستخراج المحدد بالطريقة المسماة التمدد بإستخدام العوامل المساعدة (Expansion by cofactors), وكما موضح في الشكل التالي:
إنَّ قيمة المحدد للمصفوفة ليس قيمة مطلقة بل من الممكن أن تكون قيمته سالبة.
معكوس المصفوفة (Matrix Inverse)
تعلمنا في الرياضيات بأنَّ العدد إذا ضربناه في مقلوبه فسوف يكون الناتج هو (1), فمثلاً إذا قمنا بضرب العدد (8) بمقلوبه وهو (1/ 8) فسوف يكون الناتج هو (1). إنَّ مقلوب العدد يسمى المعكوس (Inverse) لذلك العدد, ولكل مصفوفة في الجبر الخطي توجد لها مصفوفة معكوسة (Matrix Inverse), بحيث إننا لو ضربناهما معاً سوف نحصل على مصفوفة الوحدة (Identity matrix).
إنَّ المصفوفات الغير مربعة لاتوجد لها مصفوفات معكوسة, علماً بأنه ليست كل مصفوفة مربعة لها مصفوفة معكوسة, حيث إنَّ المصفوفة المربعة التي لها معكوس تسمى (invertible) أو (nonsingular), أما المصفوفة المربعة التي ليس لها معكوس تسمى (noninvertible) أو (singular).
إنَّ المصفوفة المربعة إذا ضربت في معكوستها فإنَّ حاصل الضرب ينتج مصفوفة الوحدة (Identity matrix) وكما موضح أدناه:
وللتوضيح نأخذ المثال التالي:
هناك ثلاث طرق لحساب معكوس المصفوفة وهي كما يلي:
1 – الطريقة المختصرة للمصفوفات ذات الأحجام (2 x 2):
حيث نقوم بتبديل موقعي عنصري القطر الرئيسي (a and d) وتغيير إشارتي عنصري القطر الثانوي.
علماً إنَّ (detA) يقصد به المحدد (Determinant) للمصفوفة (A) والذي تطرقنا إليه في الفقرة السابقة.
2 – طريقة المصفوفة المعززة (Augmented matrix method):
وهي عبارة عن إستخدام أسلوب (Gauss-Jordan elimination) لتحويل صيغة المصفوفة مع مصفوفة الوحدة (A|I) إلى صيغة مصفوفة الوحدة مع معكوس المصفوفة (I|A-1), حيث نقوم أولاً بوضع المصفوفة ونضع إلى يمينها مصفوفة الوحدة (Identity matrix), ثم نقوم بإستخدام أسلوب (Gauss-Jordan elimination) لتحويل مصفوفتنا إلى مصفوفة وحدة (Identity matrix) فتكون المصفوفة التي إلى يمينها هي معكوسة مصفوفتنا, وكما موضح في الشكل التالي:
3 – طريقة (Adjoint method):
تتلخص هذه الطريقة بأن نستخرج أولاً مصفوفة العوامل المساعدة (Cofactor matrix) لمصفوفتنا التي نرغب بإستخراج المعكوس (Inverse matrix) لها, ثم نقوم بتطبيق عملية التبديل (Transpose) على هذه المصفوفة, بعدها نقسم المصفوفة بعد التبديل على المحدد (Determinant) الخاص بالمصفوفة الأصلية, وكما موضح في الشكل التالي:
نقوم الآن بتطبيق موضوع معكوس المصفوفة من خلال أمثلة وبإستخدام الدالة (linalg.inv) العائدة لمكتبة (Numpy) وكما يلي:
نقوم أولاً بالإعلان عن مصفوفة ذات حجم (3 x 3):
نقوم بعدها بحساب معكوس المصفوفة وكما يلي:
وللتأكد من صحة هذه النتيجة نقوم بضربها في المصفوفة الأصلية لكي نحصل على مصفوفة الوحدة (Identity matrix), وكما يلي:
فنلاحظ بأننا قد حصلنا على نتيجة هي عبارة عن مصفوفة الوحدة (Identity matrix).
وبهذا نكون قد إنتهينا من الجزء الرابع من المقالة حيث قمنا بتوضيح بعض المفاهيم والمصطلحات التي تخص الجبر الخطي والتي سوف نستخدمها كثيراً في المستقبل, وقد تناولنا مصفوفة الوحدة (Identity matrix) وكذلك المحددات (Determinants) وأخيراً تناولنا موضوع معكوس المصفوفة (Inverse of matrix) مع الأمثلة بإستخدام مكتبة (Numpy).
المهندس حسن فنجان عداي
تعليقات
إرسال تعليق