Neurala nätverk

Maskininlärning för finans i Python

Nathan George

Data Science Professor

GPUs Moores lag

Maskininlärning för finans i Python

Neurala nätverks potential

Neurala nätverk har:

  • icke-linjäritet
  • variabelinteraktioner
  • anpassningsbarhet
Maskininlärning för finans i Python

diagram över enkelt neuralt nätverk

Maskininlärning för finans i Python

nätverksdiagram med enkel matematik

Maskininlärning för finans i Python

matematik för neuralt nätverk

Maskininlärning för finans i Python

diagram över neuralt nätverk med aktiveringar

Maskininlärning för finans i Python

aktiveringsfunktion

Maskininlärning för finans i Python

förlustfunktion

Maskininlärning för finans i Python

framåtpassering

Maskininlärning för finans i Python

bakåtpassering

Maskininlärning för finans i Python

logotyper för Keras och TensorFlow

Maskininlärning för finans i Python

Implementera ett neuralt nätverk med Keras

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
Maskininlärning för finans i Python

Implementera ett neuralt nätverk med 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'))
Maskininlärning för finans i Python

Träna modellen

model.compile(optimizer='adam', loss='mse')
history = model.fit(scaled_train_features, 
                    train_targets, 
                    epochs=50)
Maskininlärning för finans i Python
plt.plot(history.history['loss'])
plt.title('loss:' + str(round(history.history['loss'][-1], 6)))
plt.xlabel('epoch')
plt.ylabel('loss')
plt.show()

förlustkurva

Maskininlärning för finans i Python

Utvärdera prestandan

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
Maskininlärning för finans i Python

Visualisera prestandan

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

prediktioner vs faktiska värden

Maskininlärning för finans i Python

Nu kör vi en övning!

Maskininlärning för finans i Python

Preparing Video For Download...