Deteksi overfitting
Dalam latihan ini, kita akan bekerja dengan subset kecil dari contoh pada himpunan data huruf bahasa isyarat asli. Sampel yang kecil, ditambah model dengan banyak parameter, umumnya akan menyebabkan overfitting. Artinya, model Anda hanya akan menghafal kelas dari tiap contoh, alih-alih mengenali fitur yang dapat digeneralisasi ke banyak contoh.
Anda akan mendeteksi overfitting dengan memeriksa apakah loss pada sampel validasi jauh lebih tinggi daripada loss pada sampel pelatihan dan apakah nilainya meningkat saat pelatihan dilanjutkan. Dengan sampel kecil dan laju pembelajaran yang tinggi, model akan kesulitan berkonvergensi pada optimum. Anda akan menetapkan laju pembelajaran rendah untuk optimizer, sehingga lebih mudah mengidentifikasi overfitting.
Perhatikan bahwa keras telah diimpor dari tensorflow.
Latihan ini adalah bagian dari kursus
Pendahuluan TensorFlow di Python
Petunjuk latihan
- Definisikan model sequential di
kerasbernamamodel. - Tambahkan layer dense pertama dengan 1024 node, aktivasi
relu, dan bentuk masukan (784,). - Atur laju pembelajaran ke 0,001.
- Atur operasi
fit()untuk melakukan iterasi atas seluruh sampel sebanyak 50 kali dan menggunakan 50% sampel untuk tujuan validasi.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Define sequential model
____
# Define the first layer
____
# Add activation function to classifier
model.add(keras.layers.Dense(4, activation='softmax'))
# Finish the model compilation
model.compile(optimizer=keras.optimizers.Adam(lr=____),
loss='categorical_crossentropy', metrics=['accuracy'])
# Complete the model fit operation
model.fit(sign_language_features, sign_language_labels, epochs=____, validation_split=____)