Bắt đầu ngayBắt đầu miễn phí

Huấn luyện neural net với hàm mất mát tùy chỉnh

Giờ chúng ta sẽ dùng hàm mất mát tùy chỉnh vừa tạo. Cách này cho phép bạn điều chỉnh hành vi của mô hình theo những cách hữu ích, phù hợp với bài toán — cụ thể là buộc mô hình học cách dự đoán đúng ít nhất là hướng biến động giá. Việc bạn cần làm là đặt đối số loss trong hàm .compile() thành tên hàm của chúng ta, sign_penalty. Chúng ta sẽ xem lại loss trong quá trình huấn luyện để chắc rằng nó đã phẳng dần.

Bài tập này là một phần của khóa học

Machine Learning cho Tài chính bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Đặt input_dim của lớp đầu tiên trong mạng nơ-ron bằng số cột của scaled_train_features với thuộc tính .shape[1].
  • Dùng hàm mất mát tùy chỉnh sign_penalty để .compile() model_2.
  • Vẽ loss từ history của quá trình fit. Loss nằm trong history.history['loss'].

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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()
Chỉnh sửa và Chạy Mã