المشاركات

عرض المشاركات من مارس, 2026

الدرس 17: التعلم الموجّه (Supervised Learning) – كيف تتعلم النماذج باستخدام بيانات مُعلّمة؟

الدرس 17: التعلم الموجّه (Supervised Learning) – كيف تتعلم النماذج باستخدام بيانات مُعلّمة؟ بعد أن تعرفنا على مفهوم تعلم الآلة، حان الوقت للدخول إلى أحد أهم أنواعه: التعلم الموجّه ، وهو الأسلوب الذي تعتمد عليه كثير من التطبيقات الذكية الحديثة. سلسلة تعلم الذكاء الاصطناعي التعلم الموجّه هو الطريقة التي يتعلم بها النموذج من أمثلة تحتوي على المدخلات والإجابات الصحيحة معًا، ثم يحاول بعد ذلك التنبؤ بإجابات جديدة لم يرها من قبل. جدول المحتويات ما هو التعلم الموجّه؟ كيف يعمل Supervised Learning؟ أمثلة واقعية على التعلم الموجّه أنواع التعلم الموجّه مثال عملي باستخدام Python متى نستخدم هذا النوع من التعلم؟ خلاصة الدرس ما هو التعلم الموجّه؟ التعلم الموجّه هو نوع من تعلم الآلة يتم فيه تدريب النموذج على بيانات تحتوي على: المدخلات (Inputs): وهي البيانات التي نعطيها للنموذج. المخرجات (Outputs): وهي...

الدرس 16: كيف يبدأ الذكاء الاصطناعي في التعلم؟ (مدخل إلى Machine Learning)

الدرس 16: مقدمة في تعلم الآلة – كيف تتعلم الآلات من البيانات؟ بعد تجهيز البيانات، حان الوقت لفهم كيف يبدأ الذكاء الاصطناعي في التعلم فعليًا. ما هو تعلم الآلة؟ تعلم الآلة (Machine Learning) هو أحد فروع الذكاء الاصطناعي، ويهدف إلى جعل الحاسوب قادرًا على التعلم من البيانات دون برمجته بشكل مباشر لكل حالة. ببساطة: بدل أن نكتب القواعد، نُعطي الحاسوب بيانات ليتعلم منها بنفسه. الفرق بين الذكاء الاصطناعي وتعلم الآلة الذكاء الاصطناعي هو المجال العام، بينما تعلم الآلة هو جزء منه يركز على التعلم من البيانات. الذكاء الاصطناعي: مفهوم واسع تعلم الآلة: طريقة لتحقيق هذا الذكاء أنواع تعلم الآلة 1. التعلم الموجّه (Supervised Learning) يتم تدريب النموذج باستخدام بيانات تحتوي على إجابات صحيحة. 2. التعلم غير الموجّه (Unsupervised Learning) النموذج يحاول اكتشاف الأنماط بنفسه دون وجود إجابات مسبقة. 3. التعلم بالتعزيز (Reinforcement Learning)...

الدرس 15: لماذا تفشل نماذج الذكاء الاصطناعي؟ الجواب في معالجة البيانات!

الدرس 15: معالجة البيانات وتجهيزها لبناء نماذج الذكاء الاصطناعي بعد أن تعرفنا في الدرس السابق على البرمجة الكائنية، حان الوقت للانتقال إلى مرحلة مهمة جدًا في عالم الذكاء الاصطناعي: فهم البيانات وتهيئتها قبل تدريب النماذج . سلسلة تعلم الذكاء الاصطناعي إذا كانت الخوارزميات هي عقل الذكاء الاصطناعي، فإن البيانات هي الوقود الذي يمنح هذا العقل القدرة على التعلم والتحليل واتخاذ القرار. لذلك فإن تجهيز البيانات ليس خطوة جانبية، بل هو أساس النجاح في أي مشروع ذكاء اصطناعي. جدول المحتويات ما هي البيانات في الذكاء الاصطناعي؟ قراءة البيانات باستخدام Python تنظيف البيانات Data Cleaning معالجة البيانات Data Preprocessing تقسيم البيانات إلى تدريب واختبار لماذا تعتبر هذه المرحلة مهمة جدًا؟ خلاصة الدرس ما هي البيانات في الذكاء الاصطناعي؟ البيانات هي المعلومات التي يعتمد عليها الحاسوب لكي يتعلم. فعندما نريد إنشاء نموذج قادر على ...
الدرس 14: البرمجة الكائنية في بايثون سلسلة تعلم بايثون • الدرس 14 البرمجة الكائنية في بايثون (Object-Oriented Programming) في هذا الدرس سنتعرف على مفهوم مهم جدًا في لغة بايثون وهو البرمجة الكائنية، وكيف تساعدنا في تنظيم الكود، وتسهيل إعادة استخدامه، وبناء برامج أكبر بشكل مرتب واحترافي. محتويات الدرس مقدمة ما هي الفئة Class؟ ما هو الكائن Object؟ الدالة __init__ إضافة الدوال داخل الفئة مميزات البرمجة الكائنية خلاصة الدرس مقدمة بعد أن تعرفنا في الدرس السابق على الدوال المتقدمة في بايثون ، ننتقل الآن إلى مرحلة جديدة ومهمة جدًا في البرمجة وهي البرمجة الكائنية أو OOP . هذا الأسلوب يساعدنا على تقسيم البرنامج إلى أجزاء واضحة تسمى فئات و كائنات ، مما يجعل الكود أكثر تنظيمًا وأسهل في الفهم والتطوير. الفكرة الأساسية: بدل كتابة كل شيء بشكل عشوائي، نقوم...

الدرس الثالث عشر: الدوال المتقدمة في بايثون (Advanced Functions)

الدرس الثالث عشر: الدوال المتقدمة في بايثون في هذا الدرس سنتعلم كيف نستخدم الدوال بشكل أكثر احترافية، وكيف نمرر المعاملات للدوال ونسترجع القيم منها. مراجعة سريعة للدوال def say_hello(): print("Hello Python") say_hello() الدالة هي مجموعة من الأوامر يتم تنفيذها عند استدعائها. المعاملات (Arguments) def greet(name): print("Hello", name) greet("Ali") المعاملات تسمح بتمرير بيانات إلى الدالة. القيم الافتراضية def greet(name="Guest"): print("Hello", name) greet() greet("Sara") إذا لم يتم إرسال قيمة سيتم استخدام القيمة الافتراضية. إرجاع القيم باستخدام return def add(a,b): return a + b result = add(5,3) print(result) الكلمة return تسمح للدالة بإرجاع نتيجة. إرجاع أكثر من قيمة def calculate(a,b): return a+b , a*b sum_value , multiply_value = calculate(5,3) print(sum_value) print(multiply_value) تمرين 1 اكتب دالة تحسب مربع رقم. إظهار الحل ...

الدرس الثاني عشر: التعامل مع الأخطاء والاستثناءات في بايثون (Errors & Exceptions)

الدرس الثاني عشر: التعامل مع الأخطاء في بايثون في هذا الدرس سنتعلم كيف تحدث الأخطاء في البرامج، وكيف يمكن التعامل معها باستخدام try و except. ما هي الأخطاء في البرمجة؟ الأخطاء (Errors) هي مشاكل تحدث أثناء تنفيذ البرنامج وتؤدي إلى توقفه. مثال بسيط: print(10 / 0) النتيجة ستكون: ZeroDivisionError لأن القسمة على صفر غير ممكنة. استخدام try و except يمكننا منع توقف البرنامج باستخدام try و except. try: number = 10 / 0 except: print("حدث خطأ أثناء التنفيذ") بهذه الطريقة يستمر البرنامج في العمل. التعامل مع نوع خطأ محدد try: x = int("abc") except ValueError: print("لا يمكن تحويل النص إلى رقم") هذا يسمح بالتعامل مع أخطاء محددة فقط. استخدام finally الكود داخل finally يتم تنفيذه دائمًا سواء حدث خطأ أم لا. try: print("Hello") except: print("Error") finally: print("تم تنفيذ البرنامج") مثال عملي try: number = int(input("Enter a number: ...

الدرس الحادي عشر: التعامل مع الملفات (Files) في بايثون — قراءة وكتابة البيانات خطوة بخطوة

📘 سلسلة تعلم بايثون — الدرس الحادي عشر التعامل مع الملفات (Files) في بايثون — قراءة وكتابة البيانات خطوة بخطوة في هذا الدرس سنتعلم كيف نتعامل مع الملفات في لغة بايثون، وكيف نقرأ البيانات من ملف، وكيف نكتب بيانات جديدة، وكيف نضيف معلومات دون حذف المحتوى القديم، مع أمثلة عملية وتمارين وحلول واختبار تفاعلي للمبتدئين والمتوسطين. مقدمة الدرس في الدروس السابقة كنا نخزن البيانات داخل المتغيرات أو القوائم أو القواميس. لكن هذه البيانات كانت تبقى داخل البرنامج فقط، وبمجرد إغلاقه تختفي. هنا تظهر أهمية الملفات . الملفات تسمح لنا بحفظ البيانات على الجهاز حتى نستطيع الرجوع إليها لاحقًا. وهذا مهم جدًا في البرامج الحقيقية مثل: تخزين أسماء المستخدمين حفظ النتائج أو الدرجات تسجيل الملاحظات إدارة بيانات بسيطة بدون قاعدة بيانات إذا فهمت التعامل مع الملفات جيدًا، فأنت تنتقل من كتابة برامج تدريبية بسيطة إلى بناء برامج أكثر واقعية...

الدرس العاشر: Tuples في بايثون

الدرس العاشر: Tuples في بايثون تعرف على الـ Tuple في بايثون، الفرق بينها وبين List، متى نستخدمها، مع أمثلة وتمارين واختبار تفاعلي. ما هي Tuple؟ الـ Tuple هي نوع بيانات يشبه القائمة (List)، لكنه غير قابل للتغيير بعد إنشائه. numbers = (1, 2, 3) print(numbers) 🔒 لا يمكن إضافة أو حذف أو تعديل عناصر Tuple بعد إنشائها. الفرق بين List و Tuple List قابلة للتعديل — Tuple غير قابلة للتعديل List تستخدم [] — Tuple تستخدم () Tuple أسرع قليلًا من List الوصول إلى العناصر numbers = (10, 20, 30) print(numbers[0]) print(numbers[1]) يمكن قراءة العناصر باستخدام index مثل List. إرجاع عدة قيم من دالة def calculate(a, b): return a + b, a - b result = calculate(10, 5) print(result) يمكن أيضًا فك القيم: sum_value, diff_value = calculate(10, 5) print(sum_value) print(diff_value) تمرين 1 أنشئ Tuple تحتوي 5 أرقام واطبع العنصر الثالث. إظهار الحل numbers = (1,2,3,4,5) print(numbers[2]) تمرين 2 اكتب دالة تُرجع مربع وعدد مضاعف رقم معين باستخدا...

لدرس التاسع: المجموعات (Sets) في بايثون — شرح شامل مع أمثلة وتمارين واختبار تفاعلي

الدرس التاسع: المجموعات (Sets) في بايثون في هذا الدرس سنتعلم المجموعات في بايثون بطريقة مبسطة جدًا، مع أمثلة عملية وتمارين محلولة واختبار تفاعلي. ما هي Set؟ المجموعة (Set) هي نوع بيانات يخزن عناصر فريدة فقط. أي أنها: ❌ لا تسمح بتكرار العناصر ❌ لا تحفظ الترتيب ✅ سريعة جدًا في البحث والمقارنة numbers = {1, 2, 3, 2} print(numbers) الناتج: {1, 2, 3} لأن التكرار يُحذف تلقائيًا. مثال 1: حذف التكرار من قائمة grades = [15, 18, 15, 12, 18] unique = set(grades) print(unique) بهذا السطر البسيط أزلنا جميع القيم المكررة. مثال 2: مقارنة مجموعتين A = {1,2,3} B = {3,4,5} print(A | B) # Union print(A & B) # Intersection print(A - B) # Difference | تعني الاتحاد & تعني التقاطع - تعني الفرق تمرين 1 أنشئ قائمة أرقام فيها تكرار ثم اطبع عدد القيم الفريدة. إظهار الحل numbers = [1,2,2,3,4,4] unique = set(numbers) print(len(unique)) تمرين 2 أنشئ مجموعتين واطبع العناصر المشتركة بينهما. إظهار الحل A = {1,2,3} B = {2,3,4} print(A ...

الدرس الثامن القواميس في بايثون (Dictionaries) — شرح مبسط للمبتدئين مع أمثلة وتمارين

📘 سلسلة تعلم بايثون — الدرس الثامن القواميس (Dictionaries) في بايثون: شرح مبسط + أمثلة وتمارين في هذا الدرس ستتعلم القواميس (Dictionaries) في بايثون: تخزين البيانات على شكل مفتاح/قيمة، وكيفية الإضافة والتعديل والحذف، واستخدام keys و values و items، مع تطبيق عملي وتمارين للمبتدئين والمتوسطين. ✅ سهل للمبتدئين ✅ مفيد للمشاريع ✅ أهم أوامر dict ✅ تمارين + حلول 🧭 فهرس سريع ما هو Dictionary في بايثون؟ إنشاء قاموس وقراءة القيم إضافة وتعديل عناصر حذف عناصر من القاموس أهم الدوال: keys / values / items / get / update المرور على القاموس بالحلقات قواميس متداخلة (Nested Dictionaries) مشروع صغير: دفتر تلاميذ (اسم + نقطة) تمارين + حلول أسئلة شائعة 1) ما هو القاموس (Dictionary) في بايثون؟ القاموس (Dictionary أو dict) هو نوع بيانات يخزّن المعلومات على شكل: مفتاح (Key) ↔ ق...