Construiește și antrenează o rețea neuronală simplă
Următorul model pe care îl vom folosi este o rețea neuronală. Rețelele neuronale pot surprinde interacțiuni complexe între variabile, însă sunt mai dificil de configurat și de înțeles. În ultimii ani, au depășit experți umani în numeroase domenii, inclusiv recunoașterea imaginilor și jocuri strategice (vezi AlphaGo) — ceea ce le conferă un potențial ridicat de performanță.
Pentru a construi rețelele noastre, vom folosi biblioteca keras. Aceasta este un API de nivel înalt care ne permite să creăm rețele neuronale rapid, păstrând totodată un control ridicat asupra designului. Primul pas este să creăm o rețea cât mai simplă — o rețea cu 3 straturi care primește datele de intrare și prezice o singură valoare. La fel ca modelele din sklearn, modelele keras au o metodă .fit() care primește argumentele (features, targets).
Acest exercițiu face parte din cursul
Machine Learning pentru finanțe în Python
Instrucțiuni pentru exercițiu
- Creează un strat dens cu 20 de noduri și activarea ReLU (
'relu'), ca al 2\(^{lea}\) strat din rețeaua neuronală. - Creează ultimul strat dens cu 1 nod și activare liniară (
activation='linear'). - Antrenează modelul folosind
scaled_train_featuresșitrain_targets.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)