ПочатиПочніть безкоштовно

Навчання нейромережі з власною функцією втрат

Тепер використаємо щойно створену власну функцію втрат. Це дасть змогу змінити поведінку моделі корисним для нашої задачі способом — ми спробуємо змусити модель принаймні правильно передбачати напрямок руху ціни. Усе, що потрібно зараз, — встановити аргумент loss у функції .compile() на назву нашої функції sign_penalty. Знову переглянемо функцію втрат під час навчання, щоб переконатися, що вона вирівнялася.

Ця вправа є частиною курсу

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

Переглянути курс

Інструкції до вправи

  • Встановіть input_dim першого шару нейромережі рівним кількості стовпців у scaled_train_features за допомогою властивості .shape[1].
  • Використайте власну функцію втрат sign_penalty, щоб викликати .compile() для нашої model_2.
  • Побудуйте графік втрат із history навчання. Значення втрат міститься в history.history['loss'].

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Create the model
model_2 = Sequential()
model_2.add(Dense(100, input_dim=____, activation='relu'))
model_2.add(Dense(20, activation='relu'))
model_2.add(Dense(1, activation='linear'))

# Fit the model with our custom 'sign_penalty' loss function
model_2.compile(optimizer='adam', loss=____)
history = model_2.fit(scaled_train_features, train_targets, epochs=25)
plt.plot(____)
plt.title('loss:' + str(round(history.history['loss'][-1], 6)))
plt.show()
Редагувати та запускати код