ComeçarComece de graça

Adicionando camadas a uma rede

Você viu como experimentar redes mais largas. Neste exercício, você vai testar uma rede mais profunda (com mais camadas ocultas).

Mais uma vez, você tem um modelo de referência chamado model_1 como ponto de partida. Ele tem 1 camada oculta, com 10 unidades. Você pode ver um resumo da estrutura desse modelo impresso. Você vai criar uma rede semelhante com 3 camadas ocultas (mantendo 10 unidades em cada camada).

Novamente, levará um momento para ajustar (fit) ambos os modelos, então você precisará esperar alguns segundos para ver os resultados depois de executar seu código.

Este exercício faz parte do curso

Introdução a Deep Learning em Python

Ver curso

Instruções do exercício

  • Especifique um modelo chamado model_2 semelhante ao model_1, mas com 3 camadas ocultas de 10 unidades em vez de apenas 1 camada oculta.
    • Use input_shape para especificar o formato de entrada na primeira camada oculta.
    • Use ativação 'relu' nas 3 camadas ocultas e 'softmax' na camada de saída, que deve ter 2 unidades.
  • Compile o model_2 como nos modelos anteriores: usando 'adam' como optimizer, 'categorical_crossentropy' como loss e metrics=['accuracy'].
  • Clique em 'Enviar Resposta' para ajustar (fit) ambos os modelos e visualizar qual deles traz melhores resultados!

Exercício interativo prático

Experimente este exercício completando 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()
Editar e executar o código