Aan de slagGa gratis aan de slag

De verliesfunctie aanpassen

In de vorige oefening definieerde je een tensorflow-verliesfunctie en evalueerde je die één keer voor een set werkelijke en voorspelde waarden. In deze oefening bereken je het verlies binnen een andere functie, loss_function(), die eerst voorspelde waarden genereert op basis van de data en variabelen. Het doel hiervan is een functie te maken van de trainbare modelvariabelen die het verlies teruggeeft. Je kunt deze functie dan herhaaldelijk evalueren voor verschillende variabelewaarden totdat je het minimum vindt. In de praktijk geef je deze functie door aan een optimizer in tensorflow. Let op: features en targets zijn gedefinieerd en beschikbaar. Daarnaast zijn Variable, float32 en keras beschikbaar.

Deze oefening maakt deel uit van de cursus

Introductie tot TensorFlow in Python

Cursus bekijken

Oefeninstructies

  • Definieer een variabele, scalar, met een beginwaarde van 1.0 en het type float32.
  • Definieer een functie loss_function(), die scalar, features en targets als argumenten in die volgorde neemt.
  • Gebruik een verliesfunctie op basis van mean absolute error.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Initialize a variable named scalar
scalar = ____(1.0, ____)

# Define the model
def model(scalar, features = features):
  	return scalar * features

# Define a loss function
def loss_function(____, features = features, targets = targets):
	# Compute the predicted values
	predictions = model(scalar, features)
    
	# Return the mean absolute error loss
	return keras.losses.____(targets, predictions)

# Evaluate the loss function and print the loss
print(loss_function(scalar).numpy())
Code bewerken en uitvoeren