Začněte nyníZačněte zdarma

Trénink neuronové sítě s vlastní ztrátovou funkcí

Teď využijeme vlastní ztrátovou funkci, kterou jsme právě vytvořili. Díky ní můžeme chování modelu přizpůsobit tak, aby co nejlépe odpovídalo našemu problému – konkrétně ho donutíme, aby se naučil správně předpovídat alespoň směr pohybu ceny. Stačí nastavit argument loss ve funkci .compile() na název naší funkce sign_penalty. Pak se ještě podíváme na průběh trénovací ztráty a ověříme, že se ustálila.

Toto cvičení je součástí kurzu

Machine Learning for Finance in Python

Zobrazit kurz

Pokyny k cvičení

  • Nastav input_dim první vrstvy neuronové sítě na počet sloupců pole scaled_train_features pomocí vlastnosti .shape[1].
  • Při volání .compile() na modelu model_2 použij vlastní ztrátovou funkci sign_penalty.
  • Vykresli ztrátu z history po natrénování modelu. Hodnoty ztráty najdeš v history.history['loss'].

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Create the model
model_2 = Sequential()
model_2.add(Dense(100, input_dim=____, activation='relu'))
model_2.add(Dense(20, activation='relu'))
model_2.add(Dense(1, activation='linear'))

# Fit the model with our custom 'sign_penalty' loss function
model_2.compile(optimizer='adam', loss=____)
history = model_2.fit(scaled_train_features, train_targets, epochs=25)
plt.plot(____)
plt.title('loss:' + str(round(history.history['loss'][-1], 6)))
plt.show()
Upravit a spustit kód