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
Oefeninstructies
- Definieer een variabele,
scalar, met een beginwaarde van 1.0 en het typefloat32. - Definieer een functie
loss_function(), diescalar,featuresentargetsals 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())