ओवरफिटिंग का पता लगाना
इस अभ्यास में, हम मूल साइन लैंग्वेज लेटर्स डेटासेट के उदाहरणों के एक छोटे सबसेट के साथ काम करेंगे. छोटा सैंपल और बहुत अधिक पैरामीटर वाला मॉडल मिलकर आमतौर पर ओवरफिटिंग की ओर ले जाते हैं. इसका मतलब है कि आपका मॉडल कई उदाहरणों पर जनरलाइज़ होने वाली फीचर्स पहचानने के बजाय हर उदाहरण की क्लास को बस याद कर लेगा.
आप ओवरफिटिंग का पता इस तरह लगाएंगे कि क्या वैलिडेशन सैंपल का लॉस, ट्रेनिंग सैंपल के लॉस से काफी अधिक है और क्या वह आगे के प्रशिक्षण के साथ बढ़ता है. छोटे सैंपल और उच्च लर्निंग रेट में, मॉडल को किसी ऑप्टिमम पर कनवर्ज होने में दिक्कत होगी. आप ऑप्टिमाइज़र के लिए कम लर्निंग रेट सेट करेंगे, जिससे ओवरफिटिंग पहचानना आसान होगा.
ध्यान दें कि keras को tensorflow से इम्पोर्ट किया गया है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में TensorFlow परिचय
अभ्यास निर्देश
kerasमेंmodelनाम का एक sequential मॉडल परिभाषित करें.- पहली dense लेयर 1024 नोड्स,
reluएक्टिवेशन, और (784,) इनपुट शेप के साथ जोड़ें. - लर्निंग रेट 0.001 पर सेट करें.
fit()ऑपरेशन को पूरे सैंपल पर 50 बार इटरेट करने और वैलिडेशन के लिए सैंपल का 50% उपयोग करने के लिए सेट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Define sequential model
____
# Define the first layer
____
# Add activation function to classifier
model.add(keras.layers.Dense(4, activation='softmax'))
# Finish the model compilation
model.compile(optimizer=keras.optimizers.Adam(lr=____),
loss='categorical_crossentropy', metrics=['accuracy'])
# Complete the model fit operation
model.fit(sign_language_features, sign_language_labels, epochs=____, validation_split=____)