लॉजिस्टिक रिग्रेशन के लिए नियमितीकरण के तरीके


42

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


क्या आप किसी विशेष डेटा सेट को देख रहे हैं, और इस तरह डेटा को कम्प्यूटेशन के लिए ट्रैक्टेबल बनाने पर विचार करने की आवश्यकता है, उदाहरण के लिए डेटा का चयन, स्केलिंग और ऑफसेट करना ताकि शुरुआती कंपटीशन सफल हो जाए। या यह कैसे और whys पर एक अधिक सामान्य देखो (एक विशिष्ट डेटा के खिलाफ 0 की गणना के बिना है?
फिलिप ओकले

1
यह नियमितीकरण के हाव-भाव पर अधिक सामान्य नज़र है। नियमितीकरण के तरीकों (रिज, लास्सो, इलास्टिकनेट आदि) के लिए परिचयात्मक ग्रंथ जो मैंने विशेष रूप से रेखीय प्रतिगमन उदाहरणों में उल्लेख किए हैं। किसी एक ने विशेष रूप से उपस्कर का उल्लेख नहीं किया, इसलिए प्रश्न।
ताक

1
लॉजिस्टिक रिग्रेशन जीएलएम का एक रूप है जो गैर-पहचान लिंक फ़ंक्शन का उपयोग करता है, लगभग सब कुछ लागू होता है।
फायरबग

1
क्या आपने विषय पर एंड्रयू एनजी के वीडियो पर ठोकर खाई है ?
एंटोनी परेलाडा

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

जवाबों:


49

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

विशेष रूप से, रैखिक विधि के तीन प्रमुख घटक हैं, हानि फ़ंक्शन, नियमितीकरण, एल्गोरिदम । जहां नुकसान फ़ंक्शन प्लस नियमितीकरण अनुकूलन फॉर्म में समस्या का उद्देश्य फ़ंक्शन है और एल्गोरिथ्म इसे हल करने का तरीका है (उद्देश्य फ़ंक्शन उत्तल है, हम इस पोस्ट में चर्चा नहीं करेंगे)।

L(y^,y)=(y^y)2L(y^,y)=|y^y|L()yy^

L(y^,y)=log(1+exp(y^y))L(y^,y)=(1y^y)+y{1,1}y^y^

नियमितीकरण सेटिंग में, आपने एल 1 और एल 2 नियमितीकरण के बारे में उल्लेख किया है, ऐसे अन्य रूप भी हैं, जिनकी चर्चा इस पोस्ट में नहीं की जाएगी।

इसलिए, एक उच्च स्तर में एक रैखिक विधि है

minimizew   x,yL(wx,y)+λh(w)

यदि आप लॉजिंग फ़ंक्शन को रिग्रेशन सेटिंग से लॉजिस्टिक लॉस में बदल देते हैं, तो आपको लॉजिस्टिक रिग्रेशन को नियमित करने के साथ मिल जाता है।

उदाहरण के लिए, रिज प्रतिगमन में, अनुकूलन समस्या है

minimizew   x,y(wxy)2+λww

यदि आप नुकसान फ़ंक्शन को लॉजिस्टिक लॉस के साथ बदलते हैं, तो समस्या बन जाती है

minimizew   x,ylog(1+exp(wxy))+λww

यहां आपको L2 नियमितीकरण के साथ लॉजिस्टिक रिग्रेशन है।


यह एक खिलौना संश्लेषित बाइनरी डेटा सेट में कैसा दिखता है। बाईं आकृति रैखिक मॉडल (निर्णय सीमा) वाला डेटा है। सही आंकड़ा उद्देश्य फ़ंक्शन समोच्च है (एक्स और वाई अक्ष 2 मापदंडों के लिए मूल्यों का प्रतिनिधित्व करता है।)। डेटा सेट दो गाऊसी से उत्पन्न हुआ था, और हम लॉजिस्टिक प्रतिगमन मॉडल को बिना अवरोधन के फिट करते हैं, इसलिए केवल दो पैरामीटर हैं जिन्हें हम सही उप-आकृति में कल्पना कर सकते हैं।

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

λ0

यहाँ छवि विवरण दर्ज करें

यहाँ एल 1 नियमितीकरण के साथ एक और उदाहरण है।

यहाँ छवि विवरण दर्ज करें

ध्यान दें कि, इस प्रयोग का उद्देश्य यह दर्शाने की कोशिश कर रहा है कि लॉजिस्टिक रिग्रेशन में नियमितीकरण कैसे काम करता है, लेकिन तर्क नहीं कि नियमित मॉडल बेहतर है।


λλ0

यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें


wxyy^=f(x)=wx1

yy{1,1}

y^=wxy^yy^=wx{1,1}y^

y{0,1}

कोड मेरे अन्य उत्तर में यहां पाया जा सकता है।

क्या इस बात का कोई सहज स्पष्टीकरण है कि लॉजिस्टिक प्रतिगमन सही पृथक्करण मामले के लिए काम क्यों नहीं करेगा? और नियमितिकरण को जोड़ने से इसे ठीक क्यों किया जाएगा?


4
wTxf(x)

उत्तर @ hxd1011 के लिए धन्यवाद, क्या आप कृपया समझा सकते हैं कि समोच्च ग्राफ़ में ठोस काली रेखाएँ क्या दर्शाती हैं? अधिक सटीक होने के लिए, मुझे पता है कि (जैसा कि आपने समझाया) x और y अक्ष हमारे द्वारा उपयोग किए जाने वाले 2 पैरामीटर दिखाते हैं। लेकिन ठोस लाइनों और उनकी संख्या जैसे 8000, 10000, 12000 के बारे में क्या। धन्यवाद!
जेसपर


12

l(β)=l(β)+12ln|i(β)|
i(β)=1nipi(1pi)xixi{(yi,xi)={(1,1),(0,0)}glmR

1
हाँ आप इसके लिए R संकुल logistf या brglm का उपयोग कर सकते हैं! शायद ध्यान देने योग्य ...
टॉम वेन्सलेर्स

यह बहुत ही सुंदर है, लेकिन यह अनुकूलन के लिए काफी धीमा है? ग्रेडिएंट में आपको का व्युत्क्रम मिलता है, जिसे हर पुनरावृत्ति में i(β)
पुनःप्रकाशित

यह दर्दनाक रूप से धीमा है, वास्तव में, @appletree
StasK

(+1) मैंने इससे पहले फर्थ के सुधार के बारे में नहीं सुना था। मैं उद्धृत पेपर में निहित दृष्टिकोण की अपेक्षा नहीं करूंगा ताकि GLM समाधान में अधिक समय जोड़ा जा सके? (आपको एक मैट्रिक्स को पलटने की ज़रूरत नहीं है, बस लीवर की गणना करें। यदि जीएलएम को पुनरावृत्त कम से कम वर्गों के माध्यम से हल करना है, तो ये क्यू कारक के केवल पंक्ति-मानक हैं । लीवर तब का उपयोग करके डेटा और एक्सपोज़र में जोड़ते हैं। जेफरीज़ समायोजन में बजाय )h/21/2
जियोमैट

6

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


इस के लिए सिर्फ glmnet का उपयोग करने के नकारात्मक पक्ष यह है कि दृष्टिकोण आपको महत्व का स्तर नहीं देगा। यदि आप उन में रुचि रखते हैं, तो आर पैकेज लॉजिफ़ या ब्रॉगम जाने का एक बेहतर तरीका होगा ...
टॉम वेन्स्लेर्स

@TomWenseleers पी-वैल्यू प्राप्त करने के लिए ग्लमनेट बूटस्ट्रैपिंग के तरीके भी हैं। हालाँकि, यह थोड़ा जटिल है क्योंकि "नियमित" बूटस्ट्रैप लसो गुणांक के लिए काम नहीं करता है
देवीपीड

मुझे बताने के लिए धन्यवाद, उस के बारे में पता है कि मैं देखा है दूसरों को यह भी उल्लेख है, यहाँ जैसे: stats.stackexchange.com/questions/34859/... , लेकिन कुछ भी मानक कुछ आर पैकेज में लागू खोजने के लिए प्रतीत नहीं कर सकते हैं। क्या आपके पास कोई संकेत होगा? या इस पर अच्छा प्राथमिक साहित्य? बूटस्ट्रैपिंग के नीचे यह भी है कि यह आम तौर पर बड़े डेटासेट के लिए बहुत धीमा होगा ...
टॉम वेन्स्लेर्स

क्या आप उन तरीकों का जिक्र कर रहे हैं, जो आर पैकेज hdi, क्रैन .pro- .org.org/ web / packages/ hdi/ index.html में लागू किए गए हैं ?
टॉम वेन्सलेर्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.