वर्गीकरण: पूर्वानुमान बायस

लॉजिस्टिक रिग्रेशन के अनुमान निष्पक्ष होने चाहिए. यानी:

"पूर्वानुमान और कोटेशन का औसत; ≈"निगरानी और कोटेशन का औसत;

पूर्वानुमान में झुकाव एक मात्रा है, जो दो औसतों के बीच की दूरी को मापती है. यानी:

$$\text{prediction bias} = \text{average of predictions} - \text{average of labels in data set}$$

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

उदाहरण के लिए, मान लें कि हम जानते हैं कि औसतन सभी ईमेल का 1% स्पैम होता है. अगर हमें किसी ईमेल के बारे में कोई जानकारी नहीं है, तो हमें अनुमान लगाना चाहिए कि उस ईमेल का 1% स्पैम हो सकता है. इसी तरह, एक अच्छे स्पैम मॉडल का अनुमान यह लगाया जाना चाहिए कि ईमेल के स्पैम होने की संभावना 1% होती है. (इसका मतलब है कि अगर हम हर ईमेल के स्पैम होने की अनुमानित संभावना औसत बताते हैं, तो नतीजे 1% होने चाहिए). इसके बजाय, अगर मॉडल यह हो सकता है तो स्पैम होने की औसत संभावना 20% है. ऐसे में, हम यह अनुमान लगा सकते हैं कि इस अनुमान में मापदंड से बाहर की चीज़ें दिखाई जा रही हैं.

पूर्वानुमान भेदभाव की मुख्य वजहें ये हो सकती हैं:

  • अधूरा फ़ीचर सेट
  • शोर डेटा सेट
  • गड़बड़ी वाली पाइपलाइन
  • भेदभाव वाला ट्रेनिंग सैंपल
  • बहुत मज़बूत रेगुलराइज़ेशन

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

  • आप समस्या की वजह के बजाय समस्या को ठीक कर रहे हैं.
  • आपने बहुत ही बढ़िया तरीके से बनाया है. अब आपको इसे अप-टू-डेट रखना होगा.

अगर हो सके, तो कैलिब्रेट करने वाली लेयर का इस्तेमाल न करें. कैलिब्रेशन लेयर का इस्तेमाल करने वाले प्रोजेक्ट, उन पर निर्भर रहते हैं. वे कैलिब्रेट करने वाली लेयर का इस्तेमाल करके, अपने सभी मॉडल के पाप ठीक करते हैं. आखिरकार, कैलिब्रेशन लेयर को बनाए रखना किसी भयानक सपने की वजह बन सकता है.

बकेटिंग और पूर्वानुमान बायस

लॉजिस्टिक रिग्रेशन से 0 और 1 के बीच की वैल्यू का अनुमान लगाया जाता है. हालांकि, लेबल किए गए सभी उदाहरण या तो 0 ही होते हैं (उदाहरण के लिए, "स्पैम नहीं") या बिल्कुल एक ही होने का मतलब है (जैसे, "स्पैम"). इसलिए, जब आप पूर्वानुमान के झुकाव का पता लगाते हैं, तो आप सिर्फ़ एक उदाहरण के आधार पर यह अनुमान नहीं लगा सकते कि आपको सुझावों के लिए दिखाए जाने वाले मापदंड से जुड़े भेदभाव की जांच करनी है या नहीं. आपको उदाहरणों के आधार पर, यह बताना होगा कि इन बातों का अनुमान लगाया गया है या नहीं. इसका मतलब है कि लॉजिस्टिक रिग्रेशन के लिए अनुमान का अनुमान लगाने से, सिर्फ़ तब अहम जानकारी मिलती है, जब अनुमानित वैल्यू (उदाहरण के लिए, 0.392) की तुलना अनुमानित वैल्यू से की जा सके. उदाहरण के लिए, 0.394.

आप इन तरीकों से बकेट बना सकते हैं:

  • टारगेट किए गए सुझावों को साफ़ तौर पर अलग-अलग करना.
  • क्वानटाइल बनाना.

किसी खास मॉडल के नीचे दिए गए कैलिब्रेशन प्लॉट का इस्तेमाल करें. हर बिंदु 1,000 वैल्यू की बकेट दिखाता है. अक्षों के मतलब ये होते हैं:

  • x-एक्सिस उन वैल्यू के औसत को दिखाता है जिनका अनुमान मॉडल उस बकेट के लिए लगाता है.
  • y-एक्सिस उस बकेट के डेटा सेट में मानों का वास्तविक औसत दिखाता है.

दोनों ऐक्सिस लॉगारिद्मिक स्केल हैं.

X-अक्ष पूर्वानुमान है; y-अक्ष लेबल है. सुझाव के लिए मध्य और उच्च मानों के लिए, पूर्वानुमान मापदंड न के बराबर है. पूर्वानुमान की कम वैल्यू के लिए, यह अनुमान काफ़ी ज़्यादा है.

आठवां डायग्राम. अनुमान के लिए झुकाव वाला कर्व (लॉगारिद्मिक स्केल)

अनुमान, मॉडल के सिर्फ़ कुछ हिस्से के लिए इतने खराब क्यों हैं? यहां कुछ संभावनाएं दी गई हैं:

  • ट्रेनिंग सेट में डेटा के कुछ सबसेट के बारे में ज़रूरी जानकारी नहीं होती.
  • डेटा सेट के कुछ सबसेट, दूसरों की तुलना में शोर वाले होते हैं.
  • मॉडल बहुत ज़्यादा नियमित है. (lambda की वैल्यू कम करने पर विचार करें.)