Ebenen zu einem Netzwerk hinzufügen
Du hast gesehen, wie du mit größeren Netzwerken experimentieren kannst. In dieser Übung probierst du ein tieferes Netzwerk aus (mehr versteckte Schichten).
Du hast wieder ein Basismodell namens „ model_1
” als Ausgangspunkt. Es hat eine versteckte Schicht mit 10
Einheiten. Du kannst eine Zusammenfassung der Struktur dieses Modells ausgedruckt sehen. Du wirst ein ähnliches Netzwerk mit 3 versteckten Schichten erstellen (wobei du weiterhin 10 Einheiten in jeder Schicht behältst).
Das Anpassen beider Modelle dauert wieder einen Moment, sodass du nach dem Ausführen deines Codes einige Sekunden warten musst, bis die Ergebnisse angezeigt werden.
Diese Übung ist Teil des Kurses
Einführung in Deep Learning mit Python
Anleitung zur Übung
Gib ein Modell namens „
model_2
“ an, das wie „model_1
“ ist, aber statt nur einer versteckten Schicht drei versteckte Schichten mit jeweils zehn Einheiten hat.Verwende „
input_shape
“, um die Eingabeform in der ersten versteckten Schicht anzugeben.Verwende die Aktivierung „
'relu'
“ für die 3 versteckten Schichten und „'softmax'
“ für die Ausgabeschicht, die 2 Einheiten haben sollte.
Kompiliere „
model_2
” so, wie du es bei den vorherigen Modellen gemacht hast: Mit „'adam'
” alsoptimizer
, „'categorical_crossentropy'
” für den Verlust und „metrics=['accuracy']
”.Klick auf „Antwort senden“, um beide Modelle anzupassen und zu sehen, welches besser funktioniert!
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# The input shape to use in the first hidden layer
input_shape = (n_cols,)
# Create the new model: model_2
model_2 = ____
# Add the first, second, and third hidden layers
____
____
____
# Add the output layer
____
# Compile model_2
____
# Fit model 1
model_1_training = model_1.fit(predictors, target, epochs=15, validation_split=0.4, verbose=False)
# Fit model 2
model_2_training = model_2.fit(predictors, target, epochs=15, validation_split=0.4, verbose=False)
# Create the plot
plt.plot(model_1_training.history['val_loss'], 'r', model_2_training.history['val_loss'], 'b')
plt.xlabel('Epochs')
plt.ylabel('Validation score')
plt.show()