1. Learn
  2. /
  3. Kurser
  4. /
  5. Machine Learning для фінансів у Python

Connected

Övning

Боротьба з перенавчанням за допомогою dropout

Поширена проблема нейронних мереж — схильність до перенавчання на тренувальних даних. Це означає, що метрика, наприклад R\(^2\) або точність, висока на тренувальній вибірці, але низька на тестовій і валідаційній, і модель підлаштовується під шум у тренувальних даних.

Ми можемо запобігати перенавчанню, використовуючи відсікання (dropout). Під час навчання випадково «вимикаються» деякі нейрони, що допомагає завадити мережі підганяти шум у тренувальних даних. У keras є шар Dropout, який можна для цього використати. Потрібно задати ставку відсікання — частку з'єднань, що відсікаються під час навчання. Її задають десятковим числом від 0 до 1 у шарі Dropout().

Для цієї моделі ми повернемося до функції втрат середньоквадратичної помилки (mean squared error).

Instruktioner

100 XP
  • Додайте шар відсікання (Dropout()) після першого шару Dense у моделі й використайте ставку 20% (0.2).
  • Використайте оптимізатор adam і функцію втрат mse під час компіляції моделі в .compile().
  • Навчіть модель на scaled_train_features і train_targets, використовуючи 25 епох.