Kom igångKom igång gratis

Lägga till lager i ett nätverk

Du har sett hur man experimenterar med bredare nätverk. I den här övningen provar du ett djupare nätverk med fler dolda lager.

Åter igen har du en basmodell som heter model_1 som startpunkt. Den har 1 dolt lager med 10 noder. En sammanfattning av modellens struktur skrivs ut. Du ska skapa ett liknande nätverk med 3 dolda lager, med 10 noder i varje lager.

Det tar en liten stund att träna båda modellerna, så du behöver vänta några sekunder på resultaten efter att du kört koden.

Den här övningen är en del av kursen

Introduktion till djupinlärning i Python

Visa kurs

Övningsinstruktioner

  • Definiera en modell kallad model_2 som liknar model_1, men med 3 dolda lager à 10 noder i stället för bara 1 dolt lager.
    • Använd input_shape för att ange indataformen i det första dolda lagret.
    • Använd 'relu'-aktivering för de 3 dolda lagren och 'softmax' för utdatalagret, som ska ha 2 noder.
  • Kompilera model_2 på samma sätt som tidigare modeller: med 'adam' som optimizer, 'categorical_crossentropy' som förlustfunktion och metrics=['accuracy'].
  • Klicka på 'Skicka in svar' för att träna båda modellerna och se vilken som ger bäst resultat!

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod