Detecção de overfitting
Neste exercício, vamos trabalhar com um pequeno subconjunto dos exemplos do conjunto de dados original de letras em linguagem de sinais. Uma amostra pequena, combinada a um modelo com muitos parâmetros, geralmente leva a overfitting. Isso significa que seu modelo vai simplesmente memorizar a classe de cada exemplo, em vez de identificar características que se generalizam para muitos exemplos.
Você vai detectar overfitting verificando se a perda no conjunto de validação é substancialmente maior do que a perda no conjunto de treinamento e se ela aumenta com mais treino. Com uma amostra pequena e uma taxa de aprendizado alta, o modelo terá dificuldade para convergir para um ótimo. Você vai definir uma taxa de aprendizado baixa para o otimizador, o que tornará mais fácil identificar o overfitting.
Observe que keras foi importado de tensorflow.
Este exercício faz parte do curso
Introdução ao TensorFlow em Python
Instruções do exercício
- Defina um modelo sequencial em
keraschamadomodel. - Adicione uma primeira camada densa com 1024 nós, ativação
relue formato de entrada (784,). - Defina a taxa de aprendizado como 0.001.
- Defina a operação
fit()para iterar sobre a amostra completa 50 vezes e usar 50% da amostra para validação.
Exercício interativo prático
Experimente este exercício completando 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=____)