तंत्रिका नेटवर्क में डेटा सामान्यीकरण और मानकीकरण


40

मैं तंत्रिका नेटवर्क (एएनएन) का उपयोग करके एक जटिल प्रणाली के परिणाम की भविष्यवाणी करने की कोशिश कर रहा हूं। परिणाम (निर्भर) मान 0 और 10,000 के बीच होते हैं। अलग-अलग इनपुट वैरिएबल की अलग-अलग रेंज होती हैं। सभी चर में लगभग सामान्य वितरण होते हैं।

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

एक अन्य विकल्प एक z- स्कोर का उपयोग करना है। उस स्थिति में मेरे पास चरम डेटा समस्या नहीं है; हालाँकि, मैं उत्पादन में एक रैखिक सक्रियण समारोह तक ही सीमित हूँ।

एएनएन के उपयोग के साथ अन्य स्वीकृत सामान्यीकरण तकनीकें क्या हैं? मैंने इस विषय पर समीक्षाओं की तलाश करने की कोशिश की, लेकिन कुछ भी उपयोगी खोजने में विफल रहा।


जेड-स्कोर सामान्यीकरण कभी-कभी उपयोग किया जाता है लेकिन मुझे एक अजीब लग रहा है कि यह बायर के जवाब का दूसरा नाम हो सकता है ??
ओएसक्नो

यह वाइटनिंग पार्ट को छोड़कर समान है।
बायरज

1
यदि आप एक संभावना के बजाय एक मूल्य (जैसा कि आप हैं) की भविष्यवाणी कर रहे हैं (यानी वर्गीकरण के बजाय प्रतिगमन) तो आपको हमेशा एक रेखीय फ़ंक्शन का उपयोग करना चाहिए।
seanv507

माइकल जहर द्वारा रैंक-गॉस । यह रैंक है तो इसे गौसियन बनाएं।
user3226167

जवाबों:


32

एक मानक दृष्टिकोण का मतलब है कि इनपुट को स्केल करना है 0 और 1 का विचरण। साथ ही रैखिक सजावट / श्वेतकरण / pca बहुत मदद करता है।

यदि आप व्यापार के गुर में रुचि रखते हैं, तो मैं LeCun के कुशल बैकप्रॉप पेपर की सिफारिश कर सकता हूं


1
यदि डेटा एक (एकल) सामान्य वितरण का पालन नहीं करता है, तो निश्चित रूप से किसी को डेटा को नेत्रहीन रूप से सामान्य करने की कोशिश नहीं करनी चाहिए। आंकड़े.stackexchange.com/a/816/4581
user4581

24
तंत्रिका नेटवर्क के साथ आपको करना होगा। अन्यथा, आप तुरंत छिपी हुई इकाइयों को संतृप्त करेंगे, फिर उनके ग्रेडिएंट शून्य के पास होंगे और कोई भी सीख संभव नहीं होगी। यह मॉडलिंग के बारे में नहीं है (तंत्रिका नेटवर्क इनपुट डेटा में कोई वितरण नहीं मानते हैं), लेकिन संख्यात्मक मुद्दों के बारे में।
बायरज

मैं काफी उलझन में हूं। इस लिंक ( machinelearningmastery.com/… ) का कहना है कि मानकीकरण तब उपयोगी होता है जब आप जिस एल्गोरिथ्म का उपयोग कर रहे हैं वह आपके डेटा के गौसियन वितरण (एनएन का मामला नहीं) के बारे में धारणा बनाता है। अन्यथा, यह कहता है कि आपको सामान्यीकरण का उपयोग करना चाहिए। क्या कोई मुझे बता सकता है?
इब्बीह

21

1- न्यूनतम-अधिकतम सामान्यीकरण एक स्केलिंग फैक्टर को छोड़कर स्कोर के मूल वितरण को बरकरार रखता है और सभी स्कोर को एक सामान्य श्रेणी [0, 1] में बदल देता है। हालांकि, यह विधि मजबूत नहीं है (यानी, विधि आउटलेर्स के लिए अत्यधिक संवेदनशील है।

2- मानकीकरण (जेड-स्कोर सामान्यीकरण) सबसे अधिक इस्तेमाल की जाने वाली तकनीक, जिसकी गणना दिए गए डेटा के अंकगणितीय माध्य और मानक विचलन का उपयोग करके की जाती है। हालांकि, माध्य और मानक विचलन दोनों आउटलेर्स के लिए संवेदनशील हैं, और यह तकनीक सामान्यीकृत स्कोर के लिए एक सामान्य संख्यात्मक श्रेणी की गारंटी नहीं देती है। इसके अलावा, यदि इनपुट स्कोर गाऊसी वितरित नहीं हैं, तो यह तकनीक आउटपुट पर इनपुट वितरण को बनाए नहीं रखती है।

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

4- तन्ह-आकलनकर्ता: हम्पल एट अल द्वारा पेश किए गए तान-अनुमानक। मजबूत और अत्यधिक कुशल हैं। द्वारा सामान्यीकरण दिया जाता है

तन के अनुमानक जहां μGH और HGH क्रमशः औसत स्कोर वितरण के मध्यमान और मानक विचलन अनुमान हैं, जैसा कि हम्पी अनुमानकर्ताओं द्वारा दिया गया है।

इसलिए मैं तन-आकलन करने वालों की सलाह देता हूं।

संदर्भ https://www.cs.ccu.edu.tw/~wylin/BA/Fusion_of_Biometrics_C.tt


मुझे इस तान अनुमानक के बारे में जानकारी प्राप्त करने में मुश्किल समय आ रहा है। क्या कोई इस पर रोशनी डाल सकता है?
बेन ओगोरक

अंत में एक ऐसा पेपर मिला, जो सामान्यीकरण के लिए तन के अनुमानकों का वर्णन करने वाला एक अच्छा काम करता है: wjscheirer.com/papers/wjs_eccv2010_fusion.pdf । वे सामान्य प्रयोजन के सामान्यीकरण विकल्प के रूप में व्यवहार्य नहीं हैं। "[तान अनुमानक] अनुकूली z- स्कोर की तुलना में गणना करने के लिए अधिक जटिल हैं ... वितरण के माध्यिका स्कोर से तीन अलग-अलग अंतराल के लिए पूंछ अंक एक तदर्थ तरीके से परिभाषित किया जाना चाहिए। ये पैरामीटर मुश्किल हो सकते हैं। प्रयोगात्मक रूप से निर्धारित करने के लिए, और यदि गलत तरीके से चुना गया है, तो
तन

8

मैंने यहां एक समान जवाब दिया है कि कई प्रतिगमन का संचालन करते समय, आपको अपने भविष्यवक्ता चर को कब केंद्रित करना चाहिए और आपको उनका मानकीकरण कब करना चाहिए? लेकिन सोचा कि यह पर्याप्त रूप से अलग संदर्भ था कि एक उत्तर यहां जा सकता है।

एक महान usenet संसाधन है http://www.faqs.org/faqs/ai-faq/neural-nets/part2/section-16.html

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


आपको यहां प्रत्येक लिंक के मुख्य बिंदुओं को लिखना चाहिए, इसलिए अतिरिक्त "नेविगेशन" की आवश्यकता नहीं है
leoschet

2

तुम यह कर सकते थे

  • न्यूनतम-अधिकतम सामान्यीकरण (रेंज [11,1] में गिरने के लिए इनपुट / लक्ष्य को सामान्य करें), या
  • माध्य मानक विचलन सामान्यीकरण (शून्य करने के लिए इनपुट / लक्ष्य को सामान्य करें / एकता विचलन / मानक विचलन)

1

आप में काम कर रहे हैं python, sklearnहै ऐसा करने के लिए एक विधि उनके में विभिन्न तकनीकों का उपयोग कर preprocessingमॉड्यूल (प्लस एक गंधा पाइप लाइन सुविधा, उनके डॉक्स में एक उदाहरण के साथ):

import sklearn

# Normalize X, shape (n_samples, n_features)
X_norm = sklearn.preprocessing.normalize(X)

0

वैसे, [0,1] मानक दृष्टिकोण है। तंत्रिका नेटवर्क के लिए, 0-1 की सीमा में सबसे अच्छा काम करता है। मिन-मैक्स स्केलिंग (या सामान्यीकरण) का पालन करने के लिए दृष्टिकोण है।

अब आउटलेर्स पर, ज्यादातर परिदृश्यों में हमें उन्हें क्लिप करना होगा, क्योंकि आउटलेर आम नहीं हैं, आप नहीं चाहते कि आउटलेयर आपके मॉडल को प्रभावित करें (जब तक कि एनोमली डिटेक्शन समस्या है जिसे आप हल कर रहे हैं)। आप इसे 68-95-99.7 के अनुभवजन्य नियम के आधार पर क्लिप कर सकते हैं या बॉक्स प्लॉट बना सकते हैं, निरीक्षण कर सकते हैं और तदनुसार क्लिप कर सकते हैं।

MinMax सूत्र - (xi - min(x)) / (max(x) - min(x)) या उपयोग कर सकते हैंsklearn.preprocessing.MinMaxScaler


-1

"स्वीकृत" जो कुछ भी आपके लिए सबसे अच्छा काम करता है - फिर आप इसे स्वीकार करते हैं।

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

http://qualityamerica.com/LSS-Knowledge-Center/statisticalinference/johnson_distributions.php

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