Побудуйте й натренуйте просту нейромережу
Наступна модель, з якою ми попрактикуємося, — це нейронна мережа. Нейромережі можуть уловлювати складні взаємодії між змінними, але їх непросто налаштувати й пояснити. Останнім часом вони перевершують людських експертів у багатьох галузях, зокрема в розпізнаванні зображень і відеоіграх (згадайте AlphaGo), — отже, мають великий потенціал.
Щоб будувати наші мережі, ми використаємо бібліотеку keras. Це високорівневий API, який дозволяє швидко створювати нейромережі й водночас зберігає значний контроль над їхнім дизайном. Спершу ми створимо майже найпростішу можливу мережу — 3-шарову, яка отримує вхідні дані й передбачає одне значення. Подібно до моделей sklearn, моделі keras мають метод .fit(), який приймає аргументи (features, targets).
Ця вправа є частиною курсу
Machine Learning для фінансів у Python
Інструкції до вправи
- Додайте щільний шар на 20 вузлів з активацією ReLU (
'relu') як 2-й шар у нейромережі. - Створіть останній щільний шар з 1 вузлом і лінійною активацією (
activation='linear'). - Натренуйте модель на
scaled_train_featuresіtrain_targets.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
from keras.models import Sequential
from keras.layers import Dense
# Create the model
model_1 = Sequential()
model_1.add(Dense(100, input_dim=scaled_train_features.shape[1], activation='relu'))
model_1.add(Dense(____, activation=____))
model_1.add(Dense(____, activation=____))
# Fit the model
model_1.compile(optimizer='adam', loss='mse')
history = model_1.fit(____, ____, epochs=25)