1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Machine Learning for Finance in Python

Connected

Cvičení

Boj s přetrénováním pomocí dropoutu

Častým problémem neuronových sítí je přetrénování (overfitting) na trénovacích datech. To znamená, že metrika jako R\(^2\) nebo přesnost vychází dobře pro trénovací sadu, ale špatně pro testovací a validační sadu – model se totiž přizpůsobil šumu v trénovacích datech.

Přetrénování lze omezit pomocí dropoutu. Ten během trénování náhodně vypíná část neuronů, čímž brání síti v přizpůsobování se šumu. keras nabízí vrstvu Dropout, která to za nás zajistí. Nastavíme dropout rate, tedy podíl spojení, která se během trénování náhodně vypínají. Zadává se jako desetinné číslo mezi 0 a 1 přímo do vrstvy Dropout().

Pro tento model se vrátíme ke ztrátové funkci mean squared error.

Pokyny

100 XP
  • Za první vrstvu Dense přidej do modelu vrstvu dropout (Dropout()) a nastav dropout rate na 20 % (0,2).
  • Při kompilaci modelu v .compile() použij optimalizátor adam a ztrátovou funkci mse.
  • Natrénuj model na scaled_train_features a train_targets po dobu 25 epoch.