Reti neurali

Machine Learning per la finanza in Python

Nathan George

Data Science Professor

Legge di Moore per le GPU

Machine Learning per la finanza in Python

Le reti neurali hanno potenziale

Le reti neurali offrono:

  • non linearità
  • interazioni tra variabili
  • alta personalizzazione
Machine Learning per la finanza in Python

schema base di una rete neurale

Machine Learning per la finanza in Python

schema con matematica di base

Machine Learning per la finanza in Python

matematica delle reti neurali

Machine Learning per la finanza in Python

attivazioni in una rete neurale

Machine Learning per la finanza in Python

funzione di attivazione

Machine Learning per la finanza in Python

funzione di perdita

Machine Learning per la finanza in Python

forward pass

Machine Learning per la finanza in Python

backward pass

Machine Learning per la finanza in Python

loghi keras e tensorflow

Machine Learning per la finanza in Python

Implementare una rete neurale con Keras

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
Machine Learning per la finanza in Python

Implementare una rete neurale con 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'))
Machine Learning per la finanza in Python

Addestrare il modello

model.compile(optimizer='adam', loss='mse')
history = model.fit(scaled_train_features, 
                    train_targets, 
                    epochs=50)
Machine Learning per la finanza in Python
plt.plot(history.history['loss'])
plt.title('loss:' + str(round(history.history['loss'][-1], 6)))
plt.xlabel('epoch')
plt.ylabel('loss')
plt.show()

grafico della loss

Machine Learning per la finanza in Python

Valutare le prestazioni

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
Machine Learning per la finanza in Python

Grafico delle prestazioni

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

pred vs reale

Machine Learning per la finanza in Python

Crea una rete neurale!

Machine Learning per la finanza in Python

Preparing Video For Download...