Optimizasyon parametrelerini değiştirme
Şimdi optimizasyonla pratik yapma zamanı. Çok düşük, çok yüksek ve "tam kararında" bir öğrenme oranıyla (learning rate) bir modeli optimize etmeyi deneyeceksin. Bu egzersizi çalıştırdıktan sonra sonuçlara bakarken, kayıp (loss) fonksiyonunun düşük olmasının iyi olduğunu unutma.
Bu egzersizlerde, önceki sınıflandırma modellerinden (Titanic'te kimin hayatta kalacağını tahmin etme) öngörücüler (predictors) ve hedef (target) değerlerini önceden yükledik. Her öğrenme oranını adil biçimde karşılaştırabilmek için, öğrenme oranını her değiştirdiğinde optimizasyonun sıfırdan başlamasını istersin. Bu nedenle, optimize edilmemiş bir model oluşturan get_new_model() adlı bir fonksiyon hazırladık.
Bu egzersiz
Python ile Deep Learning'e Giriş
kursunun bir parçasıdırEgzersiz talimatları
tensorflow.keras.optimizersiçindenSGD'yi içe aktar.- Denemek üzere
lr_to_testadlı bir öğrenme oranları listesi oluştur. Bu listedeki öğrenme oranları.000001,0.01ve1olmalı. lr_to_testüzerinde yinelemek için birfordöngüsü kullan:- Yeni, optimize edilmemiş bir model oluşturmak için
get_new_model()fonksiyonunu kullan. lr=lranahtar argümanıylaSGD()kurucusunu kullanarakmy_optimizeradlı bir optimizer oluştur.- Modelini derle.
optimizerparametresini yukarıda oluşturduğun SGD nesnesi yap ve bu bir sınıflandırma problemi olduğundanlossparametresi için'categorical_crossentropy'kullan. - Modelini
predictorsvetargetile eğit.
- Yeni, optimize edilmemiş bir model oluşturmak için
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Import the SGD optimizer
____
# Create list of learning rates: lr_to_test
lr_to_test = ____
# Loop over learning rates
for lr in lr_to_test:
print('\n\nTesting model with learning rate: %f\n'%lr )
# Build new model to test, unaffected by previous models
model = ____
# Create SGD optimizer with specified learning rate: my_optimizer
my_optimizer = ____
# Compile the model
____
# Fit the model
____