Aan de slagGa gratis aan de slag

Lagen toevoegen aan een netwerk

Je hebt gezien hoe je kunt experimenteren met bredere netwerken. In deze oefening probeer je een dieper netwerk (meer verborgen lagen).

Je hebt opnieuw een basismodel model_1 als startpunt. Het heeft 1 verborgen laag met 10 units. Je ziet een samenvatting van de modelstructuur afgedrukt. Jij maakt een vergelijkbaar netwerk met 3 verborgen lagen (nog steeds 10 units per laag).

Het kost opnieuw even tijd om beide modellen te fitten, dus wacht een paar seconden op de resultaten nadat je je code hebt uitgevoerd.

Deze oefening maakt deel uit van de cursus

Introductie tot Deep Learning in Python

Cursus bekijken

Oefeninstructies

  • Specificeer een model model_2 dat lijkt op model_1, maar met 3 verborgen lagen van 10 units in plaats van slechts 1 verborgen laag.
    • Gebruik input_shape om de inputvorm in de eerste verborgen laag te specificeren.
    • Gebruik 'relu' als activatie voor de 3 verborgen lagen en 'softmax' voor de outputlaag, die 2 units moet hebben.
  • Compileer model_2 zoals je eerder hebt gedaan: gebruik 'adam' als optimizer, 'categorical_crossentropy' voor de loss en metrics=['accuracy'].
  • Klik op 'Antwoord verzenden' om beide modellen te fitten en te visualiseren welk model betere resultaten geeft!

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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()
Code bewerken en uitvoeren