НачатьНачать бесплатно

Обнаружение переобучения

В этом упражнении мы будем работать с небольшим подмножеством примеров из исходного набора данных с буквами языка жестов. Небольшая выборка в сочетании с моделью, имеющей большое количество параметров, как правило, приводит к переобучению. Это означает, что модель просто запоминает класс каждого примера вместо того, чтобы выявлять признаки, обобщаемые на многие примеры.

Вы обнаружите переобучение, проверив, существенно ли потери на валидационной выборке превышают потери на обучающей выборке и растут ли они по мере продолжения обучения. При малой выборке и высокой скорости обучения модели будет сложно сойтись к оптимуму. Вы зададите низкую скорость обучения для оптимизатора — это упростит выявление переобучения.

Обратите внимание, что keras уже импортирован из tensorflow.

Это упражнение является частью курса

Введение в TensorFlow на Python

Посмотреть курс

Инструкции к упражнению

  • Определите последовательную модель в keras с именем model.
  • Добавьте первый полносвязный слой с 1024 узлами, функцией активации relu и входной формой (784,).
  • Установите скорость обучения равной 0.001.
  • Настройте операцию fit() так, чтобы она выполняла 50 проходов по всей выборке и использовала 50% выборки для валидации.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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=____)
Редактировать и запускать код