تدريب النماذج
Model Training
من دالة الخسارة إلى ضبط المعاملات الفائقة: كيف ندرب النموذج ونختار إعداداته بمنهجية.
ما الذي نتعلمه؟
- المعاملات (Parameters): تُتعلم من البيانات، مثل الأوزان \(\mathbf{w}\).
- المعاملات الفائقة (Hyperparameters): نحددها نحن، مثل
Cوmax_depthوn_neighbors.
التحسين التكراري
كثير من النماذج تُدرَّب بالانحدار التدرجي:
$$\mathbf{w} \leftarrow \mathbf{w} – \eta \, \nabla_{\mathbf{w}} L(\mathbf{w})$$
حيث \(\eta\) معدل التعلم. ستتعمق في هذا في مسار التعلم العميق.
ابدأ بخط أساس
from sklearn.dummy import DummyClassifier
from sklearn.model_selection import cross_val_score
base = DummyClassifier(strategy="most_frequent")
print(cross_val_score(base, X, y, cv=5, scoring="balanced_accuracy").mean())إذا لم يتفوق نموذجك بوضوح على هذا الرقم، فراجع البيانات قبل تعقيد النموذج.
ضبط المعاملات الفائقة
from scipy.stats import loguniform
from sklearn.model_selection import RandomizedSearchCV, StratifiedKFold
from sklearn.svm import SVC
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
pipe = make_pipeline(StandardScaler(), SVC())
search = RandomizedSearchCV(
pipe,
{"svc__C": loguniform(1e-2, 1e3), "svc__gamma": loguniform(1e-4, 1e1)},
n_iter=40, cv=StratifiedKFold(5, shuffle=True, random_state=0),
scoring="f1_macro", random_state=0, n_jobs=-1)
search.fit(X_train, y_train)
print(search.best_params_, search.best_score_)
best = search.best_estimator_ # أُعيد تدريبه على كل X_trainبعد اختيار الإعدادات، قيّم best مرة واحدة على بيانات الاختبار.
قابلية التكرار
- ثبّت
random_stateفي التقسيم والنماذج. - سجّل إصدارات المكتبات والإعدادات والنتائج.
- احفظ النموذج المدرب مع خط المعالجة كاملاً (مثلاً باستخدام
joblib).
قائمة تحقق
- تقسيم سليم للبيانات.
- خط أساس.
- خط معالجة داخل
Pipeline. - ضبط المعاملات الفائقة بالتحقق المتقاطع.
- تقييم نهائي واحد على الاختبار.
مصطلحات الدرس
- البحث الشبكي Grid Search
- تجربة كل تركيبات قيم المعاملات الفائقة المحددة واختيار الأفضل وفق التحقق المتقاطع.
- المعامل الفائق Hyperparameter
- إعداد يُحدَّد قبل التدريب ولا يُتعلَّم مباشرة من البيانات، مثل عمق الشجرة أو معدل التعلم.
- خط الأساس Baseline
- نموذج بسيط يُستخدم مرجعاً للمقارنة، مثل التنبؤ بالفئة الأكثر تكراراً.
الملخص
تدريب النموذج يعني إيجاد المعاملات التي تقلل دالة الخسارة على بيانات التدريب، بحلول مغلقة أو بطرق تحسين تكرارية مثل الانحدار التدرجي. أما المعاملات الفائقة (hyperparameters) مثل عمق الشجرة أو قوة التنظيم فتُختار بالبحث الشبكي أو العشوائي مع التحقق المتقاطع. التدريب الجيد يبدأ بخط أساس بسيط، ويضمن قابلية التكرار بتثبيت البذور وتوثيق الإعدادات.
أسئلة مراجعة
-
ما الفرق بين المعامل والمعامل الفائق؟
المعامل يُتعلم من البيانات أثناء التدريب (مثل أوزان الانحدار)، والمعامل الفائق يُحدد قبل التدريب (مثل C أو max_depth).
-
لماذا نبدأ بخط أساس؟
لنعرف هل النموذج المعقد يضيف قيمة فعلية، ولنكشف مشكلات البيانات مبكراً.
المصادر والمراجع
إكمال الدرس
أكملت كل دروس المسار! يمكنك الآن طلب شهادة إكمال المسار.
اطلب الشهادة