Sieci neuronowe

Uczenie maszynowe w finansach z Pythonem

Nathan George

Data Science Professor

prawo Moore'a dla GPU

Uczenie maszynowe w finansach z Pythonem

Potencjał sieci neuronowych

Sieci neuronowe oferują:

  • nieliniowość
  • interakcje między zmiennymi
  • dostosowywalność
Uczenie maszynowe w finansach z Pythonem

podstawowy diagram sieci neuronowej

Uczenie maszynowe w finansach z Pythonem

diagram sieci z podstawowymi obliczeniami

Uczenie maszynowe w finansach z Pythonem

matematyka sieci neuronowej

Uczenie maszynowe w finansach z Pythonem

diagram aktywacji sieci neuronowej

Uczenie maszynowe w finansach z Pythonem

funkcja aktywacji

Uczenie maszynowe w finansach z Pythonem

funkcja straty

Uczenie maszynowe w finansach z Pythonem

przejście w przód

Uczenie maszynowe w finansach z Pythonem

przejście wstecz

Uczenie maszynowe w finansach z Pythonem

logo Keras i TensorFlow

Uczenie maszynowe w finansach z Pythonem

Implementacja sieci neuronowej w Keras

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
Uczenie maszynowe w finansach z Pythonem

Implementacja sieci neuronowej w Keras

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense


model = Sequential()
model.add(Dense(50, input_dim=scaled_train_features.shape[1], activation='relu')) model.add(Dense(10, activation='relu')) model.add(Dense(1, activation='linear'))
Uczenie maszynowe w finansach z Pythonem

Dopasowywanie modelu

model.compile(optimizer='adam', loss='mse')
history = model.fit(scaled_train_features, 
                    train_targets, 
                    epochs=50)
Uczenie maszynowe w finansach z Pythonem
plt.plot(history.history['loss'])
plt.title('loss:' + str(round(history.history['loss'][-1], 6)))
plt.xlabel('epoch')
plt.ylabel('loss')
plt.show()

wykres straty

Uczenie maszynowe w finansach z Pythonem

Ocena wydajności modelu

from sklearn.metrics import r2_score

# calculate R^2 score
train_preds = model.predict(scaled_train_features)
print(r2_score(train_targets, train_preds))
0.4771387560719418
Uczenie maszynowe w finansach z Pythonem

Wizualizacja wydajności

# plot predictions vs actual
plt.scatter(train_preds, train_targets)
plt.xlabel('predictions')
plt.ylabel('actual')
plt.show()

predykcje a wartości rzeczywiste

Uczenie maszynowe w finansach z Pythonem

Zbuduj sieć neuronową!

Uczenie maszynowe w finansach z Pythonem

Preparing Video For Download...