العودة إلى المدونة
Machine Learning 22 يناير 2025 6 min للقراءة

Optuna في الإنتاج: ضبط ذكي للمعلمات الفائقة

كيفية استخدام Optuna لتحسين المعلمات الفائقة بما يتجاوز البحث العشوائي.

لماذا Optuna بدلاً من GridSearch

  • التحسين البايزي يتعلّم من المحاولات السابقة
  • التقليم (pruning) يوقف المحاولات غير الواعدة مبكراً (يوفّر 60-80% من الحوسبة)
  • التخزين الدائم يستأنف الدراسات عبر الجلسات

مثال مبسّط

import optuna

def objective(trial):
    params = {
        'n_estimators': trial.suggest_int('n_estimators', 100, 2000),
        'learning_rate': trial.suggest_float('lr', 0.001, 0.3, log=True),
        'max_depth': trial.suggest_int('max_depth', 3, 10),
    }
    model = LGBMClassifier(**params)
    return cross_val_score(model, X, y, cv=5, scoring='roc_auc').mean()

study = optuna.create_study(direction='maximize')
study.optimize(objective, n_trials=100)

التقليم باستخدام callbacks

from optuna.integration import LightGBMPruningCallback
callback = LightGBMPruningCallback(trial, 'auc')
model.fit(X_train, y_train, callbacks=[callback])
OptunaHyperparameter TuningBayesian OptimizationLightGBM
O

Ossama Elhakki

مهندس ذكاء اصطناعي وأنظمة ML — المغرب