कैरस अंतर बीट्विन वेल_लॉस और प्रशिक्षण के दौरान नुकसान


18

केरस में प्रशिक्षण के दौरान val_lossऔर lossउसके बीच क्या अंतर है ?

उदाहरण के लिए

Epoch 1/20
1000/1000 [==============================] - 1s - loss: 0.1760, val_loss: 0.2032  

कुछ साइटों पर मैंने पढ़ा कि सत्यापन पर, ड्रॉपआउट काम नहीं कर रहा था।


ड्रॉपआउट के बारे में आपने जो पढ़ा है, वह संभवत: यह है, जब ड्रॉपआउट का उपयोग किया जाता है (यानी dropoutनहीं है None), ड्रॉपआउट केवल प्रशिक्षण के दौरान लागू किया जाता है (यानी सत्यापन के दौरान कोई ड्रॉपआउट लागू नहीं किया जाता है)। जैसे, सत्यापन हानि ( val_loss) और प्रशिक्षण हानि ( loss) के बीच का अंतर यह है कि ड्रॉपआउट का उपयोग करते समय, सत्यापन हानि प्रशिक्षण हानि से कम हो सकती है (आमतौर पर उन मामलों में उम्मीद नहीं की जाती है जहां ड्रॉपआउट का उपयोग नहीं किया जाता है)।
Psi

जवाबों:


15

val_lossआपके क्रॉस-वैलिडेशन डेटा के लिए लागत फ़ंक्शन का मूल्य है और हानि आपके प्रशिक्षण डेटा के लिए लागत फ़ंक्शन का मूल्य है। सत्यापन डेटा पर, ड्रॉप आउट का उपयोग करने वाले न्यूरॉन्स यादृच्छिक न्यूरॉन्स को नहीं गिराते हैं। कारण यह है कि प्रशिक्षण के दौरान हम ओवर-फिटिंग से बचने के लिए कुछ शोर जोड़ने के लिए ड्रॉप आउट का उपयोग करते हैं। क्रॉस-वैलिडेशन की गणना के दौरान, हम रिकॉल चरण में हैं न कि प्रशिक्षण चरण में। हम नेटवर्क की सभी क्षमताओं का उपयोग करते हैं।

हमारे प्रिय दोस्तों में से एक के लिए धन्यवाद, मैं यहां से सामग्री को उद्धृत और समझाता हूं जो उपयोगी हैं।

validation_split: 0 और 1. के बीच का फ्लोट, सत्यापन डेटा के रूप में उपयोग किए जाने वाले प्रशिक्षण डेटा का अंश। मॉडल प्रशिक्षण डेटा के इस अंश को अलग करेगा, उस पर प्रशिक्षण नहीं देगा, और प्रत्येक युग के अंत में इस डेटा पर नुकसान और किसी भी मॉडल मैट्रिक्स का मूल्यांकन करेगा। सत्यापन डेटा को फेरबदल से पहले प्रदान किए गए x और y डेटा में अंतिम नमूनों से चुना गया है ।

validation_data: tuple (x_val, y_val) या tuple (x_val, y_val, val_sample_weights) जिस पर प्रत्येक युग के अंत में नुकसान और किसी भी मॉडल मैट्रिक्स का मूल्यांकन करना है। इस डेटा पर मॉडल को प्रशिक्षित नहीं किया जाएगा। इससे सत्यापन_शिकायत ओवरराइड हो जाएगा।

जैसा कि आप देख सकते हैं

fit(self, x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None, validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, initial_epoch=0, steps_per_epoch=None, validation_steps=None)

fitविधि में प्रयोग किया जाता है Kerasजिसमें एक पैरामीटर है जिसका नाम validation_split है, जो उस मॉडल के मूल्यांकन के लिए उपयोग किए जाने वाले डेटा का प्रतिशत निर्दिष्ट करता है जो प्रत्येक युग के बाद बनाया गया है। डेटा की इस राशि का उपयोग करके मॉडल का मूल्यांकन करने के बाद, val_lossयदि आपने क्रिया को सेट किया है, तो यह रिपोर्ट किया जाएगा 1; इसके अलावा, जैसा कि प्रलेखन स्पष्ट रूप से निर्दिष्ट करता है, आप validation_dataया तो उपयोग कर सकते हैं या validation_split। क्रॉस-मान्यता डेटा का उपयोग यह जांचने के लिए किया जाता है कि आपका मॉडल डेटा को ओवर-फिट करता है या नहीं। यह वही है जो हम समझ सकते हैं कि हमारे मॉडल में सामान्यीकरण क्षमता है या नहीं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.