रेखीय प्रतिगमन के लिए ढाल वंश का उपयोग क्यों करें, जब एक बंद-प्रपत्र गणित समाधान उपलब्ध हो?


73

मैं मशीन लर्निंग पाठ्यक्रम ऑनलाइन ले रहा हूं और परिकल्पना में इष्टतम मूल्यों की गणना के लिए ग्रेडिएंट डिसेंट के बारे में सीखा है।

h(x) = B0 + B1X

अगर हम आसानी से नीचे दिए गए फॉर्मूला के साथ मूल्यों को पा सकते हैं तो हमें ग्रेडिएंट डिसेंट का उपयोग करने की आवश्यकता क्यों है? यह सीधा आगे दिखता है और आसान भी। लेकिन GD को मान प्राप्त करने के लिए कई पुनरावृत्तियों की आवश्यकता होती है।

B1 = Correlation * (Std. Dev. of y/ Std. Dev. of x)

B0 = Mean(Y) – B1 * Mean(X)

नोट: https://www.dezyre.com/data-science-in-r-programming-tutorial/linear-regression-tutorial के रूप में लिया गया

मैंने नीचे दिए गए प्रश्नों पर जाँच की और मेरे लिए यह समझना स्पष्ट नहीं था।

ढाल वंश की आवश्यकता क्यों है?

एक विश्लेषणात्मक समाधान के बजाय ढाल मूल के साथ अनुकूलन क्यों हल किया जाता है?

उपरोक्त उत्तर GD बनाम डेरिवेटिव का उपयोग करके तुलना करते हैं।


5
आपको रेखीय प्रतिगमन गुणांक का अनुमान लगाने के लिए ढाल वंश की आवश्यकता नहीं है।
साइकोरैक्स

8
@ साइकोरेक्स "एक ज़रूरत नहीं है" एक मजबूत कथन है। भारी डेटा के लिए Iterative विधि उपयोगी हो सकती है। कहते हैं कि डेटा मैट्रिक्स बहुत बड़ा है जो मेमोरी में फिट नहीं हो सकता है।
हाइताओ दू

8
@ hxd1011 समस्या के इस व्यावहारिक आयाम को स्पष्ट करने के लिए धन्यवाद। मैं विशुद्ध रूप से गणितीय शब्दों में सोच रहा था।
साइकोरैक्स

जवाबों:


89

रेखीय प्रतिगमन के लिए ढाल वंश का उपयोग करने का मुख्य कारण कम्प्यूटेशनल जटिलता है: यह कुछ मामलों में ढाल वंश का उपयोग करके समाधान खोजने के लिए कम्प्यूटेशनल रूप से सस्ता (तेज) है।

आपने जो सूत्र लिखा है, वह बहुत ही सरल है, यहां तक ​​कि कम्प्यूटेशनल रूप से भी, क्योंकि यह केवल एकतरफा मामले के लिए काम करता है, यानी जब आपके पास केवल एक ही चर होता है। मल्टीवेरिएट मामले में, आप कई कारकों का है जब, सूत्रों कागज पर थोड़ा और अधिक जटिल है और आवश्यकता बहुत अधिक गणना जब आप सॉफ्टवेयर में लागू: यहाँ, आप की गणना करनी है मैट्रिक्स एक्स ' एक्स

β=(XX)1XY
XXफिर इसे उल्टा करें (नीचे नोट देखें)। यह एक महंगी गणना है। आपके संदर्भ के लिए, डिज़ाइन (डिज़ाइन) मैट्रिक्स X में K + 1 कॉलम हैं जहां K भविष्यवाणियों की संख्या और टिप्पणियों की N पंक्तियाँ हैं। एक मशीन लर्निंग एल्गोरिदम में आप K> 1000 और N> 1,000,000 के साथ समाप्त हो सकते हैं। मैट्रिक्स ही गणना करने के लिए एक छोटे से समय लगता है, तो आप को उलटने के लिए है कश्मीर × कश्मीर मैट्रिक्स - यह महंगा है।XXK×K

इसलिए, ढाल वंश गणना पर बहुत समय बचाने की अनुमति देता है। इसके अलावा, जिस तरह से यह किया जाता है वह एक तुच्छ समानांतरकरण के लिए अनुमति देता है, अर्थात कई प्रोसेसर या मशीनों में गणना वितरित करता है। रैखिक बीजगणित समाधान को भी समानांतर किया जा सकता है लेकिन यह अधिक जटिल और अभी भी महंगा है।

इसके अतिरिक्त, कंप्यूटर के मेमोरी की आवश्यकताओं को कम करते हुए, जब आप मेमोरी में केवल अपने डेटा का एक टुकड़ा रखते हैं, तो ग्रेडिएंट डिसेंट के संस्करण होते हैं। कुल मिलाकर, अतिरिक्त बड़ी समस्याओं के लिए यह रैखिक बीजगणित समाधान की तुलना में अधिक कुशल है।

यह और भी महत्वपूर्ण हो जाता है क्योंकि आयामी बढ़ जाता है, जब आपके पास मशीन सीखने में हजारों चर होते हैं।

रिमार्क । मुझे आश्चर्य था कि Ng के व्याख्यानों में ढाल वंश पर कितना ध्यान दिया जाता है। वह इसके बारे में बात करने के लिए समय की मात्रा में खर्च करता है, शायद पूरे पाठ्यक्रम का 20%। मेरे लिए यह केवल एक कार्यान्वयन विवरण है, यह ठीक यही है कि आप इष्टतम कैसे खोजें। ऑप्टिमाइज़ेशन समस्या को तैयार करने में कुंजी महत्वपूर्ण है, और आपको यह कैसे पता चलता है कि यह अनुपयोगी है। मैं इसके बारे में बहुत ज्यादा चिंता नहीं करता। इसे कंप्यूटर विज्ञान के लोगों पर छोड़ दें, और एक सांख्यिकीविद् के रूप में आपके लिए क्या महत्वपूर्ण है, इस पर ध्यान केंद्रित करें।

यह कहने के बाद मुझे यह कहकर योग्य होना चाहिए कि समाधान एल्गोरिदम की कम्प्यूटेशनल जटिलता और संख्यात्मक स्थिरता को समझना वास्तव में महत्वपूर्ण है । मुझे अभी भी नहीं लगता कि आपको एल्गोरिदम के कार्यान्वयन और कोड का विवरण पता होना चाहिए। यह आमतौर पर एक सांख्यिकीविद् के रूप में आपके समय का सबसे अच्छा उपयोग नहीं है।

नोट 1 । मैंने लिखा है कि आपको मैट्रिक्स को दिमागी उद्देश्यों के लिए उलटना होगा और यह नहीं है कि आप आमतौर पर समीकरण को कैसे हल करते हैं। व्यवहार में, रैखिक बीजगणित की समस्याएं क्यूआर जैसे कुछ प्रकार के कारक का उपयोग करके हल की जाती हैं, जहां आप सीधे मैट्रिक्स को उल्टा नहीं करते हैं, लेकिन उत्तर पाने के लिए गणितीय रूप से कुछ अन्य समान जोड़तोड़ करते हैं। आप ऐसा करते हैं क्योंकि मैट्रिक्स उलटा कई मामलों में एक महंगा और संख्यात्मक रूप से अस्थिर ऑपरेशन है।

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


17
लेकिन एनजी है एक कंप्यूटर विज्ञान व्यक्ति।
अमीबा

21
आपके टिप्पणी के बारे में: एक गणितज्ञ के रूप में, मैं सहमत था। लेकिन अब मेरी समझ यह है कि आधुनिक मशीन लर्निंग में, अनुकूलन की विधि स्वाभाविक रूप से उद्देश्य से अनुकूलित होती है। नियमितीकरण के कुछ रूप, जैसे ड्रॉपआउट, उद्देश्य के बजाय एल्गोरिथ्म के संदर्भ में अधिक स्पष्ट रूप से व्यक्त किए जाते हैं। संक्षेप में: यदि आप एक गहरा जाल लेते हैं, तो उद्देश्य फ़ंक्शन रखें लेकिन अनुकूलन पद्धति को बदलें, तो आपको बहुत अलग प्रदर्शन मिल सकता है। वास्तव में, कभी-कभी एक बेहतर
ए रेक्स

14
एक्स'एक्सएक्स'एक्सβ=एक्स'yβ

3
दूसरी ओर, क्यूआर फैक्टराइजेशन के साथ @AnderBiguri समाधान पिछड़ा स्थिर है, इसलिए यह एक समाधान देता है जो इनपुट डेटा में अनिश्चितता को देखते हुए यथासंभव सटीक है।
फेडेरिको पोलोनी

7
β=(एक्सटीएक्स)-1एक्सटीyएक्सटीएक्सβ=एक्सटीy

21

पहले, मैं दृढ़ता से अनुशंसा करूंगा कि आप निम्नलिखित दो पोस्ट पढ़ें (यदि डुप्लिकेट नहीं है)

कृपया जेएम के उत्तर की जांच करें

रेखीय प्रतिगमन में किस एल्गोरिथ्म का उपयोग किया जाता है?

कृपया मार्क के उत्तर (संख्यात्मक स्थिरता बिंदु से) की जाँच करें

क्या हमें एक रेखीय प्रतिगमन मॉडल के गुणांक को खोजने के लिए ढाल वंश की आवश्यकता है?


छोटा करना एक्स-2
2टी(एक्स-)0
टीएक्स=टी

उच्च स्तर में, रैखिक प्रणाली को हल करने के दो तरीके हैं। प्रत्यक्ष विधि और पुनरावृत्ति विधि। नोट प्रत्यक्ष विधि को हल कर रही है , और ग्रेडिएंट (एक उदाहरण पुनरावृत्ति विधि) सीधे को हल कर रहा है ।टीएक्स=टीछोटा करना एक्स-2

प्रत्यक्ष विधियों की तुलना करें ( QR / LU अपघटन कहें )। जब हमारे पास बड़ी मात्रा में डेटा होता है या डेटा बहुत कम होता है, तो Iterative विधियों के कुछ फायदे होते हैं।

दूसरी ओर, मेरा मानना ​​है कि एंड्रयू एनजी के कारणों में से एक यह जोर देता है क्योंकि यह एक सामान्य विधि है (मशीन सीखने में सबसे व्यापक रूप से उपयोग की जाने वाली विधि) और अन्य मॉडल जैसे लॉजिस्टिक रिग्रेशन या तंत्रिका नेटवर्क में इसका उपयोग किया जा सकता है।


तुम पूरी तरह ठीक हो। बड़ी मात्रा में डेटा को संभालने के दौरान SGD बहुत मददगार है। Prof Ng का प्रदर्शन करने का तरीका सबसे क्लासिक और शुद्ध है। स्पष्ट विचार रखने के लिए उस बिंदु से शुरू करना चाहिए। यदि कोई उस के आदर्श वाक्य को समझ सकता है तो संपूर्ण रैखिक अनुमान उसके लिए स्पष्ट होगा।
संदीपन कर्मकार 19

1
एक्सटीएक्स=Σएक्समैंएक्समैंटीएक्सटीएक्सएक्सटीyएक्स

6

लयबद्ध प्रतिगमन का आकलन करते समय साइकोरैक्स सही है कि आपको ढाल वंश की आवश्यकता नहीं है। आपका पाठ्यक्रम एक सरल उदाहरण का उपयोग कर सकता है ताकि आप अधिक जटिल संस्करणों को प्रस्तुत करने के लिए आपको ढाल वंश सिखा सकें।

एक साफ बात जो मैं जोड़ना चाहता हूं, हालांकि, यह है कि वर्तमान में एक मॉडल के ओवरफिटिंग को रोकने के लिए ग्रेडिएंट वंश को जल्दी समाप्त करने के लिए एक छोटा अनुसंधान आला शामिल है ।


2
ओवरफिटिंग स्टेटमेंट के लिए, क्या आप लिंक प्रदान कर सकते हैं? पुनरावृत्तियों की संख्या को सीमित करने की तुलना में नियमितीकरण शब्द को जोड़ना बेहतर है?
हायतौ डू

आप गुडफेलो एट अल द्वारा डीप लर्निंग के अध्याय 7 को देख सकते हैं, जिसमें तंत्रिका जाल में ओवरफिटिंग को रोकने के लिए शुरुआती रोक का उल्लेख है।
बैटमैन

2
शुरुआती रोक द्वारा नियमितीकरण किसी भी तरह से एक नई तकनीक नहीं है; यह एक प्रसिद्ध तकनीक है, कहते हैं, Landweber पुनरावृत्ति: en.wikipedia.org/wiki/Landweber_iteration
cfh

3

(एक्सटीएक्स)-1एक्सटीy

जिस विधि का आपने उल्लेख किया है अर्थात सहसंबंध का उपयोग कर रहा है, वह केवल एक भविष्यवक्ता और एक अवरोधन मात्रा के लिए लागू है। बस फॉर्म को नोटिस कर रहे हैं। तो, जब भविष्यवक्ताओं की संख्या संख्या में एक से अधिक है तो बाहर का रास्ता क्या है? फिर दूसरे तरीकों का सहारा लेना पड़ता है यानी सामान्य समीकरण या अनुकूलन।

हे(एन3)एनएक्सएक्स

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

शुभकामनाएं।


5
"एक आवक मैट्रिक्स" दृढ़ता से अनुशंसित नहीं है। रेखीय प्रणाली को हल करने के लिए QR अधिक संख्यात्मक रूप से स्थिर होता है।
हाइताओ डू

1
मैं कम्प्यूटेशनल तर्क से सहमत हूं। हालाँकि, ओवर- या अंडरफिटिंग का जीडी बनाम सामान्य समीकरण का उपयोग करने से कोई लेना-देना नहीं है, बल्कि इसके (प्रतिगमन) मॉडल की जटिलता के साथ है। दोनों विधियां (जीडी अगर यह ठीक से काम करती है) समान न्यूनतम-वर्ग समाधान (यदि यह मौजूद है) को ढूंढती है, और इसलिए डेटा को एक ही राशि से कम या अधिक फिट करेगी।
रूबेन वैन बर्गन

2

सबसे पहले, हाँ, असली कारण टिम एटराइड्स द्वारा दिया गया है; यह एक शैक्षणिक अभ्यास है।

हालांकि, यह संभव है, यद्यपि संभावना नहीं है, कि कोई एक नेटवर्क सॉकेट से स्ट्रीम किए जा रहे कई ट्रिलियन डेटापॉइंट्स पर एक रेखीय प्रतिगमन करना चाहेगा। इस मामले में, विश्लेषणात्मक समाधान का अनुभवहीन मूल्यांकन संभव होगा, जबकि स्टोचैस्टिक / एडाप्टिव ग्रेडिएंट वंश के कुछ वेरिएंट न्यूनतम मेमोरी ओवरहेड के साथ सही समाधान में परिवर्तित होंगे।

(एक रेखीय प्रतिगमन के लिए, पुनरावृत्ति प्रणाली के रूप में विश्लेषणात्मक समाधान में सुधार कर सकता है, लेकिन यह सामान्य तकनीक नहीं है।)


2

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

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