वर्ग असंतुलन समस्या का मूल कारण क्या है?


30

मैं हाल ही में मशीन / सांख्यिकीय सीखने में "क्लास असंतुलन समस्या" के बारे में बहुत कुछ सोच रहा हूं, और मैं कभी भी इस भावना को गहरा कर रहा हूं कि मुझे समझ नहीं आ रहा है कि क्या चल रहा है।

पहले मुझे अपनी शर्तों को परिभाषित (या प्रयास) परिभाषित करने दें:

वर्ग असंतुलन समस्या मशीन / सांख्यिकीय सीखने में अवलोकन है कि कुछ द्विआधारी वर्गीकरण (*) एल्गोरिदम अच्छा प्रदर्शन नहीं करते जब 1 वर्गों के लिए 0 कक्षाओं का अनुपात बहुत विषम है।

इसलिए, उपरोक्त में, उदाहरण के लिए, यदि हर एक वर्ग के लिए एक सौ वर्ग थे, तो मैं कहूंगा कि कक्षा का असंतुलन से 100 है , या 1 \% है0111001%

समस्या के अधिकांश विवरणों में मुझे यह कमी दिखाई दी कि मैं पर्याप्त योग्यता के रूप में क्या सोचूंगा (कौन से मॉडल संघर्ष करते हैं, असंतुलित होना एक समस्या है), और यह मेरी उलझन का एक स्रोत है।

मशीन / सांख्यिकीय शिक्षण में मानक ग्रंथों का एक सर्वेक्षण थोड़ा बदल जाता है:

  • सांख्यिकीय लीनिंग और सांख्यिकीय अधिगम से परिचय के तत्वों में सूचकांक में "वर्ग असंतुलन" नहीं होता है।
  • प्रिडिक्टिव डेटा एनालिटिक्स के लिए मशीन लर्निंग में इंडेक्स में "क्लास असंतुलन" भी नहीं होता है।

  • मर्फी की मशीन लर्निंग: एक प्रोबेबिलिस्टिक पर्सपेक्टिव में इंडेक्स में "क्लास असंतुलन" होता है। संदर्भ एसवीएम पर एक सेक्शन का है, जहां मुझे निम्नलिखित टेंटलाइजिंग टिप्पणी मिली:

    यह याद रखने योग्य है कि इन सभी कठिनाइयों और उन्हें ठीक करने के लिए प्रस्तावित सांख्यिकी के ढेरों, मौलिक रूप से उत्पन्न होते हैं क्योंकि एसवीएम संभावनाओं का उपयोग करके अनिश्चितता का मॉडल नहीं बनाते हैं, इसलिए उनके आउटपुट स्कोर कक्षाओं में तुलनीय नहीं हैं।

यह टिप्पणी मेरे अंतर्ज्ञान और अनुभव के साथ रहती है: मेरी पिछली नौकरी में हम नियमित रूप से लॉजिस्टिक रेजिमेंट्स और ग्रेडिएंट बूस्टेड ट्री मॉडल (द्विपद लॉग-लाइबिलिटी को कम करने के लिए) असंतुलित डेटा ( 1% असंतुलन के आदेश पर) के साथ फिट करेंगे। प्रदर्शन में कोई स्पष्ट मुद्दे नहीं।

मैंने पढ़ा है (कहीं) कि वृक्ष आधारित मॉडल (वृक्ष स्वयं और यादृच्छिक वन) का वर्गीकरण भी वर्ग असंतुलन समस्या से ग्रस्त हैं। यह पानी को थोड़ा कम करता है, पेड़ कुछ अर्थों में करते हैं, संभावनाएं लौटाते हैं: पेड़ के प्रत्येक टर्मिनल नोड में लक्ष्य वर्ग के लिए मतदान रिकॉर्ड।

इसलिए, मैं जो कुछ भी कर रहा हूं, उसे समझने के लिए, बलों की एक वैचारिक समझ है जो वर्ग असंतुलन की समस्या को जन्म देती है (यदि यह मौजूद है)।

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

(*) वर्गीकरण से मेरा मतलब है कि कोई भी सांख्यिकीय मॉडल द्विआधारी प्रतिक्रिया डेटा के लिए फिट है। मैं यह नहीं मान रहा हूं कि मेरा लक्ष्य एक वर्ग या दूसरे के लिए एक कठिन काम है, हालांकि यह हो सकता है।


1
एक स्पष्ट समस्या तब उत्पन्न हो सकती है जब शिक्षार्थी प्रत्येक वर्ग के नुकसान को समान करता है। सैद्धांतिक रूप से कुल नुकसान को कम करने के लिए एक ही वर्ग के लिए सब कुछ वापस करना।
फायरबग

1
मैं poor choice of loss functionअपनी सूची में जोड़ना भूल गया । तो, क्या आपको लगता है कि हानि कार्यों के रूप में उचित स्कोरिंग नियमों के लिए भी यह सच है?
मैथ्यू ड्र्यू

मुझे ऐसा लगता है। मुझे लगता है कि हम एक ऐसी समस्या तैयार कर सकते हैं जहाँ बड़े वर्ग के नुकसान को कम करने के साथ-साथ पूरी समस्या का नुकसान भी कम से कम हो, जबकि सामान्य रूप से अल्पसंख्यक वर्ग का बड़ा हित है।
फायरबग

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

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

जवाबों:


4

मशीन लर्निंग के इनसाइक्लोपीडिया ( https://cling.csd.uwo.ca/papers/cost_sensitive.pdf ) से एक प्रविष्टि मदद से बताती है कि "क्लास असंतुलन समस्या" को क्या कहा जाता है, इसे तीन अलग-अलग समस्याओं में बेहतर समझा जाता है:

 (1) assuming that an accuracy metric is appropriate when it is not

 (2) assuming that the test distribution matches the training 
     distribution when it does not

 (3) assuming that you have enough minority class data when you do not

लेखक बताते हैं:

वर्ग असंतुलित डेटासेट वास्तविक दुनिया के कई अनुप्रयोगों में होता है जहां डेटा के वर्ग वितरण अत्यधिक असंतुलित होते हैं। फिर, सामान्यता के नुकसान के बिना, हम मानते हैं कि अल्पसंख्यक या दुर्लभ वर्ग सकारात्मक वर्ग है, और बहुसंख्यक वर्ग नकारात्मक वर्ग है। अक्सर अल्पसंख्यक वर्ग बहुत छोटा होता है, जैसे कि डेटासेट का 1%। यदि हम डेटासेट पर अधिकांश पारंपरिक (मूल्य-असंवेदनशील) क्लासिफायर लागू करते हैं, तो वे सब कुछ नकारात्मक (बहुसंख्यक वर्ग) के रूप में भविष्यवाणी करेंगे। यह अक्सर अत्यधिक असंतुलित डेटासेट से सीखने में एक समस्या के रूप में माना जाता था।

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

इस प्रकार, असंतुलित वर्ग की समस्या तभी सार्थक हो जाती है जब उपरोक्त दोनों मान्यताओं में से एक या दोनों सही न हों; वह है, अगर विभिन्न प्रकार की त्रुटि (बाइनरी वर्गीकरण में झूठी सकारात्मक और झूठी नकारात्मक) की लागत समान नहीं है, या यदि परीक्षण डेटा में वर्ग वितरण प्रशिक्षण डेटा से अलग है। लागत-संवेदनशील मेटा-लर्निंग में विधियों का उपयोग करके पहले मामले को प्रभावी ढंग से निपटाया जा सकता है।

मामले में जब गर्भपात की लागत बराबर नहीं होती है, तो बहुसंख्यक (नकारात्मक) वर्ग में अल्पसंख्यक (सकारात्मक) उदाहरण को अल्पसंख्यक वर्ग में बहुमत उदाहरण की तुलना में मिसकॉलिफाई करना अधिक महंगा होता है (अन्यथा यह सब कुछ भविष्यवाणी करना अधिक प्रशंसनीय है) नकारात्मक)। यानी एफएन> एफपी। इस प्रकार, एफएन और एफपी के मूल्यों को देखते हुए, विभिन्न प्रकार की लागत के प्रति संवेदनशील मेटा-लर्निंग विधियां हो सकती हैं, और वर्ग असंतुलन समस्या को हल करने के लिए इस्तेमाल किया गया है (लिंग और ली, 1998; जपकोविज़ और स्टीफन, 2002)। यदि एफएन और एफपी के मूल्य स्पष्ट रूप से अज्ञात नहीं हैं, तो एफएन और एफपी को पी (-): पी (+) (जापकोविज़ और स्टीफन, 2002) के आनुपातिक रूप से सौंपा जा सकता है।

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

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

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

उम्मीद है की वो मदद करदे।


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

@probabilityislogic (और बिल वेंडर लुग्ट): एक और संभावित समस्या है जिसकी उस पाठ में चर्चा नहीं की गई है: क्या एक भेदभावपूर्ण Ansatz पर्याप्त है। भेदभावपूर्ण मॉडल के लिए अपर्याप्त रूप से जहां एक वर्ग अधिक उपयुक्त होगा, वह "वर्ग असंतुलन की समस्या" भी पैदा कर सकता है।
केबिले मोनिका

8

कुछ भी जिसमें नुकसान फ़ंक्शन को कम करने के लिए अनुकूलन शामिल है, यदि पर्याप्त रूप से उत्तल होता है, तो एक समाधान दें जो उस हानि फ़ंक्शन का वैश्विक न्यूनतम है। मैं कहता हूं कि 'पर्याप्त रूप से उत्तल' चूंकि गहरे नेटवर्क पूरे उत्तल पर नहीं हैं, लेकिन सीखने की दर आदि के सावधानीपूर्वक विकल्प के साथ व्यवहार में उचित न्यूनतम स्थान दें।

इसलिए, इस तरह के मॉडल के व्यवहार को परिभाषित किया जाता है जो भी हम नुकसान फ़ंक्शन में डालते हैं।

कल्पना करें कि हमारे पास एक मॉडल है, , जो प्रत्येक उदाहरण के लिए कुछ मनमाना वास्तविक स्केलर प्रदान करता है, जैसे कि अधिक नकारात्मक मान कक्षा ए को इंगित करते हैं, और अधिक सकारात्मक संख्या वर्ग बी को इंगित करते हैं।F

yf=f(x)

हम को मॉडल G बनाने के लिए F का उपयोग करते हैं , जो कि F , आउटपुट या स्पष्ट रूप से F के आउटपुट को एक थ्रेशोल्ड, b प्रदान करता है , जैसे कि जब F , b से अधिक मूल्य का आउटपुट देता है तो मॉडल G वर्ग B की भविष्यवाणी करता है, अन्यथा यह वर्ग A की भविष्यवाणी करता है।FGbFFbG

yg={Bif f(x)>bAotherwise

उस मॉडल G को जानने वाले थ्रेशोल्ड अलग करके , हम उन उदाहरणों के अनुपात को अलग-अलग कर सकते हैं जिन्हें वर्ग A या वर्ग B के रूप में वर्गीकृत किया गया है। हम प्रत्येक कक्षा के लिए सटीक / रिकॉल के वक्र के साथ आगे बढ़ सकते हैं। एक उच्च सीमा वर्ग बी के लिए कम याद दिलाती है, लेकिन शायद उच्च परिशुद्धता।bG

कल्पना कीजिए कि मॉडल ऐसा है कि अगर हम एक ऐसी सीमा चुनते हैं जो या तो कक्षा को बराबर सटीकता और याद दिलाती है, तो मॉडल जी की सटीकता 90% है, या तो वर्ग (समरूपता द्वारा) के लिए। इसलिए, एक प्रशिक्षण उदाहरण दिया जाता है, जी को उदाहरण 90% समय में मिलेगा, चाहे जमीनी सच्चाई कोई भी हो, ए या बी। यह संभवत: वह है जहां हम जाना चाहते हैं? आइए इसे हमारे 'आदर्श थ्रेशोल्ड', या 'आदर्श मॉडल G', या शायद G thresh कहते हैंFGG

अब, मान लें कि हमारे पास एक हानि फ़ंक्शन है:

L=1Nn=1NIyig(xi)

Ic1c0yiig(xi)i

990.9=89.1990.1=9.910.9=0.910.1=0.1

L=(9.9+0.1)/100=0.1

G1/100

L=0.01

दहलीज की स्थापना करते समय नुकसान की तुलना में दस गुना कम प्रत्येक वर्ग को बराबर याद और सटीक असाइन करने के लिए।

GG

G

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


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

G

2
FPTPk

एफएफजीएफFजी

3
इसका अर्थ यह माना जाता है कि हम जिस KPI को अधिकतम करने का प्रयास करते हैं वह सटीकता है, और (2) सटीकता सटीकता वर्गीकरण मॉडल के मूल्यांकन के लिए एक उपयुक्त KPI है। यह नहीं है।
एस। कोलासा - मोनिका जूल

0

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

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

एक उदाहरण के रूप में, कुछ उत्पाद पर विचार करें जिन्हें बेचा जाना अच्छा है या नहीं। ऐसी स्थिति आमतौर पर होती है

class         | "good"                        | "not good"
--------------+-------------------------------+------------------------------------------
sample size   | large                         | small
              |                               |
feature space | single, well-delimited region | many possibilities of *something* wrong 
              |                               | (possibly well-defined sub-groups of
              |                               |    particular fault reasons/mechanisms) 
              |                               | => not a well defined region, 
              |                               | spread over large parts of feature space
              |                               |
future cases  | can be expected to end up     | may show up *anywhere* 
              | inside modeled region         | (except in good region)

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

इस प्रकार की "क्लास असंतुलन समस्या" गायब हो जाएगी जब कार्य को अच्छी तरह से परिभाषित "अच्छा" वर्ग के एक-वर्ग की मान्यता के रूप में तैयार किया जाता है।

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