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 une personne titulaire d'une carte de crédit fera défaut de paiement. Les variables explicatives et les cibles pour entraîner votre réseau sont disponibles dans le shell Python sous borrower_features et default. Vous avez défini les poids et les biais dans 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 neurones 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().
Cette activité fait partie du cours
Introduction à TensorFlow en Python
Instructions de l’exercice
- Appliquez une fonction d'activation ReLU (unité linéaire rectifiée) à la première couche.
- Appliquez un abandon de 25 % à
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 ce code d’exemple.
# 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(____, ____)