MulaiMulai sekarang secara gratis

Early stopping: Mengoptimalkan proses optimisasi

Sekarang setelah Anda tahu cara memantau kinerja model selama proses optimisasi, Anda dapat menggunakan early stopping untuk menghentikan optimisasi ketika tidak lagi membantu. Karena optimisasi berhenti otomatis saat tidak memberikan perbaikan, Anda juga dapat mengatur nilai epochs yang tinggi pada pemanggilan .fit(), seperti yang ditunjukkan Dan dalam video.

Model yang akan Anda optimalkan telah ditentukan sebagai model. Seperti sebelumnya, data telah dimuat sebagai predictors dan target.

Latihan ini adalah bagian dari kursus

Pengantar Deep Learning dengan Python

Lihat Kursus

Petunjuk latihan

  • Impor EarlyStopping dari tensorflow.keras.callbacks.
  • Kompilasi model, kembali gunakan 'adam' sebagai optimizer, 'categorical_crossentropy' sebagai fungsi loss, dan metrics=['accuracy'] untuk melihat akurasi pada setiap epoch.
  • Buat objek EarlyStopping bernama early_stopping_monitor. Hentikan optimisasi ketika validation loss tidak membaik selama 2 epoch dengan menetapkan parameter patience dari EarlyStopping() menjadi 2.
  • Latih model menggunakan predictors dan target. Tentukan jumlah epochs sebesar 30 dan gunakan validation split sebesar 0.3. Selain itu, berikan [early_stopping_monitor] ke parameter callbacks.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Import EarlyStopping
____

# Save the number of columns in predictors: n_cols
n_cols = predictors.shape[1]
input_shape = (n_cols,)

# Specify the model
model = Sequential()
model.add(Dense(100, activation='relu', input_shape = input_shape))
model.add(Dense(100, activation='relu'))
model.add(Dense(2, activation='softmax'))

# Compile the model
____

# Define early_stopping_monitor
early_stopping_monitor = ____

# Fit the model
____
Edit dan Jalankan Kode