Machine Learning(In Hindi)
सिखने वाले यंत्र
इन दिनों हम Data Science डेटा/आंकड़े साइंस/विज्ञान के बारे में बहुत सारी बातें कर रहे हैं, मशीन लर्निंग डेटा साइंस का एक अहम हिस्सा है| मशीन लर्निंग आर्टिफिशियल इंटेलिजेंस (artificial intelligence) यानी की कृत्रिम बुद्धिमत्ता की एक शाखा है| कृत्रिम बुद्धिमत्ता में हम ऐसे Algorithms (अल्गोरिथ्म्स) या code(कोड) लिखना चाहते हैं जिससे की मशीन इंसानों के सीखने के प्रक्रिया की नकल कर सकें। इसका मतलब ये है कि मशीनें इंसानों की तरह कुछ सीखे और उसके बाद जब कोई नई घटना हो, जैसा कि नया डेटा मिले तो उस पर एक निर्णय(decision) ले सके। मशीन डेटा के छुपे हुए पैटर्न या स्वरूप (ज्ञान) को जाने और उससे सीखकर आगे नए फ़ैसले ले या उसमें मदद करें|
आईबीएम के आर्थर सैम्यूएल ने 1959 में पहली बार मशीन लर्निंग शब्द का इस्तेमाल किया|
कंप्यूटर के शुरुआती दिनों के कोड में हम ऐसे लॉजिक लिखते थे, जो की बार बार किए जाने वाले काम को आसान कर सकें। कंप्यूटर कॉम्प्लेक्स कैलकुलेशन को कर सकता था और हमसे तेज कर सकता था, इसलिए हमने बहुत सारे सॉफ्टवेयर बनाएँ जो कि हमारी मदद कर सकें। लेकिन ये सारे सॉफ्टवेयर जो हमने लॉजिक दिया है, उसके बाहर नहीं जा सकते है, मतलब कि खुद से कुछ नया सीखकर नहीं कर सकते है। इसी प्रकार बहुत सारे ऐसे कार्य है जो कंप्यूटर को कोड द्वारा करवाना बहुत मुश्किल है, जैसे कि चित्रों (Image) को पहचानना। जिसे कि हम इमेज रिकॉग्निशन (image recognition) भी बोलते है। जब आप अपने मोबाइल में फेस रिकॉग्निशन इनेबल करते हैं तो वो आपका चेहरा चश्मे के साथ भी पहचान लेता है या फिर थोड़ा फेरबदल होने के बाद भी, वो आपके चेहरे को पहचान लेता है| क्या ये सब कोड (Code) किया जा सकता है? नहीं, ये सब कोड नहीं किया जा सकता, हम कितने लॉजिक लिखेंगे, कितने तरीके के (exception) अपवाद को मशीन को बताएंगे। इसके लिए हमें मशीन लर्निंग की जरूरत पड़ती है|
मशीन लर्निंग हम सांख्यिकी(statistics)के अल्गोरिथ्म्स द्वारा या फिर न्यूरल नेटवर्क(Neural network) के अल्गोरिथ्म्स द्वारा प्राप्त कर सकते हैं|
हम तीन प्रकार की मशीन लर्निंग के बारे में जानेंगे|
- पहली सुपरवाइज्ड(supervised ) मशीन लर्निंग मतलब अधीक्षण/निरीक्षण में सीखी गई
2. दूसरी अनसुपरवाइज्ड (unsupervised) मशीन लर्निंग मतलब बिना अधीक्षण/निरीक्षण के सीखी गई
3. तीसरी सैमी सुपरवाइज्ड मशीन लर्निंग, मतलब दोनों के बीच में
Supervised Machine Learning
सुपरवाइज्ड मशीन लर्निंग में हम मशीन को डेटा के साथ उसका आउट्कम यानि की परिणाम भी साथ में देते हैं। मतलब की हम ये बताते हैं कि अगर ये डेटा है, तो इसका परिणाम क्या होगा इसे हम लेबल्ड (चिह्नित) डेटा भी बोलते हैं। इसके लिए हम इंडिपेंडेंट (स्वत्रंत) डेटा और डिपेंडेंट(अश्रित) डेटा के शब्दों का भी इस्तेमाल करते हैं| इंडिपेंडेंट/स्वत्रंत डेटा वो है जिसके कारण ये रिज़ल्ट यह परिणाम मिलता है।
उदाहरण के लिए आपकी उम्र, आपके पुराने लोन/ऋण, आपकी सैलरी, आपकी कंपनी/संगठन आदि की जानकारी के आधार पर यह नतीजा निकाला जा सकता है कि आपको लोन/ऋण दिया जाए या नहीं। तो हम मशीन को पहले एक ऐसा डेटा देंगे, जिसमे ये सब विशेषताये तथा परिणाम है| मतलब, इस डेटा के आधार पर लोन दिया गया है या नहीं, ये बताया गया है। मतलब मशीन को इसका नतीजा साथ में बताया गया है।
अब इस डेटा को हम दो हिस्सों में बांटकर, एक हिस्से से मशीन को सिखाते हैं,और दूसरे हिस्से पर उसकी सफलता को मापते हे। जिससे मशीन को सिखाते हैं, उसे ट्रेनिंग/प्रशिक्षण (Training) डेटा बोलते और जिसपर मापते है, उसे टेस्ट(Test)/प्रशिक्षण डेटा बोलते हैं। इसमें हम इस बात का भी ध्यान रखते हैं की मशीन लर्निंग मॉडल, अंडर फिट यह ओवर फिट ना हो जाए। अंडर फिट मतलब वो पूर्ण रूप से सही नतीजे नहीं देगा| ओवर फिट का मतलब वो सब कुछ याद कर लेगा, या रट लेगा। इस स्थिती में वो नये डेटा पर, जो की उसने पहले कभी नहीं देखा है, सही परिणाम नहीं देगा।
सुपरवाइज मशीन लर्निंग के कुछ अल्गोरिथम है: लीनियर रिग्रेशन, लॉजिस्टिक रिग्रेशन, एसवीएम, डिसीजन ट्री , रेंडम फॉरेस्ट, तथा न्यूरल नेटवर्क (linear regression, logistic regression, SVM, decision tree, random forest, neural network)
Unsupervised Machine Learning
अनसुपरवाइज्ड मशीन लर्निंग, बिना अधीक्षण या निरीक्षण से सीखे जाने वाली मशीन लर्निंग में हमारे पास चिह्नित/लबेलेड (labeled) डेटा यानी की परिणाम के सहित डेटा नहीं होता| क्योंकि हमारे पास कोई लेबल आउटपुट यानी परिणाम सहित डेटा नहीं है, तो हमें कुछ और करना पड़ेगा ताकि हम इस डेटा से हिडन पैटर्न्स यानि की छिपे हुए रहस्य निकाल सके | सोचिये हम आपको कुछ पत्थर देते हैं,अलग अलग आकार के हो सकते हैं या फिर अलग अलग रंग के भी हो सकते हैं, अब अगर हम आपसे बोले कि इनको कुछ समूह में बांट दीजिये। तो फिर आप या तो रंग के आधार पर, या फिर उनके आकार के आधार पर उनको अलग अलग समूहों में बांट देंगे।
ये समूह कितने हो, ये हम पहले से निर्धारित कर सकते है या डेटा को देख कर भी निर्धारित कर सकते है| इसी प्रकार मशीन को जब हम unlabeled (बिना चिह्नित) डेटा यानी कि बिना परिणाम वाले डेटा के द्वारा सीखाना चाहते हैं, तो हम चाहते हैं कि मशीन डेटा को कुछ समूहों में बांट दें, फिर इन समूहों के बीच की समानताओं के आधार पर हम निर्णय ले सकते हैं। जब हमने पिछले उदाहरण में एक लेबल डेटा लिया तो हमें पता था कि हम किसको लोन नहीं दे सकते हैं, पर अगर हमें ऐसा पता न हो तो, हम इस डेटा को कुछ समूह में बांट देंगे और उसमें हम एक ऐसा समूह ढूंढेगे, जिसमें की ज्यादातर लोग ऋण चूककर्ता /लोन डिफॉल्टर है, या जिनको की लोन नहीं दिया गया है| प्रोग्राम या मशीन इसी आधार पर निर्णय ले सकते है|
अनसुपरवाइज्ड मशीन लर्निंग के कुछ अल्गोरिथ्म्स है — के-मीन्स, प्रॉबब्लीस्टिक क्लस्टरिंग, तथा न्यूरल नेटवर्क (k-means, probabilistic clustering, neural network)
Semi Supervised Machine Learning
सेमी सुपरवाइज मशीन लर्निंग दोनों के बीच का एक रास्ता है। ये उस स्थिति में इस्तेमाल किया जाता है जब हमारे पास कम लेबल्ड(चिह्नित) डेटा होता है। ऐसी स्थिति में हम पहले अनसुपरवाइज्ड मशीन लर्निंग का इस्तेमाल करते है और उसके बाद सुपरवाइज मशीन लर्निंग का इस्तेमाल करते है| इस प्रकार से हम दोनों तरीके के इस्तेमाल से एक बेहतर परिणाम प्राप्त कर सकते हैं |
Video
तो मशीन लर्निंग में हम मशीनो को निर्णय लेना सीखा रहे हैं| ताकि वो हमारी उपस्थति के बिना भी निर्णय ले सके| विषम परिस्थियों में जब हम इंसानो को मशीनो के साथ नहीं भेज सकते, तो वो खुद निर्णय ले सके|