Tüm yazılar
Matematik1 Ocak 2025

Hyperparameter Optimizasyonu: Modelin Ayarlanmasının Bilimi

Learning rate, batch size, derinlik — ML modellerinin yüzlerce ayarlanabilir parametresi var. Bunları seçmek ayrı bir bilim oldu.

Matematik Karavanı 6 dk okuma 5 soru
Ayar düğmeleri — hyperparameter ayarlama metaforu

Parametre mi, hiperparametre mi?

  • Parametre: model veriden öğrenir (sinir ağı ağırlıkları).
  • Hiperparametre: insan seçer (öğrenme hızı, batch size, ağaç sayısı).

Hiperparametre seçimi deneyim + matematik karışımı. Modern ML'de otomatikleştirilmesi ana araştırma alanı.

Tipik hiperparametreler

Sinir ağı

  • Learning rate: 0.001-0.1.
  • Batch size: 16-1024.
  • Optimizer: Adam, SGD, AdamW.
  • Weight decay: 0.0-0.1.
  • Dropout: 0.0-0.5.
  • Layer count: 2-100+.
  • Hidden size: 64-8192.

Gradient Boosting

  • n_estimators: 100-5000.
  • max_depth: 3-15.
  • learning_rate: 0.01-0.3.
  • min_child_weight, subsample, colsample.

Random Forest

  • n_estimators: 100-1000.
  • max_features, min_samples_leaf.

Klasik yöntemler

1. Grid Search

Her hiperparametre için kombinasyon listesi, hepsini dene.

from sklearn.model_selection import GridSearchCV
grid = {'lr': [0.01, 0.1], 'depth': [3, 5, 7]}

Sorun: kombinasyonlar üstel patlar. 6 hiperparametre × 5 değer = 15625 deneme.

2. Random Search

Hiperparametre dağılımlarından rastgele örnekle.

Bergstra-Bengio 2012: random search grid search'ten daha iyi çoğu zaman, çünkü:

  • Çoğu hiperparametre önemsiz.
  • Önemli olanların kapsamı daha geniş aranır.

3. Bayesian Optimization

Akıllı arama: önceki denemelerden öğren, sonrakini seç.

  • Surrogate model: hiperparametre → performans tahmin (Gaussian Process).
  • Acquisition function: nereyi denesem? (Expected Improvement, UCB).

Daha az denemeyle daha iyi sonuç.

Optuna, scikit-optimize, Hyperopt Python araçları.

Modern araçlar

Optuna (Preferred Networks, Japan)

Çok popüler:

import optuna

def objective(trial):
    lr = trial.suggest_loguniform('lr', 1e-5, 1e-1)
    depth = trial.suggest_int('depth', 3, 10)
    # model eğit, score döndür
    return score

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

TPE (Tree-structured Parzen Estimator) algoritması.

Ray Tune

Dağıtık hyperparameter arama — büyük modeller için.

Population Based Training (PBT)

DeepMind. Birden fazla model paralel; kötü performansta hiperparametreyi başka iyi modellinkiyle değiştir.

Hyperband / ASHA

Erken başarısız denemeleri erkenden öldür, kaynak tasarrufu.

Modern derin öğrenmede

LLM eğitiminde hyperparameter taraması çok pahalı:

  • 1 deneme = milyonlarca dolar.
  • Bunun için küçük modelde tara, büyük modele aktar (μ-parametrization, Hoffmann scaling).

Chinchilla scaling laws: optimal LR + batch size + model boyutu denklem ile.

Cross-validation içinde

Hyperparameter taraması eğitim setinde yapılmalı. Test seti sadece son değerlendirme.

Toplam veri → Train (HP tarama + CV) + Test (1 kez)

Nested cross-validation: dış K-fold + iç HP tarama.

Pratik tavsiyeler

1. Önce baseline

Default hiperparametrelerle eğit. Improvement gelecek %5-15.

2. Bir-iki kritik HP'ye odaklan

Learning rate ve batch size en önemli — çok zaman onlara ayır.

3. Log scale

LR, weight decay gibi parametreler logaritmik dağılım.

4. Erken durma

Patience parametresi ile gereksiz deneme önle.

5. Random > Grid

Random search çoğu zaman daha hızlı.

6. Bayesian > Random

Optuna gibi araçlarla başla.

7. Pruning

İyi olmayan denemeleri erken durdur.

AutoML

Tam otomatik ML:

  • Veri ön işleme.
  • Model seçimi.
  • Hyperparameter ayarlama.
  • Ensemble.

Araçlar: AutoSklearn, TPOT, AutoGluon (Amazon), H2O.ai.

Avantaj: uzman olmayan kullanıcı için baseline. Dezavantaj: siyah kutu — özelleştirme zor.

Türk endüstri örnekleri

  • Trendyol: Optuna ile öneri sisteminde günlük hyperparameter ayarlama.
  • Garanti BBVA: H2O.ai ile fraud modellerinin otomatik tuning.
  • TCMB: forecasting modelleri Bayesian optimization.
  • TÜBİTAK BİLGEM: AutoSklearn ile baseline.

Felsefe

Hyperparameter optimizasyon = dış parametre öğrenmesi. Modelin veriden öğrendiği parametrelerin yanında, şirket veya araştırmacı'nın öğrendiği "iyi başlangıç" değerleri.

Meta-learning vizyonunun pratik yansıması: yeni problem için eskilerden ne öğrenebiliriz?

Kapanış

Hyperparameter optimizasyonu ML'in görünmez emeği. Modelinin %5 doğruluğu burada saklanıyor. Modern araçlar (Optuna, Ray Tune) bunu otomatik ve hızlı hale getirdi.

Bir veri biliminin olgunluk işareti: default değerlerle yetinmemek, akıllı arama kullanmak.

Etiketler

hyperparametergrid searchBayesian optimizationAutoMLoptuna

Kendinizi Test Edin

Cevaplarınız profilinizde istatistik olarak saklanır.

1. Parametre vs hiperparametre?

2. Random search'in Grid Search'a üstünlüğü?

3. Bayesian optimization ne yapar?

4. Modern Python aracı?

5. AutoML ne yapar?