Inizia subitoInizia gratis

Allena una rete neurale con funzione di loss personalizzata

Ora useremo la funzione di loss personalizzata che abbiamo appena creato. Questo ci permette di modificare il comportamento del modello in modi utili per il nostro problema: cercherà almeno di imparare a prevedere correttamente la direzione del movimento del prezzo. Tutto ciò che dobbiamo fare è impostare l'argomento loss nella nostra funzione .compile() al nome della funzione, sign_penalty. Controlleremo di nuovo la loss di training per assicurarci che si sia appiattita.

Questo esercizio fa parte del corso

Machine Learning per la finanza in Python

Visualizza corso

Istruzioni dell'esercizio

  • Imposta l'input_dim del primo livello della rete neurale pari al numero di colonne di scaled_train_features tramite la proprietà .shape[1].
  • Usa la funzione di loss personalizzata sign_penalty per .compile() il nostro model_2.
  • Traccia la loss dallo history del fit. La loss è in history.history['loss'].

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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()
Modifica ed esegui il codice