Mendefinisikan model dan fungsi loss
Dalam latihan ini, Anda akan melatih jaringan saraf untuk memprediksi apakah pemegang kartu kredit akan gagal bayar (default). Fitur dan target yang akan Anda gunakan untuk melatih jaringan tersedia di Python shell sebagai borrower_features dan default. Anda telah mendefinisikan bobot dan bias pada latihan sebelumnya.
Perhatikan bahwa layer predictions didefinisikan sebagai \(\sigma(layer1*w2+b2)\), di mana \(\sigma\) adalah aktivasi sigmoid, layer1 adalah tensor node untuk layer dense tersembunyi pertama, w2 adalah tensor bobot, dan b2 adalah tensor bias.
Variabel yang dapat dilatih adalah w1, b1, w2, dan b2. Selain itu, operasi berikut telah diimpor untuk Anda: keras.activations.relu() dan keras.layers.Dropout().
Latihan ini adalah bagian dari kursus
Pendahuluan TensorFlow di Python
Petunjuk latihan
- Terapkan fungsi aktivasi rectified linear unit pada layer pertama.
- Terapkan dropout 25% pada
layer1. - Berikan target,
targets, dan nilai prediksi,predictions, ke fungsi loss cross entropy.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Define the model
def model(w1, b1, w2, b2, features = borrower_features):
# Apply relu activation functions to layer 1
layer1 = keras.activations.____(matmul(features, w1) + b1)
# Apply dropout rate of 0.25
dropout = keras.layers.Dropout(____)(____)
return keras.activations.sigmoid(matmul(dropout, w2) + b2)
# Define the loss function
def loss_function(w1, b1, w2, b2, features = borrower_features, targets = default):
predictions = model(w1, b1, w2, b2)
# Pass targets and predictions to the cross entropy loss
return keras.losses.binary_crossentropy(____, ____)