मैंने खुद से महीनों तक यह सवाल पूछा है। CrossValidated और Quora पर दिए गए सभी उत्तर उपस्कर सिग्मॉइड फ़ंक्शन के अच्छे गुणों को सूचीबद्ध करते हैं, लेकिन ऐसा लगता है जैसे हमने इस फ़ंक्शन का चतुराई से अनुमान लगाया है। जो मैंने याद किया, उसे चुनने का औचित्य था। मुझे अंततः बेंगियो (2016) की "डीप लर्निंग" पुस्तक के खंड 6.2.2.2 में एक मिला । मेरे अपने शब्दों में:
संक्षेप में, हम चाहते हैं कि मॉडल के आउटपुट का लघुगणक प्रशिक्षण डेटा के लॉग-लाइबिलिटी के ग्रेडिएंट-आधारित अनुकूलन के लिए उपयुक्त हो।
प्रेरणा
- हम एक रेखीय मॉडल चाहते हैं, लेकिन हम सीधे ।z=wTx+bz∈(−∞,+∞)
- वर्गीकरण के लिए, यह बर्नौली वितरण को मानने और में इसके पैरामीटर को मॉडल करने के लिए समझ में आता है ।θP(Y=1)=θ
- तो, हम मैप करने की आवश्यकता से करने के लिए वर्गीकरण करने के लिए।z(−∞,+∞)[0,1]
लॉजिस्टिक सिग्मोइड फ़ंक्शन क्यों?
साथ को काटना बाहर लिए एक शून्य ढाल देता है । जब भी मॉडल की भविष्यवाणी गलत होती है, तो हमें एक मजबूत ढाल की आवश्यकता होती है, क्योंकि हम क्रमिक वंश के साथ लॉजिस्टिक प्रतिगमन को हल करते हैं। लॉजिस्टिक रिग्रेशन के लिए, कोई बंद फॉर्म समाधान नहीं है।zP(Y=1|z)=max{0,min{1,z}}z[0,1]
लॉजिस्टिक फ़ंक्शन में मॉडल की भविष्यवाणी गलत होने पर एक निरंतर ढाल को स्पर्श करने की अच्छी संपत्ति है, यह देखते हुए कि हम मॉडल को फिट करने के लिए अधिकतम संभावना अनुमान का उपयोग करते हैं। यह नीचे दिखाया गया है:
संख्यात्मक लाभों के लिए, प्रशिक्षण डेटा के नकारात्मक लॉग-लाइबिलिटी को कम करके अधिकतम संभावना अनुमान लगाया जा सकता है। तो, हमारी लागत समारोह है:
J(w,b)=1m∑i=1m−logP(Y=yi|xi;w,b)=1m∑i=1m−(yilogP(Y=1|z)+(yi−1)logP(Y=0|z))
चूंकि , हम मामले पर ध्यान केंद्रित कर सकते हैं । तो, सवाल यह है कि को कैसे बनाया जाए, जो कि हमारे पास ।P(Y=0|z)=1−P(Y=1|z)Y=1P(Y=1|z)z=wTx+b
लिए फ़ंक्शन मैपिंग लिए स्पष्ट आवश्यकताएं हैं:fzP(Y=1|z)
- ∀z∈R:f(z)∈[0,1]
- f(0)=0.5
- f को घूर्णी रूप से सममितीय wrt , यानी , ताकि कक्षाओं के संकेतों को फ़्लिप करने से लागत फ़ंक्शन पर कोई प्रभाव न पड़े।(0,0.5)f(−x)=1−f(x)
- f गैर-घटती, निरंतर और विभेदी होनी चाहिए।
सिग्मॉइड फ़ंक्शंस को पूरा करने से ये ज़रूरतें पूरी होती हैं । दोनों और उन्हें पूरा करें। हालांकि, सिग्मायॉइड फ़ंक्शंस लॉग-लाइकेलिटी के ग्रेडिएंट-आधारित अनुकूलन के दौरान उनके व्यवहार के संबंध में भिन्न होते हैं। हम अपने लागत फ़ंक्शन में लॉजिस्टिक फ़ंक्शन को प्लग करके अंतर देख सकते हैं ।f(z)=11+e−zf(z)=0.5+0.5z1+|z|f(z)=11+e−z
लिए संतृप्तिY=1
के लिए और , एक भी misclassified नमूना की लागत (यानी ) है:P(Y=1|z)=11+e−zY=1m=1
J(z)=−log(P(Y=1|z))=−log(11+e−z)=−log(ez1+ez)=−z+log(1+ez)
हम देख सकते हैं कि एक रैखिक घटक । अब, हम दो मामलों को देख सकते हैं:−z
- जब बड़ी होती है, तो बाद से मॉडल की भविष्यवाणी सही थी । लागत समारोह में, करने के लिए शब्द asymptotes बड़े के लिए । इस प्रकार, यह मोटे तौर पर इस नमूने और एक कमजोर ढाल के लिए लगभग शून्य लागत के लिए बाहर रद्द करता है। यह समझ में आता है, क्योंकि मॉडल पहले से ही सही वर्ग की भविष्यवाणी कर रहा है।zY=1log(1+ez)zz−z
- जब छोटा होता है (लेकिन बड़ा होता है), बाद से मॉडल की भविष्यवाणी सही नहीं थी । लागत समारोह में, पद के लिए asymptotes छोटे के लिए । इस प्रकार, इस नमूने की कुल लागत मोटे तौर पर , जिसका अर्थ है कि ढाल wrt लगभग । इससे मॉडल को अपने द्वारा प्राप्त होने वाले निरंतर ढाल के आधार पर अपनी गलत भविष्यवाणी को सही करना आसान हो जाता है। यहां तक कि बहुत छोटे , कोई संतृप्ति नहीं चल रही है, जो गायब हो जाने वाले ग्रेडिएंट का कारण होगा।z|z|Y=1log(1+ez)0z−zz−1z
लिए संतृप्तिY=0
ऊपर, हमने मामले पर ध्यान केंद्रित किया । के लिए , लागत समारोह बर्ताव करती है तुलनात्मक रूप से मजबूत, ढ़ाल उपलब्ध कराने पर ही मॉडल की भविष्यवाणी गलत है।Y=1Y=0
यह लिए लागत समारोह :J(z)Y=1
यह क्षैतिज रूप से फ़्लिप किए गए सॉफ्टप्लस फ़ंक्शन है। के लिए , यह softplus कार्य है।Y=0
वैकल्पिक
आपने लॉजिस्टिक सिग्मोइड फ़ंक्शन के विकल्पों का उल्लेख किया, उदाहरण के लिए । सामान्यीकृत , इसका मतलब होगा कि हम मॉडल करते हैं ।z1+|z|[0,1]P(Y=1|z)=0.5+0.5z1+|z|
MLE के दौरान, लिए लागत फ़ंक्शन तब होगाY=1
J(z)=−log(0.5+0.5z1+|z|) ,
जो इस तरह दिखता है:
आप देख सकते हैं, कि लागत समारोह की ढाल लिए कमजोर और कमजोर हो जाती है ।z→−∞