التجميع الهرمي والشبكات العصبية في تحليل الصور - كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: تطبيقات التجميع في تحليل الصور

📚 معلومات الصفحة

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: تمارين وأسئلة

مستوى الصعوبة: متوسط

📝 ملخص الصفحة

تتناول هذه الصفحة موضوعين رئيسيين في تحليل الصور باستخدام تقنيات التجميع. في القسم الأول، يتم تقديم تمرين برمجي يتطلب إكمال مقطع كود لتنفيذ التجميع الهرمي باستخدام طريقة ward. يتضمن التمرين استيراد المكتبات اللازمة، تطبيع البيانات، وإنشاء رسم شجري لتصور نتائج التجميع على مصفوفة صور مسطحة.

في القسم الثاني، يُطلب من المتعلم وصف كيفية تطبيق التجميع باستخدام الشبكات العصبية في تحليل الصور. هذا الموضوع يتناول التقنيات المتقدمة التي تستخدم نماذج التعلم الآلي لاكتشاف الأنماط والمجموعات في البيانات المرئية.

يُعد هذا المحتوى جزءًا من وحدة تعليمية تركز على تطبيقات الذكاء الاصطناعي والتعلم الآلي في معالجة الصور، حيث يتم دمج الجانب النظري مع التطبيق العملي عبر التمارين البرمجية.

📋 المحتوى المنظم

📖 محتوى تعليمي مفصّل

4

نوع: QUESTION

لديك مصفوفة قيم موحدة X_flat تشمل صورًا مسطحة، وكل صف في المصفوفة يمثل صورة مسطحة مختلفة على هيئة متتالية من الأعداد الصحيحة تتراوح بين 0 و 255. أكمل المقطع البرمجي التالي، بحيث يستخدم طريقة (ward) لإنشاء وتصوير رسم شجري للصور في هذه المصفوفة: import scipy.cluster.hierarchy as hierarchy # visualizes and supports hierarchical clustering tasks import ____________________ as plt X_norm = ____________________ # normalizes the data plt.figure() # creates a new empty figure linkage_flat=hierarchy.linkage(____________________, method='____________________') hierarchy.____________________(linkage_flat) plt.show() # shows the figure

5

نوع: QUESTION

صف الطريقة التي يُطبّق بها التجميع بالشبكات العصبية في تحليل الصور.

نوع: METADATA

وزارة التعليم Ministry of Education 235 2023 - 1447

📄 النص الكامل للصفحة

--- SECTION: 4 --- لديك مصفوفة قيم موحدة X_flat تشمل صورًا مسطحة، وكل صف في المصفوفة يمثل صورة مسطحة مختلفة على هيئة متتالية من الأعداد الصحيحة تتراوح بين 0 و 255. أكمل المقطع البرمجي التالي، بحيث يستخدم طريقة (ward) لإنشاء وتصوير رسم شجري للصور في هذه المصفوفة: import scipy.cluster.hierarchy as hierarchy # visualizes and supports hierarchical clustering tasks import ____________________ as plt X_norm = ____________________ # normalizes the data plt.figure() # creates a new empty figure linkage_flat=hierarchy.linkage(____________________, method='____________________') hierarchy.____________________(linkage_flat) plt.show() # shows the figure--- SECTION: 5 --- صف الطريقة التي يُطبّق بها التجميع بالشبكات العصبية في تحليل الصور.2023 - 1447

✅ حلول أسئلة الكتاب الرسمية

عدد الأسئلة: 5

سؤال مربع-1: لديك مصفوفة قيم موحدة X_flat تشمل صورًا مسطحة، وكل صف في المصفوفة يمثل صورة مسطحة مختلفة على هيئة متتالية من الأعداد الصحيحة تتراوح بين 0 و 255. أكمل المقطع البرمجي التالي، بحيث يستخدم طريقة (ward) لإنشاء وتصوير رسم شجري للصور في هذه المصفوفة: import scipy.cluster.hierarchy as hierarchy # visualizes and supports hierarchical clustering tasks import ____________________ as plt X_norm = ____________________ # normalizes the data plt.figure() # creates a new empty figure linkage_flat=hierarchy.linkage(____________________, method='____________________') hierarchy.____________________(linkage_flat) plt.show() # shows the figure

الإجابة: matplotlib.pyplot

خطوات الحل:

  1. **الخطوة 1 (المفهوم):** نحتاج في البرمجة بلغة بايثون إلى استدعاء مكتبة متخصصة للرسم البياني وتصوير البيانات، وغالباً ما تُستخدم مكتبة شهيرة يتم اختصارها بـ `plt`.
  2. **الخطوة 2 (التطبيق):** بالنظر إلى السطر البرمجي `import ... as plt` واستخدام الدوال اللاحقة مثل `plt.figure()` و `plt.show()`، يتضح أننا نشير إلى المكتبة القياسية للرسم.
  3. **الخطوة 3 (النتيجة):** لذلك، المكتبة المطلوبة هي: **matplotlib.pyplot**

سؤال مربع-2: لديك مصفوفة قيم موحدة X_flat تشمل صورًا مسطحة، وكل صف في المصفوفة يمثل صورة مسطحة مختلفة على هيئة متتالية من الأعداد الصحيحة تتراوح بين 0 و 255. أكمل المقطع البرمجي التالي، بحيث يستخدم طريقة (ward) لإنشاء وتصوير رسم شجري للصور في هذه المصفوفة: import scipy.cluster.hierarchy as hierarchy # visualizes and supports hierarchical clustering tasks import ____________________ as plt X_norm = ____________________ # normalizes the data plt.figure() # creates a new empty figure linkage_flat=hierarchy.linkage(____________________, method='____________________') hierarchy.____________________(linkage_flat) plt.show() # shows the figure

الإجابة: X_flat / 255.0

خطوات الحل:

  1. **الخطوة 1 (المفهوم):** عملية "التطبيع" (Normalization) للبيانات تهدف إلى تحويل القيم من نطاقها الأصلي إلى نطاق يتراوح بين 0 و 1 لتسهيل المعالجة الحسابية.
  2. **الخطوة 2 (التطبيق):** بما أن قيم الصور في المصفوفة `X_flat` تتراوح بين 0 و 255، فإننا نقوم بقسمة جميع القيم على القيمة القصوى (255).
  3. **الخطوة 3 (النتيجة):** إذن العملية الحسابية هي: **X_flat / 255.0**

سؤال مربع-3: لديك مصفوفة قيم موحدة X_flat تشمل صورًا مسطحة، وكل صف في المصفوفة يمثل صورة مسطحة مختلفة على هيئة متتالية من الأعداد الصحيحة تتراوح بين 0 و 255. أكمل المقطع البرمجي التالي، بحيث يستخدم طريقة (ward) لإنشاء وتصوير رسم شجري للصور في هذه المصفوفة: import scipy.cluster.hierarchy as hierarchy # visualizes and supports hierarchical clustering tasks import ____________________ as plt X_norm = ____________________ # normalizes the data plt.figure() # creates a new empty figure linkage_flat=hierarchy.linkage(____________________, method='____________________') hierarchy.____________________(linkage_flat) plt.show() # shows the figure

الإجابة: X_norm

خطوات الحل:

  1. **الخطوة 1 (المفهوم):** دالة الربط `hierarchy.linkage` تحتاج إلى مدخلات البيانات التي سيتم تجميعها (Clustering).
  2. **الخطوة 2 (التطبيق):** من المنطقي استخدام البيانات التي قمنا بتجهيزها وتطبيعها في الخطوة السابقة بدلاً من البيانات الخام.
  3. **الخطوة 3 (النتيجة):** لذلك نضع في الفراغ الأول للدالة: **X_norm**

سؤال مربع-4: لديك مصفوفة قيم موحدة X_flat تشمل صورًا مسطحة، وكل صف في المصفوفة يمثل صورة مسطحة مختلفة على هيئة متتالية من الأعداد الصحيحة تتراوح بين 0 و 255. أكمل المقطع البرمجي التالي، بحيث يستخدم طريقة (ward) لإنشاء وتصوير رسم شجري للصور في هذه المصفوفة: import scipy.cluster.hierarchy as hierarchy # visualizes and supports hierarchical clustering tasks import ____________________ as plt X_norm = ____________________ # normalizes the data plt.figure() # creates a new empty figure linkage_flat=hierarchy.linkage(____________________, method='____________________') hierarchy.____________________(linkage_flat) plt.show() # shows the figure

الإجابة: ward

خطوات الحل:

  1. **الخطوة 1 (المفهوم):** تتطلب دالة الربط تحديد الخوارزمية أو الطريقة (method) المستخدمة لحساب المسافات بين المجموعات.
  2. **الخطوة 2 (التطبيق):** بالعودة لنص السؤال، نجد أنه حدد بوضوح ضرورة استخدام طريقة معينة تسمى (ward).
  3. **الخطوة 3 (النتيجة):** إذن القيمة المطلوبة للمعامل method هي: **ward**

سؤال مربع-5: لديك مصفوفة قيم موحدة X_flat تشمل صورًا مسطحة، وكل صف في المصفوفة يمثل صورة مسطحة مختلفة على هيئة متتالية من الأعداد الصحيحة تتراوح بين 0 و 255. أكمل المقطع البرمجي التالي، بحيث يستخدم طريقة (ward) لإنشاء وتصوير رسم شجري للصور في هذه المصفوفة: import scipy.cluster.hierarchy as hierarchy # visualizes and supports hierarchical clustering tasks import ____________________ as plt X_norm = ____________________ # normalizes the data plt.figure() # creates a new empty figure linkage_flat=hierarchy.linkage(____________________, method='____________________') hierarchy.____________________(linkage_flat) plt.show() # shows the figure

الإجابة: dendrogram

خطوات الحل:

  1. **الخطوة 1 (المفهوم):** بعد حساب مصفوفة الربط (linkage matrix)، نحتاج إلى دالة تقوم برسم المخطط الشجري الذي يعبر عن التسلسل الهرمي.
  2. **الخطوة 2 (التطبيق):** في مكتبة `scipy.cluster.hierarchy` تُسمى الدالة المسؤولة عن إنشاء هذا الرسم التوضيحي بـ "Dendrogram".
  3. **الخطوة 3 (النتيجة):** لذلك، الدالة الصحيحة هي: **dendrogram**

📝 أسئلة اختبارية

عدد الأسئلة: 6

سؤال 4: لديك مصفوفة قيم موحدة X_flat تشمل صورًا مسطحة، وكل صف في المصفوفة يمثل صورة مسطحة مختلفة على هيئة متتالية من الأعداد الصحيحة تتراوح بين 0 و 255. أكمل المقطع البرمجي التالي، بحيث يستخدم طريقة (ward) لإنشاء وتصوير رسم شجري للصور في هذه المصفوفة:

الإجابة الصحيحة: انظر الأسئلة الفرعية

الشرح: هذا سؤال رئيسي يحتوي على أسئلة فرعية تتعلق بإكمال المقطع البرمجي

تلميح: راجع الأسئلة الفرعية أدناه لإكمال الأجزاء الناقصة في الكود

سؤال 5: صف الطريقة التي يُطبّق بها التجميع بالشبكات العصبية في تحليل الصور.

  • أ) يتم استخدام الشبكات العصبية لاستخراج الميزات من الصور ثم تطبيق خوارزميات التجميع مثل k-means على هذه الميزات.
  • ب) يتم تدريب الشبكات العصبية مباشرة على تجميع الصور دون استخراج ميزات.
  • ج) يتم تحويل الصور إلى بيانات رقمية ثم تطبيق الشبكات العصبية للتصنيف فقط.
  • د) يتم استخدام الشبكات العصبية لتحسين جودة الصور قبل التجميع التقليدي.

الإجابة الصحيحة: يتم تطبيق التجميع بالشبكات العصبية باستخدام نماذج مثل الشبكات العصبية التلافيفية (CNNs) لاستخراج الميزات من الصور، ثم استخدام خوارزميات التجميع مثل k-means على هذه الميزات لتجميع الصور المتشابهة بناءً على خصائصها المرئية.

الشرح: تستخدم الشبكات العصبية لتعلم تمثيلات عالية المستوى من الصور، ثم تطبق خوارزميات التجميع على هذه التمثيلات لتحديد المجموعات.

تلميح: فكر في كيفية استخراج الميزات من الصور باستخدام الشبكات العصبية ثم تطبيق التجميع.

سؤال 4: import ____________________ as plt

  • أ) matplotlib.pyplot
  • ب) numpy
  • ج) pandas
  • د) seaborn

الإجابة الصحيحة: matplotlib.pyplot

الشرح: يتم استيراد matplotlib.pyplot للرسم البياني وعرض الأشكال

تلميح: ما هي المكتبة المستخدمة للرسم البياني في بايثون؟

سؤال 4: X_norm = ____________________ # normalizes the data

  • أ) normalize(X_flat)
  • ب) scale(X_flat)
  • ج) StandardScaler().fit_transform(X_flat)
  • د) MinMaxScaler().fit_transform(X_flat)

الإجابة الصحيحة: normalize(X_flat)

الشرح: يتم استخدام دالة normalize لتوحيد البيانات في X_flat

تلميح: ما هي الدالة المستخدمة لتوحيد البيانات في scikit-learn؟

سؤال 4: linkage_flat=hierarchy.linkage(____________________, method='____________________')

  • أ) X_norm, ward
  • ب) X_flat, single
  • ج) X_norm, complete
  • د) X_flat, average

الإجابة الصحيحة: X_norm, ward

الشرح: يتم استخدام X_norm كبيانات الإدخال وطريقة 'ward' للتجميع الهرمي

تلميح: ما هي البيانات والطريقة المطلوبة لإنشاء الرابط؟

سؤال 4: hierarchy.____________________(linkage_flat)

  • أ) dendrogram
  • ب) plot
  • ج) tree
  • د) cluster

الإجابة الصحيحة: dendrogram

الشرح: يتم استخدام دالة dendrogram لرسم الشجرة الهرمية

تلميح: ما هي الدالة المستخدمة لرسم الرسم الشجري؟

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 5 بطاقة لهذه الصفحة

ما هي المكتبة المستخدمة في Python لإنشاء وتصوير الرسم الشجري للتجميع الهرمي؟

الإجابة: المكتبة المستخدمة هي `matplotlib.pyplot` والتي يتم استيرادها اختصاراً بالاسم `plt`.

الشرح: في سياق التصوير البياني، تُعد مكتبة `matplotlib.pyplot` هي المكتبة القياسية في Python لرسم الأشكال البيانية، بما في ذلك الرسم الشجري الناتج عن التجميع الهرمي.

تلميح: ابحث عن الاستيراد الذي يبدأ بـ `import ... as plt` في الكود.

ما هي الخطوة الأولى المطلوبة لتهيئة البيانات قبل تطبيق التجميع الهرمي باستخدام طريقة Ward؟

الإجابة: الخطوة الأولى هي تطبيع البيانات باستخدام `X_norm = ...`.

الشرح: تطبيع البيانات (Normalization) هو عملية مهمة لضمان أن جميع المتغيرات لها نفس النطاق أو المتوسط والانحراف المعياري. هذا يجعل خوارزميات التجميع، مثل طريقة Ward، تعمل بشكل أكثر فعالية ودقة.

تلميح: المصفوفة `X_flat` تحتوي على قيم قد تختلف في نطاقها. ما هي العملية التي تجعل هذه القيم قابلة للمقارنة بشكل أفضل؟

ما هي الوسيطة التي يجب تمريرها إلى الدالة `hierarchy.linkage` لتحديد أننا نريد استخدام طريقة Ward للتجميع الهرمي؟

الإجابة: الوسيطة هي `method='ward'`.

الشرح: تُعد طريقة Ward (Ward's method) إحدى استراتيجيات التجميع الهرمي التي تهدف إلى تقليل التباين داخل كل مجموعة (cluster) عند دمج التكتلات. يتم تحديدها بشكل صريح كـ `method='ward'`.

تلميح: تركز هذه الطريقة على تقليل التباين داخل كل تكتل. ابحث عن الكلمة المفتاحية التي تصف هذه الطريقة في استدعاء الدالة.

ما هي الدالة المستخدمة لتصوير الرسم الشجري للتجميع الهرمي بعد حساب مصفوفة الارتباط؟

الإجابة: الدالة المستخدمة هي `hierarchy.dendrogram(linkage_flat)`.

الشرح: الدالة `hierarchy.dendrogram` تأخذ نتيجة التجميع الهرمي (مصفوفة الارتباط `linkage_flat`) كمدخل وتُنشئ تمثيلاً بيانياً على شكل شجرة (dendrogram) يوضح كيفية تجميع النقاط مع بعضها البعض في مستويات مختلفة.

تلميح: بعد إنشاء 'الروابط' (linkage) بين نقاط البيانات، نحتاج إلى دالة لتجسيد هذه الروابط بصرياً على شكل شجرة. أي دالة في وحدة `hierarchy` تقوم بهذا؟

صف باختصار كيف تُطبّق الشبكات العصبية في تحليل الصور مع التركيز على التجميع.

الإجابة: تُستخدم الشبكات العصبية الالتفافية (CNNs) لاستخلاص الميزات الهرمية من الصور، ثم تُستخدم هذه الميزات كمدخل لخوارزميات التجميع (مثل التجميع الهرمي أو K-Means) لتجميع الصور المتشابهة بناءً على محتواها.

الشرح: تبدأ العملية عادةً بتدريب شبكة عصبية التفافية (CNN) على مجموعة بيانات صور. تقوم هذه الشبكة باستخلاص ميزات ذات مستويات تجريد مختلفة من الصور (مثل الحواف، الأشكال، والأنسجة). يتم بعد ذلك استخدام تمثيلات الصور المستخرجة (الميزات) لتطبيق تقنيات التجميع، مما يتيح تجميع الصور المتشابهة بناءً على الأنماط التي تعلمتها الشبكة العصبية.

تلميح: ما هي نوع الشبكات العصبية الأكثر شيوعًا لمعالجة الصور، وما هي النتيجة التي تستخرجها لتكون جاهزة للتجميع؟