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
Petunjuk latihan
- Impor
EarlyStoppingdaritensorflow.keras.callbacks. - Kompilasi model, kembali gunakan
'adam'sebagaioptimizer,'categorical_crossentropy'sebagai fungsi loss, danmetrics=['accuracy']untuk melihat akurasi pada setiap epoch. - Buat objek
EarlyStoppingbernamaearly_stopping_monitor. Hentikan optimisasi ketika validation loss tidak membaik selama 2 epoch dengan menetapkan parameterpatiencedariEarlyStopping()menjadi2. - Latih model menggunakan
predictorsdantarget. Tentukan jumlahepochssebesar30dan gunakan validation split sebesar0.3. Selain itu, berikan[early_stopping_monitor]ke parametercallbacks.
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
____