Adăugarea de straturi într-o rețea
Ai văzut cum să experimentezi cu rețele mai largi. În acest exercițiu, vei încerca o rețea mai adâncă (cu mai multe straturi ascunse).
Din nou, ai un model de referință numit model_1 ca punct de plecare. Acesta are 1 strat ascuns cu 10 unități. Poți vedea un rezumat al structurii acelui model afișat mai jos. Vei crea o rețea similară cu 3 straturi ascunse (păstrând în continuare câte 10 unități în fiecare strat).
Antrenarea ambelor modele va dura puțin, așa că va trebui să aștepți câteva secunde pentru a vedea rezultatele după ce rulezi codul.
Acest exercițiu face parte din cursul
Introducere în Deep Learning în Python
Instrucțiuni pentru exercițiu
- Definește un model numit
model_2, similar cumodel_1, dar care are 3 straturi ascunse de câte 10 unități în loc de unul singur.- Folosește
input_shapepentru a specifica forma intrării în primul strat ascuns. - Folosește activarea
'relu'pentru cele 3 straturi ascunse și'softmax'pentru stratul de ieșire, care ar trebui să aibă 2 unități.
- Folosește
- Compilează
model_2la fel cum ai făcut cu modelele anterioare: folosind'adam'caoptimizer,'categorical_crossentropy'pentru loss șimetrics=['accuracy']. - Apasă Trimite răspunsul pentru a antrena ambele modele și a vizualiza care dintre ele oferă rezultate mai bune!
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()