नुकसान कम करना: बार-बार किया जाने वाला तरीका

पिछले मॉड्यूल में नुकसान पहुंचाने का सिद्धांत लागू किया गया था. यहां, इस मॉड्यूल में आपको बताया जाएगा कि मशीन लर्निंग मॉडल किस तरह से बार-बार होने वाले नुकसान को कम करता है.

बार-बार इस्तेमाल किए जाने वाले तरीके से, आपको "हॉट एंड कोल्ड" बच्चों के उस गेम की याद दिलाई जा सकती है जिसमें थिंकल जैसी कोई छिपी हुई चीज़ खोजी जा सकती है. इस गेम में, "छिपा हुआ ऑब्जेक्ट" सबसे अच्छा संभावित मॉडल है. आप एक अजीब अनुमान से शुरुआत करेंगे (" \(w_1\) की वैल्यू 0 है.") और इस नुकसान के बारे में बताने के लिए सिस्टम की इंतज़ार करें. इसके बाद, आपको दूसरा अनुमान लगाना होगा (" \(w_1\) का मान 0.5 है.") और देखें कि नुकसान क्या है. आह, आप थोड़ा गर्म हो रहे हैं. दरअसल, अगर आप यह गेम सही तरीके से खेलते हैं, तो आम तौर पर आपका तापमान और बढ़ता जाएगा. सबसे सही तरीका यह है कि हम ज़्यादा से ज़्यादा बेहतर तरीके से मॉडल ढूंढें.

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

सुविधाओं और लेबल से मॉडल और सुझावों पर स्विच करने का साइकल.

पहली इमेज. किसी मॉडल को बार-बार ट्रेनिंग देने का एक तरीका.

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

"मॉडल", इनपुट के रूप में एक या ज़्यादा सुविधाएं लेता है और आउटपुट के रूप में एक अनुमान दिखाता है. आसान बनाने के लिए, कोई ऐसा मॉडल चुनें जो एक सुविधा (\(x_1\)) लेता हो और जिससे एक अनुमान (\(y'\)) मिलता हो:

$$ y' = b + w_1x_1 $$

हमें \(b\) और \(w_1\)के लिए कौनसी वैल्यू सेट करनी चाहिए? लीनियर रिग्रेशन की समस्याओं के लिए, इससे पता चलता है कि शुरुआती वैल्यू ज़रूरी नहीं हैं. हम रैंडम वैल्यू चुन सकते हैं, लेकिन हम इसके बजाय नीचे दी गई छोटी-छोटी वैल्यू का इस्तेमाल करेंगे:

  • \(b\) = 0
  • \(w_1\) = 0

मान लीजिए कि पहली सुविधा का मान 10 है. उस सुविधा के मान को पूर्वानुमान फ़ंक्शन में प्लग करने से ये नतीजे मिलते हैं:

$$ y' = 0 + 0 \cdot 10 = 0 $$

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

  • \(y'\): x के लिए मॉडल का अनुमान
  • \(y\): x सुविधाओं से जुड़ा सही लेबल.

आखिर में, हम डायग्राम के "कंप्यूट पैरामीटर अपडेट" वाले हिस्से तक पहुंच गए हैं. यहां मशीन लर्निंग सिस्टम, नुकसान फ़ंक्शन की वैल्यू की जांच करता है और \(b\) और \(w_1\)के लिए नई वैल्यू जनरेट करता है. फ़िलहाल, मान लीजिए कि यह बॉक्स नई वैल्यू देता है. इसके बाद, मशीन लर्निंग सिस्टम इन लेबल की सभी सुविधाओं का फिर से आकलन करता है. इससे लॉस फ़ंक्शन के लिए एक नई वैल्यू मिलती है और नई पैरामीटर वैल्यू मिलती हैं. लर्निंग की प्रक्रिया तब तक दोहराती रहती है, जब तक एल्गोरिदम ऐसे मॉडल पैरामीटर का पता नहीं लगा लेता जिन्हें सबसे कम नुकसान हो सकता है. आम तौर पर, बदलाव तब तक किया जाता है, जब तक बदलाव कम नहीं हो जाता या कम से कम बदलाव बहुत धीरे-धीरे होता है. ऐसा होने पर, हम कहते हैं कि मॉडल अलग-अलग तरह से जुड़ा हुआ है.