ÎncepețiÎncepe gratuit

Antrenează rețeaua neuronală cu o funcție de pierdere personalizată

Acum vom folosi funcția de pierdere personalizată pe care tocmai am creat-o. Aceasta ne permite să ajustăm comportamentul modelului în moduri utile, specifice problemei noastre – modelul va fi forțat să învețe cel puțin direcția corectă a mișcării prețului. Tot ce trebuie să facem este să setăm argumentul loss din funcția .compile() la numele funcției noastre, sign_penalty. Vom analiza din nou pierderea din antrenament pentru a ne asigura că s-a stabilizat.

Acest exercițiu face parte din cursul

Machine Learning pentru finanțe în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Setează input_dim al primului strat al rețelei neuronale la numărul de coloane ale lui scaled_train_features, folosind proprietatea .shape[1].
  • Folosește funcția de pierdere personalizată sign_penalty pentru a apela .compile() pe model_2.
  • Reprezintă grafic pierderea din history rezultat în urma antrenamentului. Pierderea se găsește la history.history['loss'].

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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()
Editează și rulează codul