Adicionando camadas a uma rede
Você já viu como fazer experiências com redes mais amplas. Neste exercício, você tentará usar uma rede mais profunda (mais camadas ocultas).
Mais uma vez, você tem um modelo de linha de base chamado model_1
como ponto de partida. Ele tem uma camada oculta, com 10
unidades. Você pode ver um resumo da estrutura desse modelo impresso. Você criará uma rede semelhante com 3 camadas ocultas (ainda mantendo 10 unidades em cada camada).
Isso levará um momento para ajustar os dois modelos, portanto, você precisará aguardar alguns segundos para ver os resultados depois de executar o código.
Este exercício faz parte do curso
Introdução à aprendizagem profunda em Python
Instruções de exercício
Especifique um modelo chamado
model_2
que seja comomodel_1
, mas que tenha 3 camadas ocultas de 10 unidades em vez de apenas 1 camada oculta.Use
input_shape
para especificar a forma de entrada na primeira camada oculta.Use a ativação
'relu'
para as 3 camadas ocultas e'softmax'
para a camada de saída, que deve ter 2 unidades.
Compile o site
model_2
como você fez com os modelos anteriores: Usando'adam'
comooptimizer
,'categorical_crossentropy'
para a perda emetrics=['accuracy']
.Clique em "Submit Answer" (Enviar resposta) para ajustar os dois modelos e visualizar qual deles apresenta os melhores resultados!
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# 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()