1. Nauka
  2. /
  3. Kursy
  4. /
  5. Uczenie maszynowe w finansach z Pythonem

Connected

ćwiczenie

Walka z przeuczeniem przy użyciu dropout

Jednym z częstych problemów sieci neuronowych jest ich tendencja do przeuczenia (overfitting) na danych treningowych. Oznacza to, że metryka oceny – na przykład R\(^2\) lub dokładność – jest wysoka dla zbioru treningowego, ale niska dla zbiorów testowego i walidacyjnego. Model dopasowuje się wtedy do szumu w danych treningowych zamiast do rzeczywistych zależności.

Aby ograniczyć ryzyko przeuczenia, można zastosować dropout. Technika ta losowo wyłącza część neuronów podczas trenowania, co utrudnia sieci zapamiętywanie szumu w danych. Biblioteka keras udostępnia warstwę Dropout, która to umożliwia. Wystarczy ustawić współczynnik dropout, czyli ułamek połączeń wyłączanych podczas trenowania – podaje się go jako wartość dziesiętną z przedziału od 0 do 1 w warstwie Dropout().

W tym modelu wrócimy do funkcji straty opartej na błędzie średniokwadratowym.

Instrukcje

100 XP
  • Po pierwszej warstwie Dense dodaj warstwę dropout (Dropout()) i ustaw współczynnik dropout na 20% (0.2).
  • Podczas kompilowania modelu w .compile() użyj optymalizatora adam oraz funkcji straty mse.
  • Dopasuj model do scaled_train_features i train_targets, stosując 25 epok.