मॉडल सत्यापन से पहले या भीतर सुविधा सामान्यीकरण करें?


52

मशीन लर्निंग में एक सामान्य अच्छा अभ्यास भविष्यवक्ता चर की सामान्यीकरण या डेटा मानकीकरण करना है, यह है, मतलब को बदलने वाले डेटा को केंद्र में रखना और इसे विचरण (या मानक विचलन) द्वारा विभाजित करना सामान्य करना। स्व-नियंत्रण और मेरी समझ के लिए हम दो मुख्य चीजों को प्राप्त करने के लिए ऐसा करते हैं:

  1. संख्यात्मक स्थिरता के उद्देश्य के लिए अतिरिक्त छोटे मॉडल भार से बचें।
  2. अनुकूलन एल्गोरिदम जैसे त्वरित संयुग्मन को त्वरित रूप से सुनिश्चित करें ताकि एक भविष्यवक्ता आयाम के बड़े परिमाण दूसरों को धीमा सम्मिलन का नेतृत्व न करें।

हम आमतौर पर डेटा को प्रशिक्षण, सत्यापन और परीक्षण सेट में विभाजित करते हैं। साहित्य में हम आम तौर पर देखते हैं कि सुविधा सामान्यीकरण करने के लिए वे पूर्वसूचक चर के पूरे सेट पर माध्य और विचरण (या मानक विचलन) लेते हैं। यहाँ जो बड़ा दोष मुझे दिखाई देता है, वह यह है कि यदि आप ऐसा करते हैं, तो आप वास्तव में भविष्य की जानकारी को प्रशिक्षण के पूर्वसूचक चरों के रूप में प्रस्तुत करने वाले होते हैं, अर्थात् भविष्य की जानकारी, जो माध्य और विचरण में निहित होती है।

इसलिए, मैं प्रशिक्षण डेटा पर सामान्यीकरण करता हूं और माध्य और विचरण को बचाता हूं। फिर मैं प्रशिक्षण माध्य और भिन्नताओं का उपयोग करके सत्यापन और परीक्षण डेटा सेटों के भविष्यवाणियों के फीचर सामान्यीकरण को लागू करता हूं। क्या इसके साथ कोई मूलभूत दोष हैं? क्या कोई बेहतर विकल्प सुझा सकता है?


जवाबों:


46

आपका दृष्टिकोण पूरी तरह से सही है। हालांकि डेटा परिवर्तनों को अक्सर "प्रीप्रोसेसिंग" के रूप में रेखांकित नहीं किया जाता है, कोई भी पर्याप्त जोर नहीं दे सकता है कि मॉडल के प्रदर्शन को अनुकूलित करने के लिए परिवर्तनों को मॉडल निर्माण प्रक्रिया के हिस्से के रूप में माना जा सकता है और किया जाना चाहिए।

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

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


मुझे यह थोड़ा उलझा हुआ लगता है। ओपी का कहना है कि वह सत्यापन और परीक्षण डेटा सेट पर सामान्यीकरण कर रहा है। आपका जवाब पहले कहता है कि उसका दृष्टिकोण सही है। फिर आप कहते हैं "एक को सामान्यीकरण मापदंडों की गणना को प्रशिक्षण सेट तक सीमित करने की आवश्यकता है" जो वह नहीं कर रहा है। इसलिए आपकी प्रतिक्रिया स्वयं को यह बताकर विरोधाभासी बताती है कि वह जो कर रहा है वह सही है और फिर सुझाव दे रहा है। मुझे यहां क्या समझ नहीं आ रहा है?
महोन्या

4
ओपी ने अपने अंतिम पैराग्राफ में क्या वर्णित किया है और यह वही है जो मैंने कहा है। बेशक सामान्यीकरण को परीक्षण / सत्यापन-सेट पर लागू किया जाता है यदि यह प्रशिक्षण सेट पर लागू किया गया हो। महत्वपूर्ण बिंदु यह है, कि इस सामान्यीकरण के मापदंडों की गणना केवल प्रशिक्षण डेटा पर की गई है, न कि पूरे सेट पर। उम्मीद है की यह मदद करेगा।
स्टीफ़न

आह, बहुत बहुत धन्यवाद। मैंने आपके उत्तर को गलत समझा। हालांकि मैं आपको केवल प्रशिक्षण सेट के सामान्यीकरण के 'आवेदन' का सुझाव दे रहा था, जो स्पष्ट रूप से आपने सुझाया नहीं था।
महोना

2

फ़ीचर नॉर्मलाइज़ेशन एक ही स्केल में अलग-अलग फ़ीचर बनाने के लिए है। स्केलिंग धीरे-धीरे कई अतिरिक्त पुनरावृत्तियों से बचने के लिए ढाल की आवश्यकता होती है जब एक या एक से अधिक सुविधाएँ बाकी की तुलना में बहुत बड़े मूल्यों पर ले जाती हैं (स्केलिंग के बिना, जिस लागत फ़ंक्शन की कल्पना की जाती है वह एक महान विषमता दिखाएगी)।

मुझे लगता है कि यह समझ में आता है कि परीक्षण डेटा आने पर प्रशिक्षण सेट से माध्य और var का उपयोग करें। फिर भी यदि डेटा का आकार बड़ा है, तो प्रशिक्षण और सत्यापन सेट दोनों को लगभग सामान्य वितरण के रूप में देखा जा सकता है, इस प्रकार वे औसत और संस्करण साझा करते हैं।


1
कारण यह है कि डेटा सामान्यीकरण धीरे-धीरे वंश को गति दे सकता है, मुझे लगता है कि सामान्यीकरण के बिना rss में अण्डाकार आकृति होती है, इसलिए निश्चित सीखने की दर को देखते हुए, इसे रूपांतरित करने के लिए ढाल वंश के लिए अधिक पुनरावृत्तियों की आवश्यकता हो सकती है। जबकि स्केलिंग के साथ, rss में वृत्त समोच्च (सममित) होते हैं, इसलिए ढाल वंश तेजी से परिवर्तित होता है। क्या मैं सही हू?
एवोकैडो

1

आपके द्वारा वर्णित कार्यप्रणाली ध्वनि है जैसा कि दूसरों ने कहा है। आपको अपने परीक्षण सेट सुविधाओं पर ठीक वैसा ही परिवर्तन करना चाहिए जैसा कि आप अपने प्रशिक्षण सेट से सुविधाओं पर करते हैं।

मुझे लगता है कि यह जोड़ने योग्य है कि फीचर सामान्यीकरण का एक और कारण कुछ प्रक्रियाओं के प्रदर्शन को बढ़ाना है जो कुछ चर के पैमाने के प्रति मतभेदों के प्रति संवेदनशील हैं। उदाहरण के लिए प्रमुख घटक विश्लेषण (PCA) का उद्देश्य विचरण के सबसे बड़े अनुपात को पकड़ना है, और परिणामस्वरूप वैरिएबल को अधिक भार दिया जाएगा जो सबसे बड़ा विचरण प्रदर्शित करता है यदि फीचर सामान्यीकरण शुरू में नहीं किया जाता है।


बहुत अच्छी बात! इसे लाने के लिए धन्यवाद। मुझे अपनी पढ़ाई से याद है कि पीसीए की गणना करने से पहले हमेशा इनपुट मैट्रिक्स को सामान्य करना चाहिए।
स्काईवॉकर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.