CommencezCommencez gratuitement

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

Voir le cours

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 targets et les valeurs prédites predictions à 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(____, ____)
Modifier et exécuter le code