कस्टम loss फंक्शन के साथ neural net फिट करें
अब हम वह कस्टम loss फंक्शन इस्तेमाल करेंगे जो अभी बनाया था। इससे हम अपने मॉडल के व्यवहार को समस्या-विशेष तरीकों से बदल पाएँगे — यह मॉडल को कम से कम price movement की दिशा सही तरह से प्रिडिक्ट करना सीखने के लिए प्रेरित करेगा। अब हमें बस .compile() फंक्शन में loss आर्ग्युमेंट को हमारे फंक्शन नाम sign_penalty पर सेट करना है। हम training loss को फिर से जाँचेंगे ताकि पक्का हो कि वह समतल हो गया है।
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Finance के लिए Machine Learning
अभ्यास निर्देश
- पहली neural network लेयर का
input_dimscaled_train_featuresके कॉलमों की संख्या के बराबर सेट करें,.shape[1]प्रॉपर्टी का उपयोग करके. - कस्टम
sign_penaltyloss फंक्शन का उपयोग करके अपनेmodel_2को.compile()करें. - फिट के
historyसे loss को plot करें। losshistory.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()