लीनियर रिग्रेशन: ग्रेडिएंट डिसेंट

ग्रेडिएंट डिसेंट एक गणितीय तकनीक है. यह बार-बार वज़न और बायस का पता लगाती है, ताकि मॉडल को सबसे कम नुकसान हो. ग्रेडिएंट डिसेंट, सबसे सही वेट और बायस का पता लगाता है. इसके लिए, वह उपयोगकर्ता के तय किए गए कई इटरेशन के लिए, यहां दी गई प्रोसेस को दोहराता है.

मॉडल, रैंडमाइज़ किए गए ऐसे वेट और बायस के साथ ट्रेनिंग शुरू करता है जो शून्य के आस-पास होते हैं. इसके बाद, वह इन चरणों को दोहराता है:

  1. मौजूदा वेट और बायस के हिसाब से नुकसान का हिसाब लगाएं.

  2. वज़न और बायस को उस दिशा में ले जाना जिससे नुकसान कम हो.

  3. वज़न और पक्षपात की वैल्यू को उस दिशा में थोड़ा बदलें जिससे नुकसान कम हो.

  4. पहले चरण पर वापस जाएं और इस प्रोसेस को तब तक दोहराएं, जब तक मॉडल में और सुधार न हो सके.

नीचे दिए गए डायग्राम में, ग्रेडिएंट डिसेंट के उन चरणों के बारे में बताया गया है जिन्हें दोहराकर, सबसे कम नुकसान वाला मॉडल तैयार किया जाता है.

इमेज 11. ग्रेडिएंट डिसेंट प्रोसेस की जानकारी देने वाली इमेज.

ग्यारहवीं इमेज. ग्रेडिएंट डिसेंट एक ऐसी प्रोसेस है जिसमें बार-बार काम किया जाता है. इससे ऐसे वेट और बायस का पता चलता है जिनसे मॉडल को सबसे कम नुकसान होता है.

मॉडल कन्वर्जेंस और लॉस कर्व

मॉडल को ट्रेन करते समय, अक्सर लॉस कर्व को देखा जाता है. इससे यह पता चलता है कि मॉडल कन्वर्ज हुआ है या नहीं. लॉस कर्व से पता चलता है कि मॉडल को ट्रेन करते समय, लॉस में कैसे बदलाव होता है. आम तौर पर, लॉस कर्व ऐसा दिखता है. y-ऐक्सिस पर लॉस और x-ऐक्सिस पर इटरेशन दिखाए गए हैं:

इमेज 12. लॉस कर्व का ग्राफ़, जिसमें तेज़ी से गिरावट और फिर धीरे-धीरे गिरावट दिख रही है.

इमेज 12. लॉस कर्व में दिखाया गया है कि मॉडल, 1,000वें-इटरेशन मार्क के आस-पास कन्वर्ज हो रहा है.

इस ग्राफ़ में देखा जा सकता है कि पहले कुछ इटरेशन के दौरान, लॉस में काफ़ी कमी आई है. इसके बाद, यह धीरे-धीरे कम होता है. 1,000वें इटरेशन के आस-पास, यह स्थिर हो जाता है. 1,000 बार दोहराने के बाद, हम काफ़ी हद तक यह पक्का कर सकते हैं कि मॉडल कन्वर्ज हो गया है.

नीचे दिए गए डायग्राम में, ट्रेनिंग की प्रोसेस के दौरान तीन पॉइंट पर मॉडल को दिखाया गया है: शुरुआत, बीच, और आखिर. ट्रेनिंग प्रोसेस के दौरान, स्नैपशॉट में मॉडल की स्थिति को विज़ुअलाइज़ करने से, वज़न और पक्षपात को अपडेट करने, नुकसान को कम करने, और मॉडल कन्वर्जेंस के बीच का लिंक मज़बूत होता है.

आंकड़ों में, हमने मॉडल को दिखाने के लिए, किसी खास इटरेशन पर निकाले गए वज़न और बायस का इस्तेमाल किया है. डेटा पॉइंट और मॉडल स्नैपशॉट वाले ग्राफ़ में, मॉडल से डेटा पॉइंट तक नीली लॉस लाइनें, लॉस की मात्रा दिखाती हैं. लाइनें जितनी लंबी होंगी, उतना ही ज़्यादा नुकसान होगा.

नीचे दिए गए फ़िगर में, हम देख सकते हैं कि दूसरे इटरेशन के आस-पास मॉडल, अनुमान लगाने में अच्छा नहीं होगा. ऐसा इसलिए है, क्योंकि इसमें काफ़ी ज़्यादा नुकसान हुआ है.

इमेज 13. मॉडल का लॉस कर्व और उससे जुड़ा ग्राफ़, जो डेटा पॉइंट से दूर होता है.

तेरहवीं इमेज. ट्रेनिंग प्रोसेस की शुरुआत में मॉडल का लॉस कर्व और स्नैपशॉट.

लगभग 400वें इटरेशन पर, हम देख सकते हैं कि ग्रेडिएंट डिसेंट को ऐसा वेट और बायस मिल गया है जिससे बेहतर मॉडल तैयार होता है.

इमेज 14. मॉडल का लॉस कर्व और उससे जुड़ा ग्राफ़, जो डेटा पॉइंट से होकर गुज़रता है, लेकिन ऑप्टिमल ऐंगल पर नहीं.

चौदहवीं इमेज. ट्रेनिंग के दौरान मॉडल के लॉस कर्व और स्नैपशॉट की इमेज.

इसके बाद, हम देख सकते हैं कि 1,000वें इटरेशन के आस-पास मॉडल कन्वर्ज हो गया है. इससे सबसे कम नुकसान वाला मॉडल तैयार हुआ है.

इमेज 15. मॉडल का लॉस कर्व और उससे जुड़ा ग्राफ़, जो डेटा के हिसाब से सही है.

15वीं इमेज. ट्रेनिंग प्रोसेस के आखिर में, मॉडल का लॉस कर्व और स्नैपशॉट.

एक्सरसाइज़: देखें कि आपको कितना समझ आया

लीनियर रिग्रेशन में ग्रेडिएंट डिसेंट की क्या भूमिका होती है?
ग्रेडिएंट डिसेंट एक ऐसी प्रोसेस है जिसमें बार-बार दोहराव होता है. इस प्रोसेस में, सबसे सही वेट और बायस का पता लगाया जाता है, ताकि नुकसान को कम किया जा सके.
ग्रेडिएंट डिसेंट से यह तय करने में मदद मिलती है कि मॉडल को ट्रेनिंग देते समय, किस तरह के नुकसान का इस्तेमाल किया जाए. उदाहरण के लिए, L1 या L2.
मॉडल ट्रेनिंग के लिए लॉस फ़ंक्शन चुनते समय, ग्रेडिएंट डिसेंट का इस्तेमाल नहीं किया जाता.
ग्रेडिएंट डिसेंट, डेटासेट से आउटलायर हटाता है, ताकि मॉडल बेहतर अनुमान लगा सके.
ग्रेडिएंट डिसेंट से डेटासेट में कोई बदलाव नहीं होता.

कन्वर्जेंस और कॉन्वेक्स फ़ंक्शन

लीनियर मॉडल के लिए लॉस फ़ंक्शन हमेशा कॉन्वेक्स सर्फ़ेस बनाते हैं. इस प्रॉपर्टी की वजह से, जब लीनियर रिग्रेशन मॉडल कन्वर्ज होता है, तो हमें पता चलता है कि मॉडल को ऐसे वेट और बायस मिल गए हैं जिनसे सबसे कम नुकसान होता है.

अगर हम एक सुविधा वाले मॉडल के लिए लॉस सर्फ़ेस का ग्राफ़ बनाते हैं, तो हमें इसका कॉन्वेक्स शेप दिखता है. यहां माइल्स पर गैलन के काल्पनिक डेटासेट के लिए लॉस सर्फ़ेस दिखाया गया है. वज़न x-ऐक्सिस पर, पूर्वाग्रह y-ऐक्सिस पर, और नुकसान z-ऐक्सिस पर है:

इमेज 16. लॉस सर्फ़ेस का 3D ग्राफ़.

16वीं इमेज. लॉस सर्फ़ेस, जिसमें कॉन्वेक्स शेप दिख रहा है.

इस उदाहरण में, -5.44 के वेट और 35.94 के बायस से, 5.54 पर सबसे कम नुकसान होता है:

इमेज 17. लॉस सर्फ़ेस का 3D ग्राफ़. इसमें सबसे नीचे (-5.44, 35.94, 5.54) है.

17वीं इमेज. वज़न और बायस की ऐसी वैल्यू दिखाने वाला लॉस सर्फ़ेस जिससे सबसे कम नुकसान होता है.

जब लीनियर मॉडल को कम से कम नुकसान होता है, तब वह कन्वर्ज होता है. अगर हम ग्रेडिएंट डिसेंट के दौरान, वज़न और बायस पॉइंट का ग्राफ़ बनाते हैं, तो पॉइंट ऐसे दिखेंगे जैसे कोई गेंद किसी पहाड़ी से नीचे लुढ़क रही हो. आखिर में, गेंद उस पॉइंट पर रुक जाएगी जहां ढलान खत्म हो जाता है.

इमेज 18. इस इमेज में, कॉन्वेक्स 3-डी लॉस सर्फ़ेस दिखाया गया है. इसमें ग्रेडिएंट डिसेंट पॉइंट, सबसे निचले पॉइंट की ओर बढ़ते हुए दिख रहे हैं.

18वीं इमेज. लॉस ग्राफ़ में, ग्रेडिएंट डिसेंट पॉइंट को ग्राफ़ के सबसे निचले पॉइंट पर रुकते हुए दिखाया गया है.

ध्यान दें कि काले रंग के लॉस पॉइंट, लॉस कर्व का सटीक आकार बनाते हैं: लॉस सरफेस पर सबसे निचले पॉइंट तक पहुंचने से पहले, इनमें तेज़ी से गिरावट आती है. इसके बाद, ये धीरे-धीरे नीचे की ओर झुकते हैं.

वज़न और पक्षपात की उन वैल्यू का इस्तेमाल करके, जिनसे सबसे कम नुकसान होता है—इस मामले में, वज़न -5.44 और पक्षपात 35.94 है—हम मॉडल को ग्राफ़ कर सकते हैं. इससे यह देखा जा सकता है कि मॉडल, डेटा के साथ कितना सही तरीके से फ़िट होता है:

इमेज 19. इस ग्राफ़ में, 1,000 पाउंड के हिसाब से वज़न और गैलन के हिसाब से माइलेज दिखाया गया है. साथ ही, मॉडल को डेटा के हिसाब से फ़िट किया गया है.

19वीं इमेज. वज़न और बायस की उन वैल्यू का इस्तेमाल करके मॉडल को ग्राफ़ किया गया है जिनसे सबसे कम नुकसान होता है.

यह इस डेटासेट के लिए सबसे अच्छा मॉडल होगा, क्योंकि वज़न और बायस की कोई अन्य वैल्यू, कम नुकसान वाला मॉडल नहीं बनाती है.