Detecção de sobreajuste
Neste exercício, trabalharemos com um pequeno subconjunto de exemplos do conjunto de dados original de letras da língua de sinais. Uma amostra pequena, juntamente com um modelo altamente parametrizado, geralmente leva a um ajuste excessivo. Isso significa que seu modelo simplesmente memorizará a classe de cada exemplo, em vez de identificar recursos que generalizam para muitos exemplos.
Você detectará o ajuste excessivo verificando se a perda da amostra de validação é substancialmente maior do que a perda da amostra de treinamento e se ela aumenta com o treinamento adicional. Com uma amostra pequena e uma alta taxa de aprendizado, o modelo terá dificuldade para convergir para um ótimo. Você definirá uma taxa de aprendizado baixa para o otimizador, o que facilitará a identificação do excesso de ajuste.
Observe que keras
foi importado de tensorflow
.
Este exercício faz parte do curso
Introdução ao TensorFlow em Python
Instruções de exercício
- Defina um modelo sequencial em
keras
chamadomodel
. - Adicione uma primeira camada densa com 1024 nós, uma ativação
relu
e uma forma de entrada de (784,). - Defina a taxa de aprendizado como 0,001.
- Defina a operação
fit()
para iterar sobre a amostra completa 50 vezes e use 50% da amostra para fins de validação.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# Define sequential model
____
# Define the first layer
____
# Add activation function to classifier
model.add(keras.layers.Dense(4, activation='softmax'))
# Finish the model compilation
model.compile(optimizer=keras.optimizers.Adam(lr=____),
loss='categorical_crossentropy', metrics=['accuracy'])
# Complete the model fit operation
model.fit(sign_language_features, sign_language_labels, epochs=____, validation_split=____)