Нейронні мережі

Machine Learning для фінансів у Python

Nathan George

Data Science Professor

закон Мура для GPU

Machine Learning для фінансів у Python

Потенціал нейронних мереж

Нейромережі мають:

  • нелінійність
  • взаємодію змінних
  • гнучкість
Machine Learning для фінансів у Python

базова схема нейромережі

Machine Learning для фінансів у Python

схема мережі з базовою математикою

Machine Learning для фінансів у Python

математика нейромережі

Machine Learning для фінансів у Python

активації: схема нейромережі

Machine Learning для фінансів у Python

активаційна функція

Machine Learning для фінансів у Python

функція втрат

Machine Learning для фінансів у Python

прямий прохід

Machine Learning для фінансів у Python

зворотний прохід

Machine Learning для фінансів у Python

логотипи keras і tensorflow

Machine Learning для фінансів у Python

Реалізація нейромережі в keras

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
Machine Learning для фінансів у Python

Реалізація нейромережі в 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 для фінансів у Python

Навчання моделі

model.compile(optimizer='adam', loss='mse')
history = model.fit(scaled_train_features, 
                    train_targets, 
                    epochs=50)
Machine Learning для фінансів у Python
plt.plot(history.history['loss'])
plt.title('loss:' + str(round(history.history['loss'][-1], 6)))
plt.xlabel('epoch')
plt.ylabel('loss')
plt.show()

графік втрат

Machine Learning для фінансів у Python

Оцінювання якості

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 для фінансів у Python

Візуалізація якості

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

прогнози vs фактичні

Machine Learning для фінансів у Python

Створіть нейромережу!

Machine Learning для фінансів у Python

Preparing Video For Download...