Нейронные сети

Машинное обучение для финансов на Python

Nathan George

Data Science Professor

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

Машинное обучение для финансов на Python

Потенциал нейронных сетей

Нейронные сети обладают:

  • нелинейностью
  • взаимодействием переменных
  • гибкостью настройки
Машинное обучение для финансов на Python

базовая схема нейронной сети

Машинное обучение для финансов на Python

схема сети с базовой математикой

Машинное обучение для финансов на Python

математика нейронной сети

Машинное обучение для финансов на Python

схема нейронной сети с активациями

Машинное обучение для финансов на Python

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

Машинное обучение для финансов на Python

функция потерь

Машинное обучение для финансов на Python

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

Машинное обучение для финансов на Python

обратный проход

Машинное обучение для финансов на Python

логотипы Keras и TensorFlow

Машинное обучение для финансов на Python

Реализация нейронной сети с помощью Keras

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
Машинное обучение для финансов на 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'))
Машинное обучение для финансов на Python

Обучение модели

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

график потерь

Машинное обучение для финансов на 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
Машинное обучение для финансов на Python

Визуализация результатов

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

прогнозы vs фактические значения

Машинное обучение для финансов на Python

Создайте нейронную сеть!

Машинное обучение для финансов на Python

Preparing Video For Download...