हमें डेटा असंतुलन को संभालने की आवश्यकता क्यों है?


12

मुझे यह जानना चाहिए कि हमें डेटा असंतुलन से निपटने की आवश्यकता क्यों है। मुझे पता है कि इस समस्या से निपटने के लिए और विभिन्न तरीकों से कैसे निपटना है जो नमूना या डाउन सैंपलिंग द्वारा या स्मोट का उपयोग करके है।

उदाहरण के लिए, यदि मुझे 100 में से 1 प्रतिशत एक दुर्लभ बीमारी है, और मैं कहता हूं कि मैंने अपने प्रशिक्षण सेट के लिए एक संतुलित डेटा सेट करने का निर्णय लिया है, जो है: 50/50 नमूना यह नहीं करेगा कि मशीन को लगता है कि 50% रोगियों के पास होगा रोग? हालांकि अनुपात 100 में से 1 है

  1. हमें डेटा असंतुलन से निपटने की आवश्यकता क्यों है?
  2. बैलेंस सेट करने के लिए अनुशंसित अनुपात क्या है

मुझे वह सवाल पसंद है। समझना बहुत महत्वपूर्ण क्यों है।
DaL

जवाबों:


8

आपको असंतुलित डेटा सेट से निपटने की आवश्यकता है जब अल्पसंख्यक वर्ग को खोजने का मूल्य बहुमत खोजने की तुलना में बहुत अधिक है।

बता दें कि 1% आबादी के पास वह दुर्लभ बीमारी है। मान लीजिए कि आप एक ही लागत को यह कहने के लिए कहते हैं कि एक स्वस्थ आदमी बीमार है या यह कह रहा है कि एक बीमार आदमी स्वस्थ है। एक मॉडल प्रदान करें जो कहता है कि हर कोई स्वस्थ है, 99% सटीकता प्राप्त करें और जल्दी घर जाएं। इस तरह के एक मॉडल के साथ समस्या यह है कि हालांकि इसकी उच्च सटीकता है, यह संभवतः वह नहीं है जो आप देख रहे हैं। अधिकांश समय आप बीमारी से ग्रस्त लोगों को ढूंढना चाहते हैं (झूठी नकारात्मक बातों को अधिक तवज्जो देते हैं) इससे कहीं अधिक आप एक स्वस्थ व्यक्ति को अनावश्यक परीक्षण (झूठी सकारात्मकता के लिए कम वजन) भेजने से डरते हैं। एक वास्तविक विश्व स्वास्थ्य समस्या में वजन के बीच का अनुपात आसानी से 1 से 1,000 हो सकता है।

वितरण में असंतुलन अधिकांश एल्गोरिदम को उचित समाधान खोजने से विफल कर देता है।

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

बस कुछ अन्य समस्या के अनुपात को सेट करने से काम नहीं चलेगा क्योंकि आपको भी यही समस्या होगी।

Smote एक अलग तरीके से काम कर रहा है, जो मैंने कोशिश करने पर भी काम नहीं किया, लेकिन यह आपकी समस्या के लायक हो सकता है।


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

क्या आप इस वाक्य पर और अधिक विस्तार कर सकते हैं "जब आपकी लागत की त्रुटि नमूने के वितरण में फिट नहीं होती है।" मैं इसे बहुत अच्छी तरह से नहीं मिला
sara

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

दूसरी टिप्पणी का उत्तर देना: वास्तव में, वह बिंदु थोड़ा अस्पष्ट था। मैंने उत्तर संपादित किया। क्या यह अब स्पष्ट है?
DaL

हां, जैसा कि मैं समझता हूं कि प्रशिक्षण और परीक्षण वितरण समान होना चाहिए, इसलिए इसका समाधान यह नहीं होगा कि मैं अपने प्रशिक्षण सेट को 50 50 के अनुपात में संतुलित करने के बाद, मैं जाऊं और अपना परीक्षण सेट भी 50 50 पर सेट करूं?
सारा

4
  • संक्षिप्त जवाब:

आपको वर्ग असंतुलन से निपटने की आवश्यकता है यदि / क्योंकि यह आपके मॉडल को बेहतर बनाता है (अनदेखी डेटा पर)। "बेहतर" एक ऐसी चीज है जिसे आपको खुद को परिभाषित करना होगा। यह सटीकता हो सकती है, यह एक लागत हो सकती है, यह वास्तविक सकारात्मक दर आदि हो सकती है।

  • लंबा जवाब:

एक सूक्ष्म अति सूक्ष्म अंतर है जो वर्ग असंतुलन के बारे में बात करते समय समझना महत्वपूर्ण है। अर्थात्, आपका डेटा असंतुलित है क्योंकि:

  1. डेटा का वितरण स्वयं असंतुलित है

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

यह भी ध्यान रखना महत्वपूर्ण है कि लागत के प्रति संवेदनशील मॉडल का उपयोग असंतुलित डेटासेट के लिए विशिष्ट नहीं है। आप ऐसे मॉडल का उपयोग कर सकते हैं यदि आपका डेटा पूरी तरह से संतुलित है।

  1. यह डेटा के सही वितरण का प्रतिनिधित्व नहीं करता है

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

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

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


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

मैंने अपने उत्तर को थोड़ा उम्मीद से संपादित किया, यह स्पष्ट है। मेरा मतलब निम्न था: "यदि आपके मॉडल को कम लागत पर बेहतर माना जाता है, और असंतुलन से निपटने से लागत कम हो जाती है, तो इसे करें"।
वैलेंटाइन कैलोमी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.