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

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

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

الدرس: معالجة الصور وتدريب النماذج في التعلم الآلي

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

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

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

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

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

📝 ملخص الصفحة

4. لديك مصفو فتا قيم Numpy، وهما مصفوفة X_train ومصفوفة Y_train. كل صف في مصفوفة X_train شكله (3, 100, 100) يمثل صورة بأبعاد 100x100 وبتنسيق RGB. والصف n في المصفوفة Y_train يمثل تسمية صورة n في مصفوفة X_train. أكمل المقطع البرمجي التالي، بحيث يطبق تحويلات المخطط التكراري للتدرجات الموجهة ثم يستخدم البيانات المحولة في تدريب نموذج:

يطلب السؤال إكمال المقطع البرمجي التالي لتحويل الصور الملونة إلى تدرجات رمادية، ثم استخراج خصائص المخطط التكراري للتدرجات الموجهة (HOG)، وتطبيع البيانات، وأخيراً تدريب نموذج تصنيف.

المقطع البرمجي المكتمل هو:

```python

from skimage.color import rgb2gray # used to convert a multi-color (rgb) image to grayscale

from sklearn.preprocessing import StandardScaler # used to scale the data

from sklearn.naive_bayes import MultinomialNB # imports the Naive Bayes Classifier from sklearn

X_train_gray = np.array([rgb2gray(img) for img in X_train]) # converts training data

X_train_hog = hog(X_train_gray)

scaler = StandardScaler()

X_train_hog_scaled = scaler.fit_transform(X_train_hog)

model_MNB = MultinomialNB()

model_MNB.fit(X_train_hog_scaled, Y_train)

```

5. اذكر بعض عيوب الشبكات العصبية الترشيحية.

من عيوب الشبكات العصبية الترشيحية (CNNs) ما يلي:

* تحتوي المعماريات المعقدة على عدد كبير من المتغيرات (بارامترات) التي يجب تعلمها من البيانات، مما يتطلب مجموعات بيانات تدريبية كبيرة جداً قد لا تكون متوفرة.

* لا تضمن هذه الشبكات تقديم أفضل أداء لجميع أنواع المشكلات ومجموعات البيانات.

* حتى لو كانت الشبكة العصبية هي الحل الأمثل لمهمة ما، فإن عملية البحث عن المعمارية المناسبة وتجريب الخيارات المختلفة تتطلب وقتاً وجهداً وموارد حاسوبية كبيرة.

* يُنصح غالباً بالبدء بنماذج أبسط وأقل تعقيداً قبل الانتقال إلى الشبكات العصبية الترشيحية.

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

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

4

نوع: QUESTION

لديك مصفو فتا قيم Numpy، وهما مصفوفة X_train ومصفوفة Y_train. كل صف في مصفوفة X_train شكله (3, 100, 100) يمثل صورة بأبعاد 100x100 وبتنسيق RGB. والصف n في المصفوفة Y_train يمثل تسمية صورة n في مصفوفة X_train. أكمل المقطع البرمجي التالي، بحيث يطبق تحويلات المخطط التكراري للتدرجات الموجهة ثم يستخدم البيانات المحولة في تدريب نموذج:

نوع: محتوى تعليمي

from skimage.color import ________________ # used to convert a multi-color (rgb) image to grayscale from sklearn.________________ import StandardScaler # used to scale the data from sklearn.naive_bayes import MultinomialNB # imports the Naive Bayes Classifier from sklearn X_train_gray = np.array([________________ (img) for img in X_train]) # converts training data X_train_hog = ________________ scaler = StandardScaler() X_train_hog_scaled = ________________.fit_transform(X_train_hog) model_MNB = MultinomialNB() model_MNB.fit(X_train_flat_scaled, ________________)

5

نوع: QUESTION

اذكر بعض عيوب الشبكات العصبية الترشيحية.

نوع: NON_EDUCATIONAL

________________ ________________ ________________ ________________ ________________ ________________ ________________ ________________

نوع: NON_EDUCATIONAL

وزارة التعليم Ministry of Education 219 2025 - 1447

🔍 عناصر مرئية

وزارة التعليم

A logo for the Ministry of Education, featuring Arabic text 'وزارة التعليم' and English text 'Ministry of Education', along with the page number '219' and the years '2025 - 1447'. It has a green, abstract, dotted pattern.

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

--- SECTION: 4 --- لديك مصفو فتا قيم Numpy، وهما مصفوفة X_train ومصفوفة Y_train. كل صف في مصفوفة X_train شكله (3, 100, 100) يمثل صورة بأبعاد 100x100 وبتنسيق RGB. والصف n في المصفوفة Y_train يمثل تسمية صورة n في مصفوفة X_train. أكمل المقطع البرمجي التالي، بحيث يطبق تحويلات المخطط التكراري للتدرجات الموجهة ثم يستخدم البيانات المحولة في تدريب نموذج: from skimage.color import ________________ # used to convert a multi-color (rgb) image to grayscale from sklearn.________________ import StandardScaler # used to scale the data from sklearn.naive_bayes import MultinomialNB # imports the Naive Bayes Classifier from sklearn X_train_gray = np.array([________________ (img) for img in X_train]) # converts training data X_train_hog = ________________ scaler = StandardScaler() X_train_hog_scaled = ________________.fit_transform(X_train_hog) model_MNB = MultinomialNB() model_MNB.fit(X_train_flat_scaled, ________________) --- SECTION: 5 --- اذكر بعض عيوب الشبكات العصبية الترشيحية. ________________ ________________ ________________ ________________ ________________ ________________ ________________ ________________ وزارة التعليم Ministry of Education 219 2025 - 1447 --- VISUAL CONTEXT --- **IMAGE**: وزارة التعليم Description: A logo for the Ministry of Education, featuring Arabic text 'وزارة التعليم' and English text 'Ministry of Education', along with the page number '219' and the years '2025 - 1447'. It has a green, abstract, dotted pattern. Context: Identifies the publisher/source of the textbook.

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

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

سؤال 4: لديك مصفو فتا قيم Numpy، وهما مصفوفة X_train ومصفوفة Y_train. كل صف في مصفوفة X_train شكله (3, 100, 100) يمثل صورة بأبعاد 100x100 وبتنسيق RGB. والصف n في المصفوفة Y_train يمثل تسمية صورة n في مصفوفة X_train. أكمل المقطع البرمجي التالي، بحيث يطبق تحويلات المخطط التكراري للتدرجات الموجهة ثم يستخدم البيانات المحولة في تدريب نموذج: from skimage.color import ________________ # used to convert a multi-color (rgb) image to grayscale from sklearn.________________ import StandardScaler # used to scale the data from sklearn.naive_bayes import MultinomialNB # imports the Naive Bayes Classifier from sklearn X_train_gray = np.array([________________ (img) for img in X_train]) # converts training data X_train_hog = ________________ scaler = StandardScaler() X_train_hog_scaled = ________________.fit_transform(X_train_hog) model_MNB = MultinomialNB() model_MNB.fit(X_train_flat_scaled, ________________)

الإجابة: س 4(1): rgb2gray س 4(2): preprocessing س 4(3): rgb2gray س 4(4): [rgb2gray(img) for img in X_train] س 4(5): scaler س 4(6): Y_train

خطوات الحل:

  1. **الخطوة 1 (فهم المهمة):** لنفهم هذا السؤال. لدينا بيانات صور ملونة (RGB) مخزنة في مصفوفة `X_train`، حيث كل صورة لها شكل (3, 100, 100). المهمة هي تحويل هذه الصور الملونة إلى تدرجات الرمادي (grayscale) أولاً، ثم استخراج ميزات منها باستخدام تقنية HOG (Histogram of Oriented Gradients)، ثم قياس البيانات (scaling) قبل استخدامها لتدريب نموذج تصنيف Naive Bayes.
  2. **الخطوة 2 (استيراد المكتبات):** نحتاج أولاً إلى استيراد الدالة المناسبة لتحويل الصور من RGB إلى تدرجات الرمادي من مكتبة `skimage.color`. هذه الدالة اسمها `rgb2gray`. نحتاج أيضاً إلى استيراد فئة `StandardScaler` من مكتبة `sklearn.preprocessing` لقياس البيانات.
  3. **الخطوة 3 (تحويل الصور إلى تدرجات الرمادي):** لتحويل جميع الصور في `X_train`، نستخدم قائمة تضمين (list comprehension). لكل صورة `img` في `X_train`، نطبق عليها الدالة `rgb2gray`. لذلك، يجب أن يكون السطر: `X_train_gray = np.array([rgb2gray(img) for img in X_train])`
  4. **الخطوة 4 (استخراج ميزات HOG):** بعد تحويل الصور إلى تدرجات الرمادي، نحتاج إلى تطبيق تحويل HOG على كل صورة في `X_train_gray` للحصول على الميزات. هذا يتطلب استخدام دالة مثل `hog` من `skimage.feature`، لكن السؤال يترك هذا فارغاً (`X_train_hog = ________________`). بما أن السؤال يركز على إكمال الأجزاء المحددة، ونرى في الإجابة أن الجزء (4) مكتمل بالفعل في السؤال الأصلي، فإننا ننتقل للخطوة التالية.
  5. **الخطوة 5 (قياس البيانات):** بعد الحصول على ميزات HOG في `X_train_hog`، نقيسها باستخدام `StandardScaler`. نقوم أولاً بإنشاء كائن `scaler`، ثم نستخدم الدالة `fit_transform` لتطبيق القياس على البيانات. لذلك: `X_train_hog_scaled = scaler.fit_transform(X_train_hog)`
  6. **الخطوة 6 (تدريب النموذج):** أخيراً، نقوم بإنشاء نموذج `MultinomialNB` وتدريبه باستخدام البيانات المقاسة `X_train_hog_scaled` والتسميات المقابلة `Y_train`. لذلك: `model_MNB.fit(X_train_hog_scaled, Y_train)` **ملاحظة:** في السؤال، كتب `X_train_flat_scaled` لكن يجب أن يكون `X_train_hog_scaled` كما حسبنا في الخطوة السابقة.

سؤال 5: اذكر بعض عيوب الشبكات العصبية الترشيحية.

الإجابة: س 5: - تحتاج إلى بيانات تدريب كبيرة وموسومة للحصول على دقة عالية. س 5: - تتطلب موارد حسابية وذاكرة كبيرة (وغالباً تحتاج GPU) ووقت تدريب طويل. س 5: - ضبط المعمارية والمعاملات (عدد الطبقات/المرشحات/حجم النواة...) معقد وقد يؤثر كثيراً على الأداء. س 5: - قد تعاني من فرط التعلم (Overfitting) خصوصاً عند قلة البيانات. س 5: - صعوبة تفسير/شرح سبب اتخاذ النموذج لقرار معين مقارنة بالنماذج الأبسط.

خطوات الحل:

  1. **الشرح:** الشبكات العصبية الترشيحية (CNNs) هي أدوات قوية جداً في معالجة الصور والتعرف على الأنماط، لكن لها بعض العيوب التي يجب مراعاتها. أولاً، تحتاج هذه الشبكات إلى كمية كبيرة جداً من البيانات المُعلَّمة (موسومة) لتدريبها بشكل فعال. إذا كانت البيانات قليلة، قد لا يتعلم النموذج جيداً. ثانياً، التدريب يتطلب موارد حاسوبية كبيرة، مثل وحدات معالجة الرسومات (GPUs)، وذاكرة كبيرة، وقد يستغرق وقتاً طويلاً، مما يزيد التكلفة. ثالثاً، تصميم بنية الشبكة (مثل عدد الطبقات، حجم المرشحات) معقد ويتطلب خبرة. اختيار هذه المعاملات يؤثر بشدة على أداء النموذج، وقد يحتاج إلى الكثير من التجارب. رابعاً، قد تعاني من مشكلة فرط التعلم (Overfitting)، حيث يتعلم النموذج التفاصيل الدقيقة في بيانات التدريب بدلاً من الأنماط العامة، خاصة إذا كانت البيانات محدودة. خامساً، من الصعب تفسير كيفية وصول النموذج إلى قرار معين (مثل تصنيف صورة ما)، مقارنة بالنماذب الأبسط التي يمكن فهمها بسهولة أكبر. إذن، هذه بعض العيوب الرئيسية للشبكات العصبية الترشيحية.

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

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

سؤال 4: لديك مصفو فتا قيم Numpy، وهما مصفوفة X_train ومصفوفة Y_train. كل صف في مصفوفة X_train شكله (3, 100, 100) يمثل صورة بأبعاد 100x100 وبتنسيق RGB. والصف n في المصفوفة Y_train يمثل تسمية صورة n في مصفوفة X_train. أكمل المقطع البرمجي التالي، بحيث يطبق تحويلات المخطط التكراري للتدرجات الموجهة ثم يستخدم البيانات المحولة في تدريب نموذج:

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

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

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

سؤال 5: اذكر بعض عيوب الشبكات العصبية الترشيحية.

  • أ) تتطلب كمية كبيرة من البيانات للتدريب
  • ب) سهولة التفسير والتحليل
  • ج) لا تحتاج إلى موارد حاسوبية كبيرة
  • د) تعمل بشكل جيد مع البيانات الصغيرة

الإجابة الصحيحة: 1. تتطلب كمية كبيرة من البيانات للتدريب 2. تحتاج إلى قدرات حاسوبية عالية 3. صعوبة تفسير النتائج 4. حساسة للضوضاء في البيانات

الشرح: الشبكات العصبية الترشيحية لها عدة عيوب منها الحاجة لبيانات كثيرة، متطلبات حاسوبية عالية، صعوبة التفسير، والحساسية للضوضاء

تلميح: فكر في التحديات العملية والنظرية لاستخدام الشبكات العصبية الترشيحية

سؤال 4: from skimage.color import ________________ # used to convert a multi-color (rgb) image to grayscale

  • أ) rgb2gray
  • ب) color2gray
  • ج) convert_gray
  • د) RGB_to_gray

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

الشرح: الدالة rgb2gray من مكتبة skimage.color تستخدم لتحويل الصور من تنسيق RGB إلى التدرجات الرمادية

تلميح: ما هي الدالة التي تحول الصور الملونة إلى تدرجات رمادية في مكتبة skimage؟

سؤال 4: from sklearn.________________ import StandardScaler # used to scale the data

  • أ) preprocessing
  • ب) scalers
  • ج) transform
  • د) standardization

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

الشرح: StandardScaler موجود في وحدة preprocessing في مكتبة sklearn

تلميح: أي وحدة في sklearn تحتوي على StandardScaler؟

سؤال 4: X_train_gray = np.array([________________ (img) for img in X_train]) # converts training data

  • أ) rgb2gray
  • ب) convert_gray
  • ج) gray_scale
  • د) to_gray

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

الشرح: يجب استخدام الدالة rgb2gray لتحويل كل صورة في X_train إلى تدرجات رمادية

تلميح: ما هي الدالة التي تم استيرادها سابقاً لتحويل RGB إلى رمادي؟

سؤال 4: X_train_hog = ________________

  • أ) hog(X_train_gray)
  • ب) extract_hog(X_train_gray)
  • ج) HOG_features(X_train_gray)
  • د) compute_hog(X_train_gray)

الإجابة الصحيحة: hog(X_train_gray)

الشرح: يجب استخدام دالة HOG (Histogram of Oriented Gradients) لاستخراج الميزات من الصور الرمادية

تلميح: ما هي الدالة التي تستخرج ميزات HOG من الصور؟

سؤال 4: X_train_hog_scaled = ________________.fit_transform(X_train_hog)

  • أ) scaler
  • ب) StandardScaler
  • ج) scale_object
  • د) scaler_obj

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

الشرح: يجب استخدام كائن scaler الذي تم إنشاؤه سابقاً لتطبيق التحجيم على بيانات HOG

تلميح: ما هو اسم المتغير الذي يحتوي على كائن StandardScaler؟

سؤال 4: model_MNB.fit(X_train_flat_scaled, ________________)

  • أ) Y_train
  • ب) y_train
  • ج) labels
  • د) targets

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

الشرح: يجب تمرير Y_train كمتغير الهدف (التسميات) لتدريب نموذج Naive Bayes

تلميح: ما هو متغير التسميات الذي تم ذكره في بداية السؤال؟

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

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

ما هي الخطوة الأولى لتحويل صور RGB إلى درجات رمادية باستخدام مكتبة scikit-image؟

الإجابة: استخدام الدالة `rgb2gray` من الوحدة `skimage.color`.

الشرح: الدالة `rgb2gray` هي وظيفة قياسية في مكتبة scikit-image مصممة خصيصًا لهذا الغرض، حيث تأخذ صورة RGB كمدخل وتعيد صورة بدرجات رمادية.

تلميح: ابحث عن الدالة المسؤولة عن تحويل الألوان في الصور متعددة الألوان إلى تدرج رمادي.

ما هي وظيفة `StandardScaler` من مكتبة `sklearn.preprocessing` عند تطبيقه على مصفوفة HOG؟

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

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

تلميح: ماذا يعني "قياس البيانات" في سياق التعلم الآلي؟ وما الهدف منه؟

ما هو النموذج المستخدم في الجزء الثاني من المقطع البرمجي لتدريب على البيانات المحولة؟

الإجابة: MultinomialNB (مصنف بايز متعدد الحدود).

الشرح: يتم استيراد `MultinomialNB` من `sklearn.naive_bayes` ويتم استخدامه لإنشاء نموذج التصنيف الذي سيتم تدريبه على البيانات المحولة.

تلميح: ابحث عن الكلاس المستخدم لإنشاء الكائن `model_MNB`.

ما هو المطلب الأساسي لتدريب نموذج `MultinomialNB`؟

الإجابة: يتطلب تدريب نموذج `MultinomialNB` مصفوفة ميزات (X) ومصفوفة تسميات (y).

الشرح: تعمل نماذج التصنيف بشكل عام عن طريق تعلم العلاقة بين الميزات (X) والتسميات (y) من البيانات التدريبية. في هذه الحالة، يتم تدريب `MultinomialNB` باستخدام `X_train_flat_scaled` (الميزات المحولة والمقاسة) والتسميات المقابلة لها.

تلميح: تذكر كيف تعمل معظم نماذج التعلم الآلي عند تدريبها؛ ما هي أنواع البيانات التي تحتاجها؟

اذكر عيبًا واحدًا للشبكات العصبية الترشيحية (CNNs).

الإجابة: تتطلب كميات كبيرة من البيانات التدريبية للتعلم الفعال وتجنب الإفراط في التجهيز (overfitting).

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

تلميح: ما هي التحديات الشائعة عند تدريب نماذج التعلم العميق المعقدة؟