मुझे प्रशिक्षण डेटा सेट में कक्षाओं को कब संतुलित करना चाहिए?


29

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

हालांकि इस ब्लॉग में, किसी का दावा है कि संतुलित डेटा और भी बदतर है:

https://matloff.wordpress.com/2015/09/29/unbalanced-data-is-a-problem-no-balanced-data-is-worse/

तो यह कौनसा है? मुझे डेटा को संतुलित करना चाहिए या नहीं? क्या यह इस्तेमाल किए गए एल्गोरिथ्म पर निर्भर करता है, क्योंकि कुछ वर्गों के असंतुलित अनुपात को निपुण करने में सक्षम हो सकते हैं? यदि हां, तो कौन सा असंतुलित डेटा पर विश्वसनीय हैं?

जवाबों:


28

सहज ज्ञान युक्त तर्क ब्लॉगपोस्ट में समझाया गया है:

यदि हमारा लक्ष्य भविष्यवाणी है, तो यह एक निश्चित पूर्वाग्रह पैदा करेगा। और इससे भी बदतर, यह एक स्थायी पूर्वाग्रह होगा, इस अर्थ में कि हमारे पास सुसंगत अनुमान नहीं होंगे क्योंकि नमूना आकार बढ़ता है।

तो, यकीनन (कृत्रिम रूप से) संतुलित डेटा की समस्या असंतुलित मामले से भी बदतर है।

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

मान लीजिए कि आप अंग्रेजी वर्णमाला (26 अक्षर) से हाथ से लिखे गए अक्षरों को पहचान रहे हैं। प्रत्येक अक्षर उपस्थिति को असंतुलित करने से हर अक्षर को वर्गीकृत किया जाएगा (सही ढंग से या नहीं) लगभग 1/26, इसलिए क्लासिफायर मूल नमूने में पत्रों के वास्तविक वितरण के बारे में भूल जाएगा। और यह ठीक है जब उच्च सटीकता के साथ हर अक्षर को सामान्य बनाने और पहचानने में सक्षम है

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

"A" was misclassified 10 times
"B" was misclassified 10 times
"C" was misclassified 11 times
"D" was misclassified 10 times
...and so on

बिना संतुलन के विरोध के रूप में (यह मानते हुए कि "A" और "C" की पाठ में उपस्थिति की बहुत अधिक संभावनाएं हैं)

"A" was misclassified 3 times
"B" was misclassified 14 times
"C" was misclassified 3 times
"D" was misclassified 14 times
...and so on

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

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

PS आप पहले प्रेसिजन / रिकॉल मेट्रिक्स के साथ असंतुलित वर्गीकरण के प्रदर्शन को ट्रैक कर सकते हैं और यह तय कर सकते हैं कि आपको संतुलन जोड़ने की जरूरत है या नहीं।


p(xi|θ)p(xi|θ^)θ^iθi, यह कभी-कभी जनसंख्या या तो बड़े नमूने (इस प्रकार बेहतर अनुमानक) से ज्ञात मापदंडों के अनुसार पुनर्संतुलन वर्गों के लिए अनुशंसित है । हालांकि, व्यवहार में इस बात की कोई गारंटी नहीं है कि "बड़ा नमूना" प्रत्येक चरण पर पक्षपाती डेटा प्राप्त करने के जोखिम के कारण अनौपचारिक रूप से वितरित किया जाता है (मान लीजिए कि तकनीकी साहित्य बनाम कथा साहित्य बनाम संपूर्ण पुस्तकालय से एकत्र किए गए पत्र) इसलिए संतुलन अभी भी हानिकारक हो सकता है।

इस जवाब में संतुलन के लिए प्रयोज्यता मानदंड भी स्पष्ट होना चाहिए:

वर्ग असंतुलन की समस्या अल्पसंख्यक वर्ग से संबंधित पर्याप्त प्रतिमान न होने के कारण होती है, न कि अपने आप में सकारात्मक और नकारात्मक प्रतिमानों के अनुपात से। आम तौर पर यदि आपके पास पर्याप्त डेटा है, तो "क्लास असंतुलन समस्या" उत्पन्न नहीं होती है

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

सड़क पर एक डायनासोर के बाहर मिलने की संभावना क्या है?

1/2 आप या तो एक डायनासोर से मिलते हैं या आप एक डायनासोर से नहीं मिलते हैं


5
मुझे लगता है कि इस मुद्दे के स्पष्टीकरण के अलावा, इस उत्तर से महत्वपूर्ण लेना-देना यह है कि किसी को पहले असंतुलित करने की कोशिश करनी चाहिए और उसके परिणामों की जांच करनी चाहिए और यदि आवश्यक हो तो केवल संतुलन की जांच करें और उसका परिणाम देखें। +1
ज़ेल्फ़िर कलस्टहल

तो, दूसरे शब्दों में, समान रूप से वितरित वर्ग के साथ प्रशिक्षण सबसेट में मॉडल अनदेखी डेटा में अपनी सटीकता को ढीला कर देगा, है ना? लेकिन, इसके विपरीत मामले में, जहां आप अपने प्रशिक्षण / परीक्षण उपसमुच्चय के लिए एक डेटासेट की प्रविष्टियों को बेतरतीब ढंग से निकालने की कोशिश करते हैं, क्या आपका क्लासिफायर बेहतर प्रदर्शन करेगा?
क्रिस्मस के।

@ChristosK। जैसा कि कहा गया है, जब आप समस्या को वर्गीकरण के रूप में देखते हैं, तो भविष्यवाणी के बारे में तर्क करना कठिन है। किसी भी मामले में, यदि आप पूर्वाग्रह ("बेतरतीब ढंग से नमूना") को हटाते हैं - आपको प्रदर्शन में सुधार करने के लिए एक बड़ा नमूना चाहिए। यह सिर्फ "आम तौर पर" नमूना है, शब्दार्थ को संरक्षित करने के लिए काफी बड़ा है, इसलिए अतिवृद्धि केवल चोट लगी होगी और हथौड़ा को नियमित करने की तरह काम करेगी कि "समतल" सब कुछ उचित विचार के बिना। इसके अलावा, जैसा कि डायनासोर रूपक सुझाव देता है, "संतुलित" का अर्थ "यहां तक ​​कि" भी नहीं है - आप केवल तभी संतुलित संतुलन बनाते हैं जब आप जानते हैं कि कुछ संभावनाएं "यादृच्छिक" नमूने में गलत रूप से प्रस्तुत की गई हैं।
dk14

1
@ChristosK। कुछ स्पष्टीकरण के लिए धन्यवाद। यह वही नहीं है जो मेरा मतलब था लेकिन दृष्टिकोण बहुत समान है। के-फोल्ड की प्रयोज्यता के लिए सामान्य अनुशंसा यह तब करना है जब आपका प्रारंभिक नमूना "थोड़े छोटा" हो। यकीन नहीं है, लेकिन तह को वैसे भी चोट नहीं पहुंचनी चाहिए - यह सिर्फ अधिक रन लेता है, और जितना कम आप भविष्यवाणी के बारे में परवाह करते हैं, उतना कम आप सामान्यीकरण / प्रदर्शन के बारे में परवाह करते हैं जितना कि यह ध्वनि लगता है :)। लेकिन कुल मिलाकर - k- गुना का मतलब अनिवार्य रूप से कम पूर्वाग्रह है।
dk14

1
@ChristosK। ओह, और चेतावनी के रूप में, स्पैम / न-स्पैम अनुपात अपने आप में एक गैर-स्थिर यादृच्छिक चर हो सकता है। उन सभी "नकली समाचार", "रूसी ट्रोल्स" और अन्य सामानों के साथ मैं ऐसी धारणाओं के बारे में सावधान रहूंगा - अनुपात भी पक्षपाती हो सकता है। आप अपने क्लासीफायर पर सबसे पहले प्रिसिजनरैल का अनुमान लगाना चाह सकते हैं, अगर कोई चीज अंडर-सैंपल की है - तो मैं ज्यादा डेटा इकट्ठा / जेनरेट (/) करूंगा।
dk14

17

@ Kjetil-b-halvorsen की टिप्पणी के अनुरूप, मशीन लर्निंग के तेजी से गोद लेने ने भविष्यवाणी बनाम वर्गीकरण के बारे में शोधकर्ताओं को भ्रमित किया है। जैसा कि मैंने यहां अधिक विस्तार से वर्णित किया है , वर्गीकरण केवल अल्पसंख्यकों के मामलों में उपयुक्त है। जब परिणाम दुर्लभ (या बहुत सामान्य) होता है, तो संभावनाएं सब कुछ होती हैं क्योंकि उस स्थिति में व्यक्ति केवल प्रवृत्ति के बारे में बोल सकता है , न कि व्यक्तिगत घटनाओं की भविष्यवाणी करने के बारे में।

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


1

निर्भर करता है कि आप वर्गीकरण से क्या हासिल करना चाहते हैं?

कहें कि यह कैंसर v / s गैर कैंसर है, तो कैंसर का पता लगाना महत्वपूर्ण है। हालाँकि, चूंकि गैर-कैंसर आपके डेटा का अधिकांश हिस्सा बनेगा, इसलिए क्लासिफायर अनिवार्य रूप से सभी मामलों को गैर-कैंसर वर्ग में भेज सकता है और बहुत अधिक सटीकता प्राप्त कर सकता है। लेकिन हम ऐसा नहीं कर सकते हैं, इसलिए हम अनिवार्य रूप से नमूना गैर-कैंसर के मामलों को कम करते हैं, अनिवार्य रूप से निर्णय क्षेत्र को कैंसर क्षेत्र से दूर गैर-कैंसर क्षेत्र में ले जाते हैं।

यहां तक ​​कि उपयोग के मामलों में जहां सटीकता हमारा एकमात्र उद्देश्य है, अगर ट्रेन समय से अलग होने की उम्मीद है तो संतुलन आवश्यक हो सकता है।

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


यही वह बात है जो मैंने अपने व्याख्यान से समझी थी। हालाँकि, मुझे समझ में नहीं आता है कि जब संतुलन खराब हो सकता है, जैसा कि इस ब्लॉग पोस्ट से पता चलता है। यदि कभी भी प्रत्येक वर्ग के लिए पर्याप्त डेटा बिंदु बने रहते हैं, तो संतुलन करना बुरा क्यों होगा?
ज़ेल्फिर कल्टस्टाहल

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

3
लेकिन कैंसर के उदाहरण के साथ समस्या यह है कि इसे वर्गीकरण के रूप में देखा जाए , इसे जोखिम अनुमान के रूप में माना जाना चाहिए । फिर असंतुलित कक्षाओं के साथ स्पष्ट समस्या गायब हो जाती है, आँकड़े
kjetil b halvorsen

1

जब आपका डेटा संतुलित होता है तो आप मीट्रिक सटीकता की जांच करना पसंद कर सकते हैं। लेकिन ऐसी स्थिति जब आपका डेटा असंतुलित होता है तो आपकी सटीकता अलग-अलग पुनरावृत्तियों के अनुरूप नहीं होती है। आपको परिशुद्धता (PPR), रिकॉल (संवेदनशीलता) जैसे अधिक मीट्रिक को केंद्रित करने की आवश्यकता है। तुलना करते समय यह दो मीट्रिक संतुलित होना चाहिए। इसके अलावा आपको एफ 1-स्कोर की जांच करनी चाहिए जो कि प्रेसिजन और रिकॉल का हार्मोनिक मतलब है। यह सभी मशीन लर्निंग एल्गोरिदम के लिए लागू है

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