Menambahkan lapisan ke jaringan
Anda telah melihat cara bereksperimen dengan jaringan yang lebih lebar. Dalam latihan ini, Anda akan mencoba jaringan yang lebih dalam (lebih banyak lapisan tersembunyi).
Sekali lagi, Anda memiliki model dasar bernama model_1 sebagai titik awal. Model ini memiliki 1 lapisan tersembunyi dengan 10 unit. Anda dapat melihat ringkasan struktur model tersebut yang dicetak. Anda akan membuat jaringan serupa dengan 3 lapisan tersembunyi (masih menggunakan 10 unit di setiap lapisan).
Proses pemodelan untuk keduanya akan memakan waktu sejenak, jadi Anda perlu menunggu beberapa detik untuk melihat hasilnya setelah Anda menjalankan kode.
Latihan ini adalah bagian dari kursus
Pengantar Deep Learning dengan Python
Petunjuk latihan
- Tentukan model bernama
model_2yang mirip denganmodel_1, tetapi memiliki 3 lapisan tersembunyi berisi 10 unit, alih-alih hanya 1 lapisan tersembunyi.- Gunakan
input_shapeuntuk menentukan bentuk masukan pada lapisan tersembunyi pertama. - Gunakan aktivasi
'relu'untuk ketiga lapisan tersembunyi dan'softmax'untuk lapisan keluaran, yang harus memiliki 2 unit.
- Gunakan
- Kompilasi
model_2seperti yang telah Anda lakukan pada model sebelumnya: gunakan'adam'sebagaioptimizer,'categorical_crossentropy'untuk loss, danmetrics=['accuracy']. - Tekan 'Kirim Jawaban' untuk melatih kedua model dan memvisualisasikan mana yang memberikan hasil lebih baik!
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# The input shape to use in the first hidden layer
input_shape = (n_cols,)
# Create the new model: model_2
model_2 = ____
# Add the first, second, and third hidden layers
____
____
____
# Add the output layer
____
# Compile model_2
____
# Fit model 1
model_1_training = model_1.fit(predictors, target, epochs=15, validation_split=0.4, verbose=False)
# Fit model 2
model_2_training = model_2.fit(predictors, target, epochs=15, validation_split=0.4, verbose=False)
# Create the plot
plt.plot(model_1_training.history['val_loss'], 'r', model_2_training.history['val_loss'], 'b')
plt.xlabel('Epochs')
plt.ylabel('Validation score')
plt.show()