MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Definisikan model sequential di keras bernama model.
  • 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=____)
Edit dan Jalankan Kode