Définir le modèle et la fonction de perte
Dans cet exercice, vous allez entraîner un réseau de neurones pour prédire si un titulaire de carte de crédit fera défaut. Les variables explicatives et la cible à utiliser pour l’entraînement sont disponibles dans le shell Python sous les noms borrower_features et default. Vous avez défini les poids et les biais à l’exercice précédent.
Notez que la couche predictions est définie comme \(\sigma(layer1*w2+b2)\), où \(\sigma\) est l’activation sigmoïde, layer1 est un tenseur de nœuds pour la première couche dense cachée, w2 est un tenseur de poids, et b2 est le tenseur de biais.
Les variables entraînables sont w1, b1, w2 et b2. De plus, les opérations suivantes ont été importées pour vous : keras.activations.relu() et keras.layers.Dropout().
Cet exercice fait partie du cours
Introduction à TensorFlow en Python
Instructions
- Appliquez une fonction d’activation ReLU (unité linéaire rectifiée) à la première couche.
- Appliquez 25 % de dropout à
layer1. - Passez la cible
targetset les valeurs préditespredictionsà la fonction de perte d’entropie croisée.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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(____, ____)