असंतुलित डेटा

क्लास की अनुपातों के बीच सेट किए गए डेटा को असंतुष्ट कहा जाता है. डेटा सेट का एक बड़ा हिस्सा होने वाली क्लास को मैजरिटी क्लास कहा जाता है. ऐसे वीडियो जिनमें माइनर क्लास शामिल हों.

असंतुलन के रूप में क्या गिना जाता है? इसका जवाब मामूली से लेकर बहुत ज़्यादा हो सकता है, जैसा कि नीचे दी गई टेबल में दिखाया गया है.

असंतुलन की डिग्री अल्पसंख्यक वर्ग का अनुपात
बैटरी बचाने वाला सामान्य मोड डेटा सेट का 20-40%
ठीक-ठाक डेटा सेट का 1-20%
बहुत ज़्यादा <1% डेटा सेट

असंतुष्ट डेटा क्यों देखें? अगर आपके पास असंतुष्ट डेटा सेट है, तो आपको कैटगरी तय करने का कोई खास काम करना पड़ सकता है.

धोखाधड़ी का पता लगाने वाले मॉडल का उदाहरण देखें. धोखाधड़ी के इंस्टेंस, इस डेटा सेट में हर 200 लेन-देन में एक बार होते हैं. इसलिए, असल डिस्ट्रिब्यूशन के लिए, डेटा का करीब 0.5% हिस्सा पॉज़िटिव होता है.

दो बार वाला बार ग्राफ़. एक बार में करीब 200 नेगेटिव ट्रांज़ैक्शन दिखाए जाते हैं, जबकि दूसरे बार में 1 पॉज़िटिव ट्रांज़ैक्शन दिखाया जाता है.

आपको इससे कोई समस्या क्यों होगी? नकारात्मक के मुकाबले बहुत कम सकारात्मक चीज़ें, इस ट्रेनिंग मॉडल का ज़्यादातर समय नेगेटिव उदाहरणों पर खर्च होगा और अच्छे नतीजों से कम. उदाहरण के लिए, अगर आपके बैच का साइज़ 128 है, तो कई बैच के लिए कोई पॉज़िटिव उदाहरण नहीं होगा, इसलिए ग्रेडिएंट कम जानकारी देने वाले होंगे.

अगर आपके पास डेटा का असंतुलन है, तो सबसे पहले सही डिस्ट्रिब्यूशन की ट्रेनिंग करें. अगर मॉडल ठीक से काम करता है और वह सामान्य हो जाता है, तो आपको काम पूरा करना होगा! अगर नहीं, तो नीचे दी गई सैंपलिंग और वेट बढ़ाने की तकनीक को आज़माएं.

डाउनसैंपलिंग और वेटेजिंग

असंतुष्ट डेटा को हैंडल करने का एक असरदार तरीका है, ग़ैर-ज़रूरी मॉडल को कम करना और ज़्यादा वज़न करना. आइए, उन दो नए शब्दों को परिभाषित करके शुरू करते हैं:

  • डाउनसैंपलिंग (इस संदर्भ में) का मतलब ज़्यादातर क्लास के उदाहरणों को कम या ज़्यादा सबसेट पर ट्रेनिंग देना है.
  • अप वेट का मतलब है, डाउनसेल की गई क्लास में उदाहरण के तौर पर वेटेज जोड़ना, उस फ़ैक्टर के बराबर होता है जिसके लिए आपने सैंपल हटाया है.

पहला चरण: ज़्यादातर क्लास के लिए डाउनसैंपल करना. धोखाधड़ी वाले डेटा सेट के हमारे उदाहरण पर फिर से विचार करें, जिसमें 1 सकारात्मक से लेकर 200 नेगेटिव डेटा सेट हो. बैलेंस को 10 के फ़ैक्टर से कम करने पर, बैलेंस 1 पॉज़िटिव से 20 नेगेटिव (5%) तक बेहतर हो जाता है. हालांकि, नतीजे के तौर पर मिलने वाली ट्रेनिंग का सेट अब भी कुछ हद तक असंतुष्ट होता है, लेकिन नकारात्मक और पॉज़िटिव अनुपात का अनुपात, बहुत ज़्यादा खराब अनुपात (0.5%) से बेहतर है.

दो बार वाला बार ग्राफ़. एक बार 20 नेगेटिव लेन-देन दिखाता है, जबकि दूसरा बार 1 पॉज़िटिव लेन-देन दिखाता है.

दूसरा चरण: सैंपल के बिना तैयार की गई क्लास को अपवज़न करना: आखिरी चरण में, डाउनसेल की गई क्लास में उदाहरण के वेट जोड़ना शामिल है. हमने 10 के फ़ैक्टर के आधार पर सैंपल लिया है, इसलिए उदाहरण का वज़न 10 होना चाहिए.

सैंपलिंग और वज़न कम करने का डायग्राम. पहला चरण, डाउनसैंपलिंग, रैंडम क्लास से उदाहरण दिखाता है. यह ब्लॉक, सबसे बड़ा क्लास के डेटासेट को दिखाता है. चरण 2 में, मोटाई तय करने पर, क्रम के हिसाब से चुने गए हर उदाहरण के लिए वज़न जोड़ दिया जाता है.

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

वज़न उस फ़ैक्टर के बराबर होना चाहिए जिसका इस्तेमाल आपने डाउनसैंपल के लिए किया था:

\[\text{ \{example weight\} = \{original example weight\} × \{downsampling factor\} }\]

डाउनसैंपल और अपवेट क्यों?

सैंपल के तौर पर इस्तेमाल किए जाने के बाद, वेट के उदाहरण जोड़ना अजीब लग सकता है. हम अपने मॉडल को अल्पसंख्यक वर्ग पर बेहतर बनाने की कोशिश कर रहे थे -- हम अल्पसंख्यक लोगों का वज़न क्यों बढ़ा रहे हैं? इसकी वजह से ये बदलाव होते हैं:

  • ज़्यादा तेज़ी से काम करता है: ट्रेनिंग के दौरान, हम अल्पसंख्यकों की कक्षा को अक्सर देखते हैं इससे मॉडल तेज़ी से इकट्ठा हो पाएगा.
  • डिस्क की जगह: ज़्यादातर क्लास को बड़े मोटाई वाले उदाहरणों के साथ इकट्ठा करने पर, हम उन्हें सेव करने के लिए कम डिस्क स्पेस लेते हैं. इस बचत से अल्पसंख्यकों के वर्ग को डिस्क में ज़्यादा जगह मिलती है और हम उस श्रेणी से बड़ी संख्या में उदाहरण ले सकते हैं.
  • कैलिब्रेशन: वेट तय करना यह पक्का करता है कि हमारा मॉडल अब भी कैलिब्रेट किया गया है; आउटपुट को अब भी संभावना के रूप में देखा जा सकता है.