ما هو نموذج تعلم الآلة؟ وكيف يتعلم من البيانات خطوة بخطوة

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

في هذا الدرس ستفهم ما هو نموذج تعلم الآلة، وما الفرق بين البيانات والنموذج، وما معنى Features وTarget، ولماذا نقسم البيانات إلى تدريب واختبار، وكيف تكتب أول مثال عملي باستخدام Python وscikit-learn.

ما هو نموذج تعلم الآلة وكيف يتعلم من البيانات
{alertInfo} الفكرة الأساسية: نموذج تعلم الآلة لا يحفظ إجابة واحدة فقط. هو يحاول تعلّم نمط من أمثلة سابقة، ثم يستخدم ذلك النمط للتعامل مع أمثلة جديدة لم يرها من قبل.

{getToc} $title={محتوى المقال}

ما هو نموذج تعلم الآلة؟

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

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

تدعم مكتبة scikit-learn مهام تعلم خاضع للإشراف وغير خاضع للإشراف، وتوفر طريقة موحدة نسبيًا لتدريب النماذج باستخدام fit() ثم إجراء التوقعات باستخدام predict().

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

في البرنامج التقليدي تكتب القاعدة بنفسك. أما في تعلم الآلة فتقدم أمثلة، ويستنتج النموذج العلاقة التقريبية من البيانات.

الجانب برنامج تقليدي قائم على قواعد نموذج تعلم آلة
من يكتب القواعد؟ المبرمج يكتب القواعد بوضوح. النموذج يستنتج نمطًا من الأمثلة.
مثال إذا كانت الدرجة أقل من 60، اطبع “يحتاج مراجعة”. توقع الدرجة بناءً على ساعات الدراسة وبيانات سابقة.
أفضل استخدام عندما تكون القواعد واضحة وثابتة. عندما تكون العلاقة غير واضحة وتتوفر بيانات مفيدة.
المشكلة المحتملة صعوبة كتابة قاعدة لكل حالة. نتيجة ضعيفة إذا كانت البيانات ضعيفة أو غير ممثلة.

ما هي البيانات التي يتعلم منها النموذج؟

في تعلم الآلة الخاضع للإشراف، تكون لديك أمثلة تحتوي على مدخلات ونتيجة معروفة. المدخلات تسمى غالبًا Features أو الميزات، أما النتيجة التي تريد من النموذج توقعها فتسمى Target أو الهدف.

مثال بيانات طلاب:

ساعات الدراسة الحضور الدرجة النهائية
2 70% 55
4 85% 72
6 92% 88

في هذا المثال:

  • Features: ساعات الدراسة والحضور.
  • Target: الدرجة النهائية.

بعد التدريب، يمكننا إعطاء النموذج ساعات دراسة وحضور لطالب جديد، فيعطينا توقعًا تقريبيًا للدرجة.

شرح نموذج تعلم الآلة للمبتدئين

هل يتعلم النموذج مثل الإنسان؟

لا. كلمة “يتعلم” هنا لا تعني أن النموذج يفهم العالم أو يمتلك وعيًا. المقصود أنه يضبط قيمًا داخلية في الخوارزمية لتقليل الفرق بين توقعاته والنتائج الفعلية الموجودة في بيانات التدريب.

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

لهذا السبب لا توجد نتيجة جيدة من دون بيانات مناسبة. النموذج لا يصنع معلومات صحيحة من فراغ؛ هو يتأثر بجودة الأمثلة، وتمثيلها للمشكلة، وطريقة تجهيزها.

خطوات عمل نموذج تعلم الآلة

معظم المشاريع الصغيرة تمر بمراحل متشابهة:

  1. حدد المشكلة: هل تريد توقع رقم أم تصنيف شيء إلى فئة؟
  2. اجمع البيانات: اختر بيانات مرتبطة بالسؤال الذي تريد الإجابة عنه.
  3. نظف البيانات: راجع القيم الناقصة والتكرار والأنواع الخاطئة.
  4. اختر Features وTarget: حدد المدخلات والنتيجة المطلوبة.
  5. قسّم البيانات: جزء للتدريب وجزء للاختبار.
  6. درّب النموذج: استخدم fit() على بيانات التدريب.
  7. اختبر النموذج: اطلب توقعات من بيانات لم يرها أثناء التدريب.
  8. قيّم النتيجة: افحص هل أداء النموذج مفيد أم يحتاج تحسينًا.
خطوات تدريب نموذج تعلم الآلة من البيانات إلى التوقع

ما الفرق بين التوقع والتصنيف؟

من أول الأمور التي تحتاج فهمها: هل النتيجة التي تريدها رقم أم فئة؟

نوع المهمة ما الذي يتوقعه النموذج؟ مثال
Regression الانحدار قيمة رقمية مستمرة. توقع سعر منزل أو درجة طالب أو مبيعات شهر.
Classification التصنيف فئة أو تصنيف محدد. رسالة مزعجة أو غير مزعجة، ناجح أو يحتاج مراجعة.

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

لماذا نقسم البيانات إلى تدريب واختبار؟

لو دربت النموذج ثم اختبرته على البيانات نفسها، قد يبدو أداؤه ممتازًا لأنه رأى هذه الأمثلة مسبقًا. هذا لا يخبرك هل يستطيع التعامل مع بيانات جديدة فعلًا.

لذلك نقسم البيانات غالبًا إلى:

  • Training Data: بيانات يتعلم منها النموذج.
  • Test Data: بيانات لا يراها أثناء التدريب، ونستخدمها لفحص الأداء.

توضح مواد Google التعليمية أن الاختبار العادل يجب أن يكون على أمثلة جديدة وغير مكررة عن أمثلة التدريب، لأن تكرار المثال في التدريب والاختبار يجعل التقييم مضللًا.

تقسيم البيانات باستخدام Python

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(
    X,
    y,
    test_size=0.25,
    random_state=42
)

في هذا المثال خصصنا 25% من البيانات للاختبار. القيمة random_state تساعد على إعادة الحصول على التقسيم نفسه عند تشغيل المثال مرة أخرى، وهو مفيد في الدروس والتجارب.

تقسيم بيانات تعلم الآلة إلى تدريب واختبار باستخدام Python

أول نموذج تعلم آلة باستخدام Python

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

import pandas as pd

from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error
from sklearn.model_selection import train_test_split

data = pd.DataFrame({
    "hours": [1, 2, 3, 4, 5, 6, 7, 8],
    "score": [44, 51, 58, 67, 73, 81, 86, 92]
})

X = data[["hours"]]
y = data["score"]

X_train, X_test, y_train, y_test = train_test_split(
    X,
    y,
    test_size=0.25,
    random_state=42
)

model = LinearRegression()
model.fit(X_train, y_train)

predictions = model.predict(X_test)
mae = mean_absolute_error(y_test, predictions)

print("متوسط الخطأ المطلق:", mae)

new_student = pd.DataFrame({"hours": [6.5]})
predicted_score = model.predict(new_student)

print("الدرجة المتوقعة:", predicted_score[0])

الدالة LinearRegression في scikit-learn تبني نموذجًا خطيًا يحاول تقليل مجموع مربعات الفروق بين القيم الفعلية والأهداف التي يتوقعها النموذج.

{alertWarning} لا تستخدم بيانات مصطنعة أو نموذجًا صغيرًا لاتخاذ قرارات حقيقية عن أشخاص. الأمثلة هنا للتعلم فقط، ولا تصلح لتقييم الطلاب أو التوظيف أو الصحة أو أي قرار حساس.

ماذا يعني تقييم النموذج؟

تدريب النموذج ليس نهاية العمل. بعد التدريب تحتاج إلى سؤال بسيط: هل توقعاته مفيدة على بيانات جديدة؟

في مسائل الانحدار يمكن استخدام مقاييس مثل MAE، أي متوسط الفرق المطلق بين التوقع والقيمة الفعلية. كلما كان الرقم أقل، كانت التوقعات أقرب في المتوسط، لكن لا ينبغي تفسير الرقم وحده من دون معرفة طبيعة المشكلة ووحدة القياس.

وفي مسائل التصنيف توجد مقاييس أخرى مثل accuracy وprecision وrecall. اختيار المقياس الصحيح يعتمد على المهمة، لذلك لا تعتمد على رقم واحد دائمًا.

ما هو Overfitting ولماذا يجب أن تعرفه؟

الإفراط في التخصيص أو Overfitting يحدث عندما ينجح النموذج جدًا مع بيانات التدريب، لكنه يفشل مع أمثلة جديدة. كأنه حفظ الإجابات بدل أن يفهم النمط العام.

توضح Google أن النموذج الذي يعمل جيدًا على التدريب لكنه يعمل بشكل سيئ مع بيانات جديدة غير مرئية يعد نموذجًا يعاني من overfitting، بينما النموذج الجيد يجب أن يعمم بشكل مفيد على أمثلة جديدة.

من أسباب المشكلة:

  • بيانات تدريب قليلة جدًا أو غير ممثلة للواقع.
  • نموذج معقد أكثر من اللازم مقارنة بحجم البيانات.
  • وجود تكرار بين بيانات التدريب وبيانات الاختبار.
  • اختيار ميزات غير مفيدة أو تسرب معلومات من الاختبار إلى التدريب.
تقييم نموذج تعلم الآلة ومشكلة الإفراط في التخصيص

أخطاء شائعة عند بناء أول نموذج

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

ما الذي تتعلمه بعد هذا الدرس؟

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

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

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

ملخص الدرس

  • نموذج تعلم الآلة يتعلم نمطًا من أمثلة سابقة ثم يستخدمه للتوقع أو التصنيف.
  • Features هي المدخلات، وTarget هو النتيجة التي تريد توقعها.
  • بيانات التدريب تستخدم للتعلم، وبيانات الاختبار تستخدم لفحص الأداء على أمثلة جديدة.
  • fit() تدرب النموذج، وpredict() تستخدمه لتوقع نتائج جديدة.
  • التقييم مهم لأن النموذج قد ينجح على التدريب ويفشل مع بيانات جديدة.
  • ابدأ بنموذج بسيط وبيانات مفهومة قبل الانتقال إلى مشاريع أكبر.
{alertSuccess} نصيحة للمبتدئ: لا تقاس جودة أول مشروع AI بحجم النموذج، بل بقدرتك على شرح البيانات والمدخلات والهدف وطريقة التقييم والنتيجة.

مصادر موثوقة للتوسع

أسئلة شائعة

هل نموذج تعلم الآلة هو نفسه الذكاء الاصطناعي؟

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

هل أحتاج إلى بيانات كثيرة لبناء أول نموذج؟

للتعلم يمكنك البدء ببيانات صغيرة ومصطنعة لفهم الخطوات. لكن في المشاريع الحقيقية، تحتاج بيانات مناسبة وممثلة للمشكلة حتى تكون النتائج موثوقة.

ما الفرق بين fit وpredict في scikit-learn؟

تستخدم fit لتدريب النموذج على بيانات التدريب، ثم تستخدم predict لطلب توقعات من بيانات جديدة بنفس شكل المدخلات التي تدرب عليها النموذج.

هل يمكن أن ينجح النموذج في التدريب ويفشل في الواقع؟

نعم. يحدث ذلك عند الإفراط في التخصيص أو عندما لا تمثل بيانات التدريب الحالات الجديدة. لهذا نستخدم بيانات اختبار منفصلة ونراجع الأداء.

ما أفضل مشروع تعلم آلة للمبتدئ؟

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

إرسال تعليق

أحدث أقدم