machine-learning - सहस - प्रतिगमन समीकरण




जब हम विश्लेषणात्मक रूप से रैखिक प्रतिगमन को हल कर सकते हैं तो ढाल वंश क्यों (3)

रैखिक प्रतिगमन अंतरिक्ष में ग्रेडियेंट वंश का उपयोग करने का क्या फायदा है? ऐसा लगता है कि हम समस्या को हल कर सकते हैं (विश्लेषणात्मक विधि के साथ theta0-n कम से कम लागत func ढूंढना) तो हम अभी भी एक ही चीज़ करने के लिए ढाल वंश का उपयोग क्यों करना चाहते हैं? धन्यवाद


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


आपको समस्या के बारे में अधिक जानकारी प्रदान करनी चाहिए - आप वास्तव में क्या पूछ रहे हैं - क्या हम एक या कई आयामों में रैखिक प्रतिगमन के बारे में बात कर रहे हैं? सरल या सामान्यीकृत?

आम तौर पर, लोग जीडी का उपयोग क्यों करते हैं?

  • इसे लागू करना आसान है
  • यह बहुत सामान्य ऑप्टिमाइज़ेशन तकनीक है - भले ही आप अपना मॉडल अधिक सामान्य में बदल दें, आप इसका उपयोग कर सकते हैं

तो विश्लेषणात्मक समाधान के बारे में क्या? खैर, हम उनका उपयोग करते हैं, आपका दावा केवल झूठा है (यदि हम सामान्य रूप से बात कर रहे हैं), उदाहरण के लिए OLS विधि एक बंद रूप है, विश्लेषणात्मक समाधान है, जिसका व्यापक रूप से उपयोग किया जाता है। यदि आप विश्लेषणात्मक समाधान का उपयोग कर सकते हैं, तो यह किफायती कम्प्यूटेशनल है (कभी-कभी जीडी बस सस्ता या तेज़ होता है) तो आप इसे भी उपयोग कर सकते हैं।

Neverlethles यह हमेशा कुछ पेशेवरों और विपक्ष का मामला है - विश्लेषणात्मक समाधान मॉडल से दृढ़ता से जुड़े हुए हैं, इसलिए यदि आप भविष्य में अपने मॉडल को सामान्यीकृत / बदलने की योजना बना रहे हैं तो उन्हें लागू करना अक्षम हो सकता है। वे कभी-कभी कम संख्यात्मक होते हैं, फिर उनके संख्यात्मक अनुमान, और कभी-कभी लागू करने के लिए कठिन होते हैं। यदि ऊपर से कोई भी सत्य नहीं है - आपको विश्लेषणात्मक समाधान का उपयोग करना चाहिए , और लोग वास्तव में ऐसा करते हैं।

संक्षेप में, आप विश्लेषणात्मक समाधान पर जीडी का उपयोग करते हैं यदि:

  • आप मॉडल, सामान्यीकरण में बदलावों पर विचार कर रहे हैं, कुछ और जटिल शब्द / नियमितकरण / संशोधन जोड़ रहे हैं
  • आपको एक सामान्य विधि की आवश्यकता है क्योंकि आप कोड और मॉडल के भविष्य के बारे में ज्यादा नहीं जानते (आप केवल डेवलपर्स में से एक हैं)
  • विश्लेषणात्मक समाधान अधिक महंगी कम्प्यूटेशनल है, और आपको दक्षता की आवश्यकता है
  • विश्लेषणात्मक समाधान के लिए अधिक स्मृति की आवश्यकता होती है, जो आपके पास नहीं है
  • विश्लेषणात्मक समाधान लागू करना मुश्किल है और आपको आसान, सरल कोड की आवश्यकता है

मैंने https://stats.stackexchange.com/questions/23128/solving-for-regression-parameters-in-closed-form-vs-gradient-descent से बहुत अच्छा जवाब देखा

असल में, कारण हैं:

1. अधिकांश nonlinear प्रतिगमन समस्याओं के लिए कोई बंद फॉर्म समाधान नहीं है।

2. रैखिक प्रतिगमन में भी (कुछ मामलों में से एक जहां एक बंद फॉर्म समाधान उपलब्ध है), यह सूत्र का उपयोग करने के लिए अव्यवहारिक हो सकता है। निम्नलिखित उदाहरण एक तरीका दिखाता है जिसमें यह हो सकता है।





gradient-descent