Bouw en train een eenvoudige neural net
Het volgende model dat je leert gebruiken is een neural network. Neural nets kunnen complexe interacties tussen variabelen vastleggen, maar zijn lastig in te stellen en te begrijpen. De laatste jaren verslaan ze menselijke experts in veel domeinen, waaronder beeldherkenning en gaming (bekijk AlphaGo) — ze hebben dus veel potentie om goed te presteren.
Voor het bouwen van onze nets gebruiken we de keras-bibliotheek. Dit is een high-level API waarmee je snel neural nets kunt maken, terwijl je toch veel controle over het ontwerp houdt. We beginnen met bijna het simpelste net mogelijk: een 3-laags net dat de inputs neemt en één waarde voorspelt. Net als de sklearn-modellen hebben keras-modellen een .fit()-methode die argumenten (features, targets) verwacht.
Deze oefening maakt deel uit van de cursus
Machine Learning voor finance in Python
Oefeninstructies
- Maak als 2e laag in het neural network een dense-laag met 20 nodes en de ReLU-activatie (
'relu'). - Maak de laatste dense-laag met 1 node en een lineaire activatie (
activation='linear'). - Train het model op
scaled_train_featuresentrain_targets.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
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)