نظرية الرسوم البيانية للتعلم الآلي
العُقد، والحواف، ومصفوفة التجاور، وأنواع الرسوم البيانية، وميزات الرسوم البيانية، وتمثيلات الشبكات الاجتماعية
نظرية الرسوم البيانية للتعلم الآلي درس مجاني في Learn AI with Python على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn AI with Python، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn AI with Python 4 دروس في المجموع.
ما هو الرسم البياني
يمثّل الرسم البياني الكيانات والعلاقات التي تربط بينها. وبصورة رسمية، الرسم البياني هو G = (V, E)، حيث تكون V مجموعة الرؤوس (العُقد)، وتكون E مجموعة الحواف التي تصل بين أزواج العقد. والعديد من الأنظمة الواقعية هي رسوم بيانية بطبيعتها.
العقد والحواف
تمثّل كل عقدة كيانًا (مستخدمًا أو ذرة أو صفحة ويب). وتمثّل كل حافة علاقةً (صداقة أو رابطة كيميائية أو رابطًا تشعبيًا). يتعلّم تعلّم الآلة على الرسوم البيانية من هذه البنية الترابطية، لا من العينات المعزولة فحسب.
مصفوفة التجاور
ترمّز مصفوفة التجاور A العقد المتصلة. وبالنسبة إلى n من العقد، يكون حجم A هو n في n؛ وتساوي A[i][j] = 1 إذا كانت هناك حافة تصل بين العقدتين i وj، وإلا فتساوي 0.
import numpy as np
# Triangle: 0-1, 1-2, 0-2
A = np.array([
[0, 1, 1],
[1, 0, 1],
[1, 1, 0],
])سمات العقد X
إلى جانب البنية، تحمل كل عقدة عادةً متجه سمات. وعند تجميع هذه المتجهات، تشكّل مصفوفة السمات X ذات الشكل (num_nodes, num_features). ففي الرسم البياني الاجتماعي، قد يحتوي أحد الصفوف على عمر مستخدم، وعدد منشوراته، وعمر حسابه.
X = np.array([
[25, 120, 3.0], # node 0
[31, 45, 5.5], # node 1
[22, 300, 1.2], # node 2
])مصفوفة الدرجات
درجة العقدة هي عدد حوافها. وتكون مصفوفة الدرجات D قطرية، حيث يساوي كل عنصر على القطر درجة العقدة المعنية. وهي لبنة أساسية في لابلاسيان الرسم البياني.
D = np.diag(A.sum(axis=1))
# Each diagonal entry = number of neighborsلابلاسيان الرسم البياني
يُعرَّف لابلاسيان الرسم البياني بالعلاقة L = D - A. وهو يلتقط كيفية اختلاف القيم بين العقد المتصلة، ويُعدّ أساسيًا في نظرية الرسوم البيانية الطيفية وفي العديد من صيغ GNN.
L = D - A
print(L)أهمية لابلاسيان
تكشف القيم الذاتية والمتجهات الذاتية للابلاسيان البنية العامة للرسم البياني، مثل الاتصال والتكتلات والنعومة. وغالبًا ما تُشتق التفافات الرسوم البيانية من لابلاسيان، لذا فإن فهم L = D - A أساسي لفهم GNNs.
الموجّه وغير الموجّه
في الرسم البياني غير الموجّه، لا يكون للحافة اتجاه (مثل الصداقة)، ولذلك تكون A متناظرة. أما في الرسم البياني الموجّه، فتشير الحواف إلى اتجاه واحد (مثل المتابع أو الاستشهاد)، ولذلك قد تكون A غير متناظرة: يمكن أن تختلف A[i][j] عن A[j][i].
# Directed: 0 -> 1 but not 1 -> 0
A_dir = np.array([
[0, 1, 0],
[0, 0, 1],
[0, 0, 0],
])الرسوم البيانية الموزونة
يمكن أن تحمل الحواف أوزانًا تمثّل القوة أو المسافة. وعندئذ تكون عناصر التجاور أعدادًا حقيقية، لا مجرد 0 أو 1. فقد يوزن أحد شبكات الطرق الحواف بزمن السفر، بينما يوزن رسم بياني للتشابه بالتشابه الجيبي.
تمثيل الحواف بكفاءة
تهدر مصفوفة التجاور الذاكرة في الرسوم البيانية الكبيرة قليلة الكثافة، لأن معظم عناصرها تساوي صفرًا. لذلك تخزّن أطر عمل تعلّم الآلة الحواف بدلًا من ذلك في صورة قائمة حواف (تنسيق COO): مصفوفتان تحددان مصدر كل حافة وهدفها. ويطلق PyTorch Geometric على ذلك اسم edge_index.
# Triangle edges as edge_index [2, num_edges]
edge_index = [
[0, 0, 1], # sources
[1, 2, 2], # targets
]تطبيقات تعلّم الآلة على الرسوم البيانية
تظهر الرسوم البيانية في كل مكان:
- اجتماعية: التوصية بالأصدقاء، واكتشاف المجتمعات
- جزيئية: التنبؤ بخصائص الجزيئات (الذرات = عقد، والروابط = حواف)
- رسوم بيانية معرفية: التنبؤ بالروابط بين الكيانات والعلاقات
- الويب/الاستشهادات: الترتيب والتصنيف
اختبار سريع
اختبروا معرفتكم بنظرية الرسوم البيانية.
مراجعة
لقد تعلّمتم أساسيات نظرية الرسوم البيانية لتعلّم الآلة:
- الرسم البياني هو
G = (V, E)ويتكوّن من عقد وحواف - ترمّز مصفوفة التجاور A الاتصال، بينما تحمل X سمات العقد
- لابلاسيان الرسم البياني هو
L = D - A - قد تكون الرسوم البيانية موجّهة أو غير موجّهة، موزونة أو غير موزونة
- تشمل التطبيقات الرسوم البيانية الاجتماعية والجزيئية والمعرفية
الأسئلة الشائعة
هل درس «نظرية الرسوم البيانية للتعلم الآلي» مجاني؟
نعم — نص درس «نظرية الرسوم البيانية للتعلم الآلي» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn AI with Python، انتقل إلى CoddyKit PRO. تتضمن دورة Learn AI with Python 4 دروس في المجموع.
ماذا ستتعلم في «نظرية الرسوم البيانية للتعلم الآلي»؟
العُقد، والحواف، ومصفوفة التجاور، وأنواع الرسوم البيانية، وميزات الرسوم البيانية، وتمثيلات الشبكات الاجتماعية تتمرن على Learn AI with Python مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Learn AI with Python؟
لا تُشترط خبرة سابقة. Learn AI with Python على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «نظرية الرسوم البيانية للتعلم الآلي»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Learn AI with Python هذا؟
نعم. كل درس في Learn AI with Python يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- نظرية الرسوم البيانية للتعلم الآلي
- الشبكات الالتفافية للرسوم البيانية (GCN)
- تصنيف العُقد باستخدام GNN
- التنبؤ بالروابط وتصنيف الرسوم البيانية