ПочатиПочніть безкоштовно

Виявлення перенавчання

У цій вправі ми працюватимемо з невеликою підвибіркою прикладів із початкового набору даних із літерами жестової мови. Невелика вибірка разом із моделлю з великою кількістю параметрів зазвичай призводять до перенавчання. Це означає, що ваша модель просто запам'ятає клас кожного прикладу, а не виокремить ознаки, які узагальнюються на багато прикладів.

Ви визначите перенавчання, перевіривши, чи суттєво вища функція втрат на валідаційній вибірці, ніж на тренувальній, і чи зростає вона з подальшим навчанням. За малої вибірки та високої швидкості навчання моделі важко збігатися до оптимуму. Ви встановите низьку швидкість навчання для оптимізатора, що полегшить виявлення перенавчання.

Зауважте, що 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=____)
Редагувати та запускати код