Modell und Verlustfunktion definieren
In dieser Übung trainierst du ein neuronales Netzwerk, das vorhersagt, ob eine Kreditkarteninhaberin bzw. ein -inhaber in Verzug gerät. Die Merkmale und Zielwerte zum Trainieren deines Netzwerks stehen dir in der Python-Konsole als borrower_features und default zur Verfügung. Die Gewichte und Biases hast du in der vorherigen Übung definiert.
Beachte, dass die predictions-Schicht als \(\sigma(layer1*w2+b2)\) definiert ist, wobei \(\sigma\) die Sigmoid-Aktivierung ist, layer1 ein Tensor der Knoten der ersten verborgenen Dense-Schicht, w2 ein Tensor der Gewichte und b2 der Bias-Tensor.
Die trainierbaren Variablen sind w1, b1, w2 und b2. Außerdem wurden die folgenden Operationen für dich importiert: keras.activations.relu() und keras.layers.Dropout().
Diese Übung ist Teil des Kurses
Einführung in TensorFlow mit Python
Anleitung zur Übung
- Wende auf die erste Schicht eine ReLU-Aktivierungsfunktion (rectified linear unit) an.
- Wende 25 % Dropout auf
layer1an. - Übergib das Ziel
targetsund die vorhergesagten Wertepredictionsan die Kreuzentropie-Verlustfunktion.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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(____, ____)