Aan de slagGa gratis aan de slag

Het model en de verliesfunctie definiëren

In deze oefening ga je een neuraal netwerk trainen om te voorspellen of een creditcardhouder in gebreke blijft. De features en targets waarmee je je netwerk traint, staan in de Python-shell als borrower_features en default. Je hebt de gewichten en biases in de vorige oefening gedefinieerd.

Let op: de laag predictions is gedefinieerd als \(\sigma(layer1*w2+b2)\), waarbij \(\sigma\) de sigmoid-activatie is, layer1 een tensor met knooppunten voor de eerste verborgen dense laag, w2 een tensor met gewichten is en b2 de bias-tensor.

De trainbare variabelen zijn w1, b1, w2 en b2. Daarnaast zijn de volgende operaties alvast voor je geïmporteerd: keras.activations.relu() en keras.layers.Dropout().

Deze oefening maakt deel uit van de cursus

Introductie tot TensorFlow in Python

Cursus bekijken

Oefeninstructies

  • Pas een rectified linear unit-activatiefunctie toe op de eerste laag.
  • Pas 25% dropout toe op layer1.
  • Geef het target, targets, en de voorspelde waarden, predictions, door aan de cross-entropy-verliesfunctie.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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(____, ____)
Code bewerken en uitvoeren