Réseaux de neurones

Machine Learning pour la finance en Python

Nathan George

Data Science Professor

Loi de Moore pour les GPU

Machine Learning pour la finance en Python

Le potentiel des réseaux de neurones

Les réseaux de neurones offrent :

  • non-linéarité
  • interactions entre variables
  • forte personnalisation
Machine Learning pour la finance en Python

schéma de réseau de neurones basique

Machine Learning pour la finance en Python

schéma avec mathématiques de base

Machine Learning pour la finance en Python

maths des réseaux de neurones

Machine Learning pour la finance en Python

activations dans un réseau de neurones

Machine Learning pour la finance en Python

fonction d'activation

Machine Learning pour la finance en Python

fonction de perte

Machine Learning pour la finance en Python

propagation avant

Machine Learning pour la finance en Python

propagation arrière

Machine Learning pour la finance en Python

logos keras et tensorflow

Machine Learning pour la finance en Python

Implémenter un réseau avec keras

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
Machine Learning pour la finance en Python

Implémenter un réseau avec 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 pour la finance en Python

Ajuster le modèle

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

courbe de perte

Machine Learning pour la finance en Python

Évaluer les performances

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 pour la finance en Python

Tracer les performances

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

prédictions vs réel

Machine Learning pour la finance en Python

Créez un réseau de neurones !

Machine Learning pour la finance en Python

Preparing Video For Download...