Batch gradient descent, stochastic gradient descent (SGD) ve mini-batch gradient descent arasındaki fark nedir?

Cevap

Üçü de parametreleri w = w - lr · ∇L kuralıyla günceller. Fark, gradyanın kaç örnek üzerinden hesaplandığıdır.

YöntemGradyan hesabıAvantajDezavantaj
Batch GDTüm veri setiKararlı, düzgün yakınsamaBüyük veride çok yavaş, belleğe sığmaz
SGDTek örnekÇok hızlı güncelleme, local minimum'dan kaçabilirÇok gürültülü, GPU'yu verimsiz kullanır
Mini-batch32–4096 örnekGPU paralelliği + makul gürültüBatch size ayarı gerekir

Pratikte "SGD" denince neredeyse her zaman mini-batch kastedilir.

Learning rate ve batch size

  • Learning rate çok büyükse loss sıçrar veya NaN olur. Çok küçükse eğitim çok yavaşlar.
  • Batch size'ı büyütürken learning rate'i de genelde orantılı artırmak gerekir (linear scaling kuralı) ve warmup eklenir.
  • Modern eğitimde sabit LR yerine warmup + cosine decay gibi schedule'lar standarttır.
import numpy as np

def minibatch_gd(X, y, lr=0.1, epochs=20, bs=64):
    w = np.zeros(X.shape[1])
    for _ in range(epochs):
        idx = np.random.permutation(len(X))
        for i in range(0, len(X), bs):
            b = idx[i:i + bs]
            grad = 2 * X[b].T @ (X[b] @ w - y[b]) / len(b)  # MSE gradyanı
            w -= lr * grad
    return w

Momentum, RMSProp ve Adam gibi optimizer'lar bu temel güncelleme kuralının üzerine kurulur.

  1. Hiperparametre optimizasyonunu nasıl yaparsınız? Grid search, random search ve Bayesian optimization'ı karşılaştırın.OrtaMakine ÖğrenmesiYapay Zeka
  2. Feature scaling nedir? Standardization ile normalization arasındaki fark nedir ve hangi modeller ölçeklendirme gerektirir?KolayMakine ÖğrenmesiYapay Zeka
  3. PCA (Principal Component Analysis) nasıl çalışır? Ne zaman kullanılır, ne zaman kullanılmamalıdır?OrtaMakine ÖğrenmesiYapay Zeka
  4. NumPy kullanarak k-means algoritmasını sıfırdan yazın. k değerini nasıl seçersiniz ve algoritmanın sınırlamaları nelerdir?ZorMakine ÖğrenmesiYapay Zeka
  5. XGBoost ve LightGBM klasik gradient boosting'den hangi açılardan farklıdır? En önemli hiperparametreleri nelerdir?ZorMakine ÖğrenmesiYapay Zeka
  6. Random Forest ile Gradient Boosting arasındaki fark nedir? Bagging ve boosting'i karşılaştırın.OrtaMakine ÖğrenmesiYapay Zeka

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle