Zbuduj i dopasuj prostą sieć neuronową
Kolejnym modelem, którego się nauczysz, jest sieć neuronowa. Sieci neuronowe potrafią uchwycić złożone zależności między zmiennymi, choć ich konfiguracja i interpretacja bywają wymagające. W ostatnich latach osiągają lepsze wyniki niż ludzcy eksperci w wielu dziedzinach – takich jak rozpoznawanie obrazów czy gry strategiczne (sprawdź AlphaGo) – co sprawia, że mają ogromny potencjał.
Do budowania sieci neuronowych będziemy używać biblioteki keras. To wysokopoziomowe API, które pozwala szybko tworzyć sieci neuronowe, zachowując przy tym dużą kontrolę nad ich architekturą. Zaczniemy od stworzenia jednej z najprostszych możliwych sieci – trójwarstwowej, która przyjmuje dane wejściowe i przewiduje pojedynczą wartość. Podobnie jak modele z biblioteki sklearn, modele keras mają metodę .fit(), która przyjmuje argumenty (features, targets).
To ćwiczenie jest częścią kursu
Uczenie maszynowe w finansach z Pythonem
Instrukcje do ćwiczenia
- Utwórz warstwę Dense z 20 węzłami i aktywacją ReLU (
'relu') jako 2. warstwę sieci neuronowej. - Utwórz ostatnią warstwę Dense z 1 węzłem i aktywacją liniową (
activation='linear'). - Dopasuj model do
scaled_train_featuresitrain_targets.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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)