Özel kayıp fonksiyonuyla sinir ağını eğit
Şimdi az önce oluşturduğumuz özel kayıp fonksiyonunu kullanacağız. Bu, modelin davranışını problemimize özel, faydalı şekillerde değiştirmemizi sağlayacak — en azından fiyat hareketinin yönünü doğru tahmin etmeyi öğrenmeye zorlamaya çalışacak. Artık tek yapmamız gereken .compile() fonksiyonundaki loss argümanını fonksiyon adımız olan sign_penalty olarak ayarlamak. Eğitim kaybını tekrar inceleyip yataylaşıp yataylaşmadığını kontrol edeceğiz.
Bu egzersiz, kursun bir parçasıdır
Python ile Finans için Machine Learning
Egzersiz talimatları
- İlk sinir ağı katmanının
input_dimparametresini,scaled_train_featuresiçindeki sütun sayısına.shape[1]özelliğiyle ayarla. - Özel
sign_penaltykayıp fonksiyonunu kullanarakmodel_2'yi.compile()et. - Eğitimin
historynesnesinden kaybı görselleştir. Kayıp değerihistory.history['loss']altındadır.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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()