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
Pokyny k cvičení
- Nastav
input_dimprvní vrstvy neuronové sítě na počet sloupců polescaled_train_featurespomocí vlastnosti.shape[1]. - Při volání
.compile()na modelumodel_2použij vlastní ztrátovou funkcisign_penalty. - Vykresli ztrátu z
historypo natrénování modelu. Hodnoty ztráty najdeš vhistory.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()