LASSO समाधान की गणना के लिए GLMNET या LARS?


13

मैं LASSO समस्या के लिए गुणांक प्राप्त करना चाहूंगा

||YXβ||+λ||β||1.

समस्या यह है कि ग्लमैनेट और लार्स फ़ंक्शन अलग-अलग उत्तर देते हैं। Glmnet फ़ंक्शन के लिए मैं के गुणांक के लिए पूछता हूं / | | | | सिर्फ λ के बजाय , लेकिन मुझे अभी भी अलग-अलग उत्तर मिलते हैं।λ/||Y||λ

क्या यह अपेक्षित है? लार्स और ग्लमेनेट λ के बीच क्या संबंध है ? मैं समझता हूं कि LASSO समस्याओं के लिए glmnet तेज है लेकिन मैं जानना चाहूंगा कि कौन सी विधि अधिक शक्तिशाली है?λλ


deps_stats मुझे डर है कि मेरे डेटासेट का आकार इतना बड़ा है कि LARS इसे संभाल नहीं सकता है, जबकि दूसरी तरफ glmnet मेरे बड़े डेटासेट को संभाल सकता है।

mpiktas मैं (Y-Xb) का समाधान खोजना चाहता हूं ^ 2 + L \ sum | b_j | लेकिन जब मैं दो एल्गोरिदम (लार्स और ग्लमैनेट) से उस विशेष एल के लिए उनकी गणना गुणांक के लिए पूछता हूं, तो मुझे अलग-अलग उत्तर मिलते हैं ... और मुझे आश्चर्य है कि क्या यह सही है / उम्मीद है? या मैं सिर्फ दो कार्यों के लिए एक गलत लंबोदर का उपयोग कर रहा हूं।


1
कृपया अपनी समस्या को दर्शाते हुए एक उदाहरण प्रदान करें। इसके अलावा आप एल्गोरिथ्म की शक्ति को कैसे परिभाषित करते हैं?
mpiktas

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

"समस्या यह है कि ग्लमैनेट और लार्स फ़ंक्शन अलग-अलग उत्तर देते हैं।" मेरी भी यही समस्या है। कोई जवाब?
अनुदान

गुणांक के लिए काफी अलग जवाब? और सिर्फ मूल पोस्ट को पढ़ने से, आपको वास्तव में एक लैंबडा समाधान से glmnetऔर लार्स कार्यान्वयन से या तो संभव नहीं होना चाहिए । वे पूर्वाग्रह बनाम विचरण के स्पेक्ट्रम के साथ समाधान की एक पूरी श्रृंखला प्रदान करते हैं। जिससे वास्तविक गुणांक की तुलना करना कठिन हो जाता है। लेकिन फिर भी, एक ही चर समान क्रम में संभवतः गैर-शून्य हो जाना चाहिए।
शिया पार्क्स

जवाबों:


14

मेरे अनुभव में, LARS छोटी समस्याओं, बहुत विरल समस्याओं, या बहुत 'व्यापक' समस्याओं (नमूनों की बहुत अधिक विशेषताओं) के लिए तेज़ है। वास्तव में, इसकी कम्प्यूटेशनल लागत चयनित सुविधाओं की संख्या तक सीमित है, यदि आप पूर्ण नियमितीकरण पथ की गणना नहीं करते हैं। दूसरी ओर, बड़ी समस्याओं के लिए, glmnet (समन्वित वंश अनुकूलन) तेज है। अन्य चीजों के अलावा, समन्वित वंश में एक अच्छा डेटा एक्सेस पैटर्न (मेमोरी-फ्रेंडली) होता है और यह बहुत बड़े डेटासेट पर डेटा में अतिरेक से लाभ उठा सकता है, क्योंकि यह आंशिक रूप से फिट बैठता है। विशेष रूप से, यह भारी सहसंबद्ध डेटासेट से ग्रस्त नहीं है।

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

जूलियन मेराल की थीसिस में दिलचस्प बेंचमार्क की तुलना की जा सकती है:

http://www.di.ens.fr/~mairal/resources/pdf/phd_thesis.pdf

धारा 1.4, विशेष रूप से 1.4.5 (पृष्ठ 22) में

जूलियन थोड़ा अलग निष्कर्ष पर आता है, हालांकि समस्या का उसका विश्लेषण समान है। मुझे इस पर संदेह है क्योंकि वह बहुत व्यापक समस्याओं में बहुत रुचि रखते थे।


आपकी अधिकांश प्रतिक्रियाएँ सीडब्ल्यू (यहाँ, लेकिन metaoptimize.com/qa पर भी) की जाती हैं ... किसी भी कारण से?
chl

1
क्योंकि मुझे लगता है कि यह अच्छा है अगर लोग टाइपो, गलत शब्दों को ठीक कर सकते हैं ... मुझे उत्तर के निरंतर सुधार का विचार पसंद है। क्या यह सबसे अच्छा अभ्यास है?
गेल वरुक्वाक्स

2
मैंने पास होने में दो या तीन टाइपो तय किए। सीडब्ल्यू प्रति सेगमेंट के साथ कुछ भी नहीं करना है, जब तक कि आप अपने पद को संपादित करने के लिए आवश्यक कम प्रतिनिधि के बारे में नहीं सोच रहे हों! उपयोगकर्ता किसी भी संपादन का सुझाव दे सकते हैं, हालांकि; लेकिन आपकी प्रतिक्रिया सीडब्ल्यू बनाने से आप उनसे प्रतिनिधि नहीं बन पाएंगे। मुझे लगता है कि आप रेप के बाद नहीं हैं, लेकिन जब आपकी प्रतिक्रियाएं हमेशा अच्छी रहीं, तो मैं सोच रहा था ... चीयर्स।
chl

1

LASSO उस मामले में गैर-अद्वितीय है जहां कई विशेषताओं में पूर्ण समरूपता है। यहाँ यह साबित करने के लिए एक सरल विचार प्रयोग है।

yx1x2yx1x2yx1x2β1=1Pβ2=0Pβ1=0β21P


2
@dsmcha, यह कहने के लिए क्षमा करें, लेकिन मुझे नहीं लगता कि मुझे वह उदाहरण बहुत पसंद है। प्रतिक्रिया दो भविष्यवक्ताओं के समान है? यह मेरे दृष्टिकोण में पैथोलॉजिकल से परे है।
कार्डिनल

1

Larso समस्या के लिए Lars और Glmnet अलग-अलग समाधान देते हैं, क्योंकि वे डेटा के अलग-अलग उद्देश्य कार्यों और विभिन्न standartisations का उपयोग करते हैं। आप संबंधित प्रश्न में प्रजनन के लिए विवरण कोड पा सकते हैं लार्स समस्या के लिए लार्स और ग्लमेनेट अलग-अलग समाधान क्यों देते हैं?

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.