Crea e addestra una semplice rete neurale
Il prossimo modello che impareremo a usare è una rete neurale. Le reti neurali possono catturare interazioni complesse tra variabili, ma sono difficili da configurare e comprendere. Di recente hanno superato esperti umani in molti campi, tra cui il riconoscimento di immagini e il gaming (dai un'occhiata ad AlphaGo), quindi hanno un grande potenziale di prestazioni.
Per costruire le nostre reti useremo la libreria keras. È un'API di alto livello che ci permette di creare rapidamente reti neurali, mantenendo comunque un buon controllo sul design. La prima cosa che faremo è creare quasi la rete più semplice possibile: una rete a 3 livelli che prende gli input e predice un singolo valore. Proprio come i modelli di sklearn, i modelli keras hanno un metodo .fit() che accetta come argomenti (features, targets).
Questo esercizio fa parte del corso
Machine Learning per la finanza in Python
Istruzioni dell'esercizio
- Crea un livello denso con 20 nodi e attivazione ReLU (
'relu') come 2º livello della rete neurale. - Crea l'ultimo livello denso con 1 nodo e attivazione lineare (
activation='linear'). - Addestra il modello su
scaled_train_featuresetrain_targets.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
from keras.models import Sequential
from keras.layers import Dense
# Create the model
model_1 = Sequential()
model_1.add(Dense(100, input_dim=scaled_train_features.shape[1], activation='relu'))
model_1.add(Dense(____, activation=____))
model_1.add(Dense(____, activation=____))
# Fit the model
model_1.compile(optimizer='adam', loss='mse')
history = model_1.fit(____, ____, epochs=25)