क्या हाइपरपरिमेटिंग डेटासेट के नमूने पर एक बुरा विचार है?


19

मेरे पास 140000 उदाहरणों और 30 विशेषताओं का एक डेटासेट है, जिसके लिए मैं एक द्विआधारी वर्गीकरण (एसवीएम, लॉजिस्टिक रिग्रेशन, रैंडम फॉरेस्ट आदि) के लिए कई क्लासिफायरशिप प्रशिक्षण दे रहा हूं।

कई मामलों में ग्रिड या रैंडम खोज का उपयोग करके पूरे डेटासेट पर हाइपरपैरेट ट्यूनिंग बहुत महंगा है।

मैंने निम्नलिखित तकनीक का उपयोग करना शुरू कर दिया

  • उप नमूना मेरे डेटासेट
  • हाइपरपरमेटर्स को ट्यून करने के लिए प्राप्त अंश का उपयोग करें
  • संपूर्ण डेटासेट का उपयोग करके किसी मॉडल को प्रशिक्षित करने के लिए प्राप्त मापदंडों का उपयोग करें

दूसरे चरण के लिए मैं उपयोग पर मानकों के प्रत्येक सेट का मूल्यांकन करने के sklearn's GridSearchCVसीवी = 10 के साथ। अंतिम मॉडल है कि मैं तीसरे चरण मैं उपयोग में बनाने का मूल्यांकन करने के sklearn'एस cross_val_predict। इस लिहाज से मैं अपने मॉडलों का मूल्यांकन 10% प्रतिशत डेटा छोड़ने पर करता हूं, बाकी पर प्रशिक्षण देता हूं और 10% पर भविष्यवाणियां मापता हूं, 10 बार पुनरावृत्ति करता हूं, फिर प्राप्तांकों का औसत लेता हूं।

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

अधिकांश समय सटीकता जो cross_val_predictसभी प्रशिक्षण उदाहरणों (संपूर्ण डेटासेट) का उपयोग करके मापा जाता है, सबसे अच्छा पैरामीटर के मूल्यांकन से थोड़ा सा ऊपर है।

इसका वर्णन करने के लिए यहाँ मापदंडों के एक सेट का मूल्यांकन है (जो मैंने ऊपर वर्णित किया था उससे छोटे डेटासेट पर लेकिन प्रभाव समान है)

Best parameters set found on development set:
{'kernel': 'rbf', 'C': 9, 'gamma': 0.1}
Scores for all sets of parameters
0.851 (+/-0.006) for {'kernel': 'rbf', 'C': 3, 'gamma': 0.5}
0.852 (+/-0.006) for {'kernel': 'rbf', 'C': 3, 'gamma': 0.1}
0.829 (+/-0.006) for {'kernel': 'rbf', 'C': 3, 'gamma': 0.001}
0.853 (+/-0.006) for {'kernel': 'rbf', 'C': 9, 'gamma': 0.1}
...

और यहाँ औसत स्कोर हैं (से cross_val_predict) मुझे सर्वोत्तम मापदंडों का उपयोग करके अपने संपूर्ण डेटासेट पर प्रशिक्षण मिला है

precision    recall  f1-score   support

      0       0.86      0.85      0.86     15417
      1       0.86      0.87      0.87     16561

avg / total       0.86      0.86      0.86     31978

acc score: 0.863750078179
roc au score: 0.863370490059
[[13147  2270]
 [ 2087 14474]]

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

कुल मिलाकर, मुझे लगता है कि एक सबसेट पर हाइपरपरमेटर्स को ट्यून करना आदर्श नहीं है, लेकिन संभावित रूप से बहुत लंबे समय तक इंतजार किए बिना अपेक्षाकृत अच्छे परिणाम दे सकता है। मैं उदाहरण के लिए उपयोग करने से पहले optunityपूरे डेटासेट पर हाइपरपरमीटर ट्यूनिंग के लिए उपयोग किए गए पैकेज का उपयोग करता हूं । इस प्रक्रिया को पूरा होने में 3-5 दिन लगेंगे और ऐसे परिणाम आएंगे जिनमें या तो वास्तव में अच्छी परिशुद्धता थी या वास्तव में अच्छी याद थी, लेकिन दोनों नहीं, इसलिए यद्यपि प्रत्येक वर्ग के लिए या तो सटीक या याद रखना वास्तव में उच्च था (मेरे किसी अन्य की तुलना में अधिक) सहपाठियों ने प्राप्त किया था) एफ 1 खसरा वास्तव में कम था। बाद के दृष्टिकोण का उपयोग करने के विपरीत कुछ घंटों के प्रशिक्षण और एक बेहतर एफ 1 खानों की ओर जाता है।

मेरी चिंताएं हैं:

क्या मैं अपनी वर्गीकरण सटीकता को सीमित कर सकता हूं? क्या मैं उन सभी भविष्यवाणी शक्ति का उपयोग करने से बचता हूं जो मेरे डेटासेट केवल एक सबसेट पर ट्यूनिंग करके पेश कर सकते हैं? यदि प्रदर्शन का ऐसा नुकसान हो रहा है, तो क्या यह किसी तरह से सीमित है?


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

मेरा अद्यतन प्रश्न देखें। मुझे उम्मीद है कि अब यह स्पष्ट हो जाएगा।
लेट्सपेलयैहट्ज़ी

जवाबों:


15

जिम के (+1) उत्तर के अलावा: कुछ क्लासिफायर के लिए, हाइपर-पैरामीटर मान प्रशिक्षण के उदाहरणों की संख्या पर निर्भर करते हैं, उदाहरण के लिए एक रैखिक एसवीएम के लिए, मौलिक अनुकूलन समस्या।

मैंn12w2+सीΣमैं=1ξमैं

का विषय है

yमैं(एक्समैंw)1-ξमैं,nξमैं0मैं

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

एसवीएम पुनर्संरचना के कुछ कार्यान्वयन

मैंn12w2+सीΣमैं=1ξमैं

क्षतिपूर्ति करने के लिए, लेकिन कुछ नहीं। इस पर विचार करने के लिए एक अतिरिक्त बिंदु यह है कि क्या इष्टतम हाइपर-पैरामीटर प्रशिक्षण के उदाहरणों की संख्या पर निर्भर करता है या नहीं।

मैं जिम से सहमत हूं कि मॉडल चयन मानदंड से अधिक होने की संभावना एक मुद्दे का अधिक होना है, लेकिन अगर आपके पास सबमप्लान में भी पर्याप्त डेटा है तो यह एक महत्वपूर्ण मुद्दा नहीं हो सकता है।


11

क्या हाइपरपरिमेटिंग डेटासेट के नमूने पर एक बुरा विचार है?

ए: हाँ, क्योंकि आप अपने चुने हुए ट्रेन-टेस्ट विभाजन से उत्पन्न उस विशिष्ट परीक्षण सेट पर ओवरफिटिंग (हाइपरपरमेटर्स) का जोखिम उठाते हैं।

क्या मैं अपनी वर्गीकरण सटीकता को सीमित कर सकता हूं?

A: हाँ, लेकिन सामान्य मशीन लर्निंग ज्ञान यह है: अपने इष्टतम हाइपरपैरेटर्स के साथ, कहें , पूरे डेटासेट पर अपने मॉडल (ओं) को परिष्कृत करें और उस मॉडल को नए, अनदेखे, भविष्य के मामलों के लिए अपना अंतिम मॉडल बनाएं।λ*

क्या मैं उन सभी भविष्यवाणी शक्ति का उपयोग करने से बचता हूं जो मेरे डेटासेट केवल एक सबसेट पर ट्यूनिंग करके पेश कर सकते हैं?

A: पिछला उत्तर देखें।

यदि प्रदर्शन का ऐसा नुकसान हो रहा है, तो क्या यह किसी तरह से सीमित है?

अ: इदम्।

मैं अपनी सटीकता को 10 गुना क्रॉस का उपयोग करके मापता हूं क्योंकि मैं मापदंडों का मूल्यांकन करने के लिए भी उपयोग करता हूं

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

भविष्यवाणी सटीकता जो मुझे अपने संपूर्ण डेटासेट पर प्रशिक्षण से मिलती है

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

[cont'd], मापदंडों के सर्वोत्तम सेट के लिए मापदंडों को ट्यूनिंग करते समय हमेशा प्राप्त मूल्यांकन के करीब होता है।

A: पिछला उत्तर देखें। हाइपरपरमीटर भूखंडों को देखें: ट्यूनिंग में त्रुटि कम होती है और कितनी होती है? आप जो कह रहे हैं, उससे ट्यूनिंग ज्यादा नहीं चल रही है।

आप इसका परीक्षण इस प्रकार कर सकते हैं। 70% -30% ट्रेन-टेस्ट स्प्लिट लें। की तुलनात्मक प्रदर्शन:

  1. ट्रेन सेट पर प्रशिक्षित एक अछूता मॉडल,
  2. ट्रेन सेट पर प्रशिक्षित 10 गुना-सीवी ट्यून मॉडल।

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


1

मैं कृत्रिम तंत्रिका नेटवर्क (ANNs) के लिए जवाब दूंगा।

एएनएन के हाइपरपैरमीटर या तो इसकी सीखने की प्रक्रिया (जैसे, सीखने की दर या मिनी-बैच आकार) या इसकी वास्तुकला (जैसे, छिपी हुई इकाइयों या परतों की संख्या) को परिभाषित कर सकते हैं।

आपके प्रशिक्षण सेट के सबसेट पर आर्किटेक्चरल हाइपरपामेटर्स ट्यूनिंग करना शायद एक अच्छा विचार नहीं है (जब तक कि आपके प्रशिक्षण सेट में विविधता की कमी न हो, अर्थात प्रशिक्षण सेट आकार में वृद्धि से एएनएन प्रदर्शन में वृद्धि नहीं होती है), क्योंकि आर्किटेक्चरल हाइपरपैरेटर्स एएनएन की क्षमता को बदलते हैं।

मैं हाइपरपैरेटर्स को कम चिंतित करता हूं जो आपके प्रशिक्षण सेट के सबसेट पर सीखने की प्रक्रिया को परिभाषित करता है, लेकिन मुझे लगता है कि किसी को इसे अनुभवजन्य रूप से मान्य करना चाहिए।


1

यह पेपर बड़े डेटासेट की ट्यूनिंग के लिए अन्य / छोटे डेटासेट लेने के विषय के बारे में है: https://paper.nips.cc/paper/5086-multi-task-bayesian-optimization.pdf

मुझे लगता है कि जिम ने जो कहा उसके विपरीत यह एक बुरा विचार नहीं है ।


0

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


-1

आप https://link.springer.com/chapter/10.1007/978-3-319-53480-0_27 पर एक नज़र डाल सकते हैं जिसमें हमने SVM ​​हाइपर-पैरामीटर ट्यूनिंग पर 100 वास्तविक का उपयोग करते हुए यादृच्छिक नमूने के प्रभावों की जांच की है- दुनिया डेटासेट ...

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