एन्कोडिंग और क्रॉस-मान्यता

Aug 18 2020

हाल ही में मैं क्रॉस-सत्यापन योजना के भीतर एन्कोडिंग के उचित उपयोग के बारे में सोच रहा हूं। कस्टमाइज़ की गई एन्कोडिंग सुविधाओं का तरीका है:

  1. डेटा को ट्रेन और परीक्षण (होल्ड-आउट) सेट में विभाजित करें
  2. एनकोडर फ़िट (या तो LabelEncoderया OneHotEncoder) ट्रेन सेट पर
  3. फिट एनकोडर का उपयोग करके ट्रेन और टेस्ट सेट दोनों को बदल दें।

इस तरह से किसी भी डेटा-रिसाव को रोकने का दावा किया जाता है। हालाँकि, ऐसा लगता है कि अक्सर क्रॉस-वैलिडेशन के दौरान छोड़ा जाता है। मान लीजिए कि मैं उपरोक्त ट्रेन सेट पर क्रॉस सत्यापन कर रहा हूं। अगर मैं ट्रेन सेट को एनकोड करता हूं और फिर क्रॉस-वेलिडेशन करता हूं तो यह वास्तव में ऊपर दिए गए चरणों की नकल नहीं करता है। एन्कोडिंग नहीं किया जाना चाहिए "भीतर" तो पार-मान्यता? उदाहरण के लिए, यह मानते हुए कि हम 5-गुना क्रॉस-सत्यापन करते हैं, क्या हमें 4 गुना पर एनकोडर को फिट नहीं करना चाहिए और प्रत्येक क्रॉस-वेलिडेशन चरण में 5 गुना मोड़ना चाहिए? मेरा मानना ​​है कि यह आमतौर पर लक्ष्य एन्कोडिंग में किया जाता है, लेकिन वास्तव में लेबल या एक-हॉट एन्कोडिंग के साथ नहीं।

मेरे प्रश्न इसलिए हैं:

  1. क्या मैं 4 तह पर एनकोडर को फिट करने की आवश्यकता के बारे में सही हूं और यदि हम वास्तव में ओवरफिटिंग को रोकना चाहते हैं तो प्रत्येक क्रॉस-मान्यता कदम में 5 वीं सत्यापन तह पर नहीं?
  2. यदि नहीं, तो ट्रेन और परीक्षण (होल्ड-आउट) सेट से निपटने से पहले उल्लिखित सभी 3 चरणों का प्रदर्शन करना वास्तव में आवश्यक क्यों है?

जवाब

1 Erwan Aug 18 2020 at 07:50

आप सही हैं, एन्कोडिंग कदम स्वयं डेटा रिसाव का एक स्रोत हो सकता है और आम तौर पर यह केवल वर्तमान प्रशिक्षण सेट का उपयोग करके सीवी लूप के अंदर किया जाना चाहिए, जैसा कि आप वर्णन करते हैं।

कारण वास्तव में वह है जिसका आप टिप्पणी में उल्लेख करते हैं: यदि कोई वर्ग लेबल या एक फीचर श्रेणी है जो सीवी के दौरान एक विशेष प्रशिक्षण सेट में संयोग से प्रकट नहीं होती है, तो मॉडल को यह पता नहीं है कि यह वर्ग / श्रेणी भी है मौजूद।

सामान्य तौर पर मुझे लगता है कि यह मुद्दा केवल परीक्षण सेट पर प्रदर्शन को कम कर सकता है, इसलिए यह संभवतः अन्य प्रकार के डेटा रिसाव के रूप में गंभीर नहीं है। फिर भी, यह निश्चित रूप से केवल प्रशिक्षण सेट का उपयोग करके एन्कोड करने के लिए एक क्लीनर प्रयोगात्मक डिजाइन है।

एनएलपी में एक करीबी संबंधित मुद्दा यह है कि जब सिस्टम आउट-ऑफ-शब्दावली (ओओवी) शब्दों से निपटने के लिए डिज़ाइन नहीं किया गया है: यदि प्रशिक्षण और परीक्षण सेट दोनों में सभी शब्द एन्कोडेड हैं (एक ही गलती), तो यह गलत लगता है जैसे कि किसी भी पाठ को पूरी तरह से एन्कोड किया जा सकता है, संभवतः बाद में खराब आश्चर्य का कारण बन सकता है।

यह कहा जा रहा है, यह आमतौर पर दुर्लभ सुविधाओं या लेबल मूल्यों को छोड़ने के लिए एक अच्छा विचार है, और यदि ऐसा किया जाता है, तो परिणाम उचित विधि या मैला एक का उपयोग करके समान होना चाहिए।