IniziaInizia gratis

Definire il modello e la funzione di perdita

In questo esercizio allenerai una rete neurale per prevedere se un titolare di carta di credito andrà in default. Le caratteristiche e i target che userai per addestrare la rete sono disponibili nella shell Python come borrower_features e default. Hai definito pesi e bias nell'esercizio precedente.

Nota che il livello predictions è definito come \(\sigma(layer1*w2+b2)\), dove \(\sigma\) è l'attivazione sigmoidale, layer1 è un tensore di nodi per il primo livello denso nascosto, w2 è un tensore di pesi e b2 è il tensore di bias.

Le variabili addestrabili sono w1, b1, w2 e b2. Inoltre, le seguenti operazioni sono già state importate per te: keras.activations.relu() e keras.layers.Dropout().

Questo esercizio fa parte del corso

Introduzione a TensorFlow in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Applica una funzione di attivazione ReLU al primo livello.
  • Applica un dropout del 25% a layer1.
  • Passa il target, targets, e i valori previsti, predictions, alla funzione di perdita a entropia incrociata.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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(____, ____)
Modifica ed esegui il codice