Melatih neural net dengan fungsi loss kustom
Sekarang kita akan menggunakan fungsi loss kustom yang baru saja kita buat. Ini memungkinkan kita mengubah perilaku model dengan cara yang berguna sesuai dengan masalah kita — model akan berusaha minimal untuk mempelajari arah pergerakan harga dengan benar. Yang perlu kita lakukan sekarang adalah menetapkan argumen loss pada fungsi .compile() ke nama fungsi kita, sign_penalty. Kita akan meninjau kembali nilai loss selama pelatihan untuk memastikan kurvanya sudah mendatar.
Latihan ini merupakan bagian dari kursus
Machine Learning untuk Keuangan dengan Python
Instruksi latihan
- Tetapkan
input_dimpada layer pertama neural network menjadi jumlah kolomscaled_train_featuresmenggunakan properti.shape[1]. - Gunakan fungsi loss kustom
sign_penaltyuntuk.compile()model_2kita. - Plot nilai loss dari
historyhasil pelatihan. Nilai loss berada padahistory.history['loss'].
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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()