एक लॉजिस्टिक क्लासिफायरियर में फ़ंक्शन (सॉफ्टमैक्स बनाम सिग्मॉइड) का विकल्प क्या तय करता है?
मान लीजिए कि 4 आउटपुट क्लास हैं। उपरोक्त फ़ंक्शन में से प्रत्येक प्रत्येक वर्ग की संभावनाओं को सही आउटपुट देता है। तो क्लासिफायर के लिए कौन सा लेना है?
एक लॉजिस्टिक क्लासिफायरियर में फ़ंक्शन (सॉफ्टमैक्स बनाम सिग्मॉइड) का विकल्प क्या तय करता है?
मान लीजिए कि 4 आउटपुट क्लास हैं। उपरोक्त फ़ंक्शन में से प्रत्येक प्रत्येक वर्ग की संभावनाओं को सही आउटपुट देता है। तो क्लासिफायर के लिए कौन सा लेना है?
जवाबों:
अवग्रह समारोह , दो स्तरीय रसद प्रतिगमन के लिए प्रयोग किया जाता है, जबकि softmax समारोह multiclass रसद प्रतिगमन (उर्फ MAXENT, बहुपद रसद प्रतिगमन, softmax प्रतिगमन, अधिकतम Entropy वर्गीकरणकर्ता) के लिए प्रयोग किया जाता है।
द्वि-श्रेणी लॉजिस्टिक रिग्रेशन में, सिग्मोइड फ़ंक्शन का उपयोग करते हुए, पूर्वानुमानित प्रोबैबल्स इस प्रकार हैं:
वर्गों के साथ, बहुस्तरीय लॉजिस्टिक रिग्रेशन में, अनुमानित संभावनाएँ इस प्रकार हैं, सॉफ्टमैक्स फ़ंक्शन का उपयोग करते हुए:
कोई यह देख सकता है कि सॉफ्टमैक्स फ़ंक्शन मल्टीक्लास केस के सिग्मॉइड फ़ंक्शन का विस्तार है, जैसा कि नीचे बताया गया है। आइए वर्गों के साथ बहुस्तरीय लॉजिस्टिक रिग्रेशन को देखें :
साथ । हम देखते हैं कि हम सिग्माइड फ़ंक्शन का उपयोग करके दो-वर्ग लॉजिस्टिक प्रतिगमन में समान संभावनाएं प्राप्त करते हैं। विकिपीडिया उस पर थोड़ा और विस्तार करता है।
वे, वास्तव में, समतुल्य हैं, इस अर्थ में कि एक को दूसरे में बदला जा सकता है।
मान लीजिए कि आपके डेटा को मनमाने ढंग से आयाम के वेक्टर द्वारा दर्शाया गया है , और आपने इसके लिए एक बाइनरी क्लासिफायरियर बनाया, जिसमें एक सॉफ्टमैक्स के बाद एक एफाइन परिवर्तन का उपयोग किया गया है:
आइए इसे एक समतुल्य बाइनरी क्लासिफायर में बदल दें जो सॉफ्टमैक्स के बजाय सिग्मॉइड का उपयोग करता है। सबसे पहले, हमें यह तय करना होगा कि कौन सी संभावना है कि हम उत्पादन के लिए चाहते हैं (जो कि कक्षा या लिए हो सकता है )। यह विकल्प बिल्कुल मनमाना है और इसलिए मैं कक्षा चयन करता । फिर, मेरा क्लासिफायर फॉर्म होगा:
यदि संभावनाएं समान हैं, तो क्लासीफायर बराबर हैं, इसलिए हमें इसे लागू करना चाहिए:
जगह , और के मामले में अपने भाव से और और कुछ सरल कर बीजगणितीय हेरफेर, आप यह सत्यापित कर सकते हैं कि ऊपर समानता है अगर और केवल अगर और द्वारा दिए गए हैं:
मैंने देखा है कि लोग अक्सर इस सवाल को निर्देशित करते हैं कि खोज करते समय कि तंत्रिका नेटवर्क में सिग्मॉइड बनाम सॉफ्टमैक्स का उपयोग करना है या नहीं। यदि आप उन लोगों में से एक हैं जो एक तंत्रिका नेटवर्क क्लासिफायरियर का निर्माण कर रहे हैं, तो यहां बताया गया है कि अपने नेटवर्क से कच्चे आउटपुट मूल्यों पर सिग्मॉइड या सॉफ्टमैक्स कैसे लागू करें:
संदर्भ: उदाहरणों की गणना सहित तंत्रिका नेटवर्क डिजाइन में सिग्मॉइड बनाम सॉफ्टमैक्स का उपयोग करने के बारे में अधिक विस्तृत विवरण के लिए, कृपया इस लेख को देखें: "वर्गीकरण: सिग्मॉइड बनाम सॉफ्टमैक्स।"
सभी पिछले उत्तरों को जोड़ते हुए - मैं इस तथ्य का उल्लेख करना चाहूंगा कि किसी भी मल्टी-क्लास वर्गीकरण समस्या को "एक-बनाम-बनाम-सभी" विधि का उपयोग करके कई बाइनरी वर्गीकरण समस्याओं को कम किया जा सकता है, अर्थात सी सिगमॉइड्स (जब सी की संख्या है) कक्षाएं) और हर सिग्मॉइड की व्याख्या करने के लिए उस विशिष्ट वर्ग में होने या न होने की संभावना हो सकती है, और अधिकतम संभावना ले रही है।
उदाहरण के लिए, एमएनआईएसटी अंकों के उदाहरण में, आप या तो सॉफ्टमैक्स, या दस सिग्मोइड का उपयोग कर सकते हैं। वास्तव में यह वही है जो एंड्रयू ने अपने कोर्टेरा एमएल कोर्स में किया है। आप यहां देख सकते हैं कि एंड्रयू एनजी ने मल्टीकाचर्स वर्गीकरण के लिए 10 सिग्मोइड का उपयोग कैसे किया (मेरे द्वारा मैटलब से अजगर तक अनुकूलित), और यहां अजगर में मेरा सॉफ्टमैक्स अनुकूलन है।
इसके अलावा, यह ध्यान देने योग्य है कि जब फ़ंक्शंस समतुल्य हैं (मल्टीकलर्स वर्गीकरण के उद्देश्य के लिए) तो वे अपने कार्यान्वयन में थोड़ा भिन्न होते हैं (विशेष रूप से उनके डेरिवेटिव के संबंध में , और वाई का प्रतिनिधित्व कैसे करें)।
एक एकल मल्टीस्कलैस वर्गीकरण (यानी सॉफ्टमैक्स) पर कई बाइनरी वर्गीकरण (यानी सिगमोइड) का उपयोग करने का एक बड़ा फायदा यह है कि यदि आपका सॉफ्टमैक्स बहुत बड़ा है (उदाहरण के लिए, यदि आप 10K या उससे अधिक के शब्दकोश आकार के एक-गर्म शब्द का उपयोग कर रहे हैं) ) - इसे प्रशिक्षित करना अक्षम हो सकता है। इसके बजाय आप क्या कर सकते हैं अपने प्रशिक्षण-सेट का एक छोटा सा हिस्सा लें और इसका उपयोग अपने सिग्मोइड के केवल एक छोटे हिस्से को प्रशिक्षित करने के लिए करें। यह नेगेटिव सैंपलिंग के पीछे मुख्य विचार है ।