MulaiMulai sekarang secara gratis

Mengubah parameter optimisasi

Saatnya Anda praktik melakukan optimisasi. Sekarang Anda akan mencoba mengoptimalkan sebuah model dengan laju pembelajaran yang sangat rendah, sangat tinggi, dan yang "pas". Setelah menjalankan latihan ini, periksalah hasilnya, dengan mengingat bahwa nilai fungsi loss yang rendah adalah baik.

Untuk latihan ini, kami telah memuat sebelumnya prediktor dan nilai target dari model klasifikasi Anda sebelumnya (memprediksi siapa yang akan selamat di Titanic). Anda perlu agar proses optimisasi dimulai dari awal setiap kali Anda mengubah laju pembelajaran, untuk memberikan perbandingan yang adil tentang kinerja masing-masing laju pembelajaran pada hasil Anda. Karena itu kami membuat fungsi get_new_model() yang membuat model yang belum dioptimalkan untuk dioptimasi.

Latihan ini adalah bagian dari kursus

Pengantar Deep Learning dengan Python

Lihat Kursus

Petunjuk latihan

  • Impor SGD dari tensorflow.keras.optimizers.
  • Buat sebuah list laju pembelajaran untuk dicoba saat mengoptimasi bernama lr_to_test. Nilai laju pembelajaran di dalamnya harus .000001, 0.01, dan 1.
  • Gunakan loop for untuk mengiterasi lr_to_test:
    • Gunakan fungsi get_new_model() untuk membangun model baru yang belum dioptimalkan.
    • Buat sebuah optimizer bernama my_optimizer menggunakan konstruktor SGD() dengan argumen kata kunci lr=lr.
    • Kompilasi model Anda. Atur parameter optimizer menjadi objek SGD yang Anda buat di atas, dan karena ini adalah masalah klasifikasi, gunakan 'categorical_crossentropy' untuk parameter loss.
    • Latih model Anda menggunakan predictors dan target.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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
    ____
Edit dan Jalankan Kode