Kom igångKom igång gratis

Definiera modellen och förlustfunktionen

I den här övningen tränar du ett neuralt nätverk för att förutsäga om en kreditkortsinnehavare kommer att ställa in betalningen. De särdrag och målvärden du ska använda för träningen finns tillgängliga i Python-skalet som borrower_features respektive default. Vikterna och biastermerna definierade du i föregående övning.

Observera att lagret predictions definieras som \(\sigma(layer1*w2+b2)\), där \(\sigma\) är sigmoid-aktiveringsfunktionen, layer1 är en tensor med noder för det första dolda täta lagret, w2 är en vikttensor och b2 är biastensorn.

De träningsbara variablerna är w1, b1, w2 och b2. Dessutom har följande operationer importerats åt dig: keras.activations.relu() och keras.layers.Dropout().

Den här övningen är en del av kursen

Introduktion till TensorFlow i Python

Visa kurs

Övningsinstruktioner

  • Tillämpa en rektifierad linjär enhet (ReLU) som aktiveringsfunktion på det första lagret.
  • Tillämpa 25% dropout på layer1.
  • Skicka målvärdena, targets, och de förutsagda värdena, predictions, till korsentriförlustfunktionen.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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(____, ____)
Redigera och kör kod