|
|
# मशीन लर्निंगच्या तंत्रांचा परिचय
|
|
|
|
|
|
मशीन लर्निंग मॉडेल्स तयार करणे, वापरणे, आणि त्यांच्याद्वारे वापरल्या जाणाऱ्या डेटाचे व्यवस्थापन करणे हे अनेक इतर विकास प्रक्रियांपेक्षा खूप वेगळे आहे. या धड्यात, आपण या प्रक्रियेला समजून घेऊ आणि त्यातील मुख्य तंत्रे ओळखून घेऊ. आपणः
|
|
|
|
|
|
- मशीन लर्निंगच्या प्रक्रिया उच्च पातळीवर समजून घेणार.
|
|
|
- 'मॉडेल्स', 'भविष्यातील भाकिते', आणि 'प्रशिक्षण डेटा' यांसारख्या मूलभूत संकल्पना पाहणार.
|
|
|
|
|
|
## [पूर्व लेक्चर क्विझ](https://ff-quizzes.netlify.app/en/ml/)
|
|
|
|
|
|
[](https://youtu.be/4NGM0U2ZSHU "ML for beginners - Techniques of Machine Learning")
|
|
|
|
|
|
> 🎥 वर दिलेल्या प्रतिमेवर क्लिक करा, ज्यात या धड्याचे थोडक्यात स्पष्टीकरण आहे.
|
|
|
|
|
|
## परिचय
|
|
|
|
|
|
उच्च पातळीवर, मशीन लर्निंग (एमएल) प्रक्रिया तयार करण्याचे काम अनेक टप्प्यांमध्ये विभागलेले आहे:
|
|
|
|
|
|
1. **प्रश्न ठरवा.** बहुतेक एमएल प्रक्रिया अशा प्रश्नाशी सुरु होतात ज्याचे उत्तर सोप्या शर्तींवर आधारित प्रोग्राम किंवा नियमांमुळे दिले जाऊ शकत नाही. हे प्रश्न बहुधा डेटाच्या संकलनावर आधारित भाकितांभोवती फिरतात.
|
|
|
2. **डेटा गोळा करा व तयार करा.** आपला प्रश्न उत्तर देण्यासाठी तुम्हाला डेटा आवश्यक आहे. डेटाची गुणवत्ता आणि कधी कधी त्याची प्रमाणही, तुमचा मूळ प्रश्न किती चांगल्या प्रकारे उत्तर देता येईल हे ठरवते. डेटा दृश्यरूपात सादर करणे या टप्प्याचा महत्त्वाचा भाग आहे. या टप्प्यात डेटा प्रशिक्षण आणि चाचणी गटांमध्ये विभाजित करण्याचा समावेश देखील आहे, ज्याचा वापर मॉडेल तयार करण्यासाठी होतो.
|
|
|
3. **प्रशिक्षण पद्धत निवडा.** तुमच्या प्रश्नावर आणि डेटाच्या स्वरूपावर अवलंबून, तुम्हाला एक असा मार्ग निवडावा लागेल ज्याद्वारे मॉडेलला प्रशिक्षित करून डेटा प्रतिबिंबित केला जाईल आणि त्यावर अचूक भाकिते केली जातील. हे तुमच्या एमएल प्रक्रियेचा तो भाग आहे ज्यासाठी विशेष कौशल्याची आवश्यकता असते आणि अनेकदा मोठ्या प्रमाणात प्रयोग होते.
|
|
|
4. **मॉडेल प्रशिक्षित करा.** आपल्या प्रशिक्षण डेटाचा वापर करून, विविध अल्गोरिदमचा वापर करून मॉडेलला डेटामधील पॅटर्न ओळखण्यासाठी प्रशिक्षित करता येते. मॉडेलमध्ये अंतर्गत वजनांची (weights) समाविष्टता असू शकते, ज्यामुळे काही भाग डेटा अधिक महत्त्वाचा ठरवू शकतात, त्यामुळे मॉडेल सुधारता येते.
|
|
|
5. **मॉडेलचे मूल्यमापन करा.** तुमच्या संग्रहित डेटामधून कधीही न पाहिलेला डेटा (तुमचा चाचणी डेटासेट) वापरून, मॉडेल कसे काम करत आहे ते तपासता येते.
|
|
|
6. **परिमाण समायोजन (Parameter tuning).** मॉडेलच्या कामगिरीवर आधारित, तुम्ही वेगवेगळे परिमाण किंवा चल (variables) बदलून पुन्हा प्रयत्न करू शकता, ज्यामुळे अल्गोरिदमच्या वर्तनावर नियंत्रण ठेवता येतो.
|
|
|
7. **भाकित करा.** नवीन इनपुट वापरणून तुमच्या मॉडेलच्या अचूकतेची चाचणी घेता येते.
|
|
|
|
|
|
## कोणता प्रश्न विचारायचा
|
|
|
|
|
|
संगणक डेटामधील लपलेले पॅटर्न शोधण्यात विशेष प्रवीण आहेत. विशेषतः संशोधकांसाठी, ज्यांना दिलेल्या क्षेत्राबद्दल प्रश्न असतात आणि ज्याचे उत्तर सोप्या नियमांद्वारे देता येत नाही, हे फार उपयुक्त ठरू शकते. उदाहरणार्थ, एक डेटा सायंटिस्ट धूम्रपान करणाऱ्यांचा आणि न धूम्रपान करणाऱ्यांचा मृत्यू दर यावर हस्तकलेने तयार केलेले नियम तयार करू शकतो.
|
|
|
|
|
|
परंतु जेव्हा अनेक इतर चल या समीकरणात येतात, तेव्हा भूतकाळातील आरोग्य इतिहासावर आधारित भविष्यातील मृत्यू दर भाकीत करण्यासाठी एमएल मॉडेल अधिक कार्यक्षम ठरू शकते. आणखी आनंददायक उदाहरण म्हणजे एखाद्या ठिकाणच्या एप्रिल महिन्यासाठी हवामान भाकिते करणे, ज्यासाठी अक्षांश, रेखांश, हवामान बदल, समुद्राच्या जवळीक, जेट स्ट्रीमचे पॅटर्न आणि इतर डेटा एंट्रीज वापरल्या जातात.
|
|
|
|
|
|
✅ हा [स्लाइड डेक](https://www2.cisl.ucar.edu/sites/default/files/2021-10/0900%20June%2024%20Haupt_0.pdf) हवामान मॉडेल्सवर मशीन लर्निंगचा ऐतिहासिक दृष्टिकोन देतो.
|
|
|
|
|
|
## आधीची तयारी
|
|
|
|
|
|
तुमचा मॉडेल तयार करण्यापूर्वी, काही कामे निपटवणे आवश्यक आहे. तुमच्या प्रश्नाची चाचणी करण्यासाठी आणि मॉडेलच्या भाकितांवर आधारित गृहीत धडा तयार करण्यासाठी काही घटक ओळखणे आणि कॉन्फिगर करणे आवश्यक आहे.
|
|
|
|
|
|
### डेटा
|
|
|
|
|
|
तुमचा प्रश्न नक्की उत्तर देण्यासाठी, तुमच्याकडे योग्य प्रकारचा पुरेसा डेटा असणे आवश्यक आहे. येथे दोन गोष्टी कराव्या लागतात:
|
|
|
|
|
|
- **डेटा गोळा करा.** आधीच्या धड्यातील डेटा विश्लेषणातील नीयमधर्मांवर लक्ष ठेवून, काळजीपूर्वक डेटा संकलित करा. डेटा कसा गोळा केला जातो, त्यात कोणतेही पूर्वग्रह आहेत का याचा विचार करा आणि त्याचा स्रोत नोंदवा.
|
|
|
- **डेटा तयार करा.** डेटा तयार करण्याचा काही टप्पे आहेत. वेगवेगळ्या स्रोतांमधून आल्यानंतर डेटा संयोजित करणे आणि सामान्य स्वरूपात आणणे आवश्यक असू शकते. डेटा गुणवत्ता आणि प्रमाण सुधारण्यासाठी विविध पद्धती वापरू शकता, जसे स्ट्रिंग्सना संख्या मध्ये रूपांतर करणे (आपण [क्लस्टरिंग](../../5-Clustering/1-Visualize/README.md) मध्ये करत आहोत). मूळ डेटावर आधारित नवीन डेटा तयार करण्याची गरज भासू शकते (आपण [वर्गीकरणात](../../4-Classification/1-Introduction/README.md) तसे करतो). डेटा स्वच्छ आणि संपादितही करत असाल (आम्ही [वेब अॅप](../../3-Web-App/README.md) धड्यापूर्वी तसे करू). आणि शेवटी, ट्रेनिंग तंत्रानुसार डेटा रँडमाइझ (randomize) आणि शफल (shuffle) करणे आवश्यक आहे.
|
|
|
|
|
|
✅ डेटा संकलित आणि प्रक्रिया केल्यानंतर, काही वेळ घेऊन पाहा की डेटाचा प्रकार आणि आकार तुमच्या प्रश्नाला उत्तर देण्यास योग्य आहे का. कधी कधी डेटा तुमच्या विशिष्ट कामगिरीसाठी योग्य नसू शकतो, जसं आपण [क्लस्टरिंग](../../5-Clustering/1-Visualize/README.md) धड्यांमध्ये पाहतो!
|
|
|
|
|
|
### वैशिष्ट्ये (Features) आणि लक्ष्य (Target)
|
|
|
|
|
|
[वैशिष्ट्ये](https://www.datasciencecentral.com/profiles/blogs/an-introduction-to-variable-and-feature-selection) म्हणजे तुमच्या डेटाचा मोजता येणारा एक प्रकार. अनेक डेटासेटमध्ये, ही एका कॉलम सारखी असते, जसे 'तारीख', 'आकार' किंवा 'रंग'. तुमचा वैशिष्ट्यांचा चल, सामान्यतः कोडमध्ये `X` या रूपात असतो, तो इनपुट चल दर्शवतो, ज्याचा वापर मॉडेलला प्रशिक्षित करण्यासाठी होतो.
|
|
|
|
|
|
लक्ष्य म्हणजे तुम्ही जे भाकीत करू इच्छिता ते. लक्ष्य, सामान्यतः कोडमध्ये `y` या रूपात असतो, हा तुमच्या डेटाला विचारला जाणारा प्रश्नाचा उत्तर दर्शवितो: डिसेंबरमध्ये कोणत्या **रंगाचे** भोपळ्याचे दर स्वस्त होतील? सॅन फ्रान्सिस्कोमध्ये कोणत्या भागात सर्वोत्तम रिअल इस्टेट **किंमत** असेल? लक्ष्याला कधी कधी लेबल अॅट्रिब्युट असेही म्हणतात.
|
|
|
|
|
|
### तुमचा वैशिष्ट्य चल कसा निवडाल
|
|
|
|
|
|
🎓 **वैशिष्ट्य निवड आणि वैशिष्ट्य काढणी** मॉडेल तयार करताना कोणता चल निवडायचा हे कसे ठरवाल? बहुतेक वेळा तुम्ही वैशिष्ट्य निवड किंवा वैशिष्ट्य काढणी प्रक्रिया वापरून योग्य चल निवडाल. या दोनमध्ये फरक आहे: "वैशिष्ट्य काढणीमध्ये मूळ वैशिष्ट्यांपासून नवीन वैशिष्ट्ये तयार केली जातात, तर वैशिष्ट्य निवडेमध्ये वैशिष्ट्यांचा काही भाग निवडला जातो." ([स्रोत](https://wikipedia.org/wiki/Feature_selection))
|
|
|
|
|
|
### तुमचा डेटा दृश्यरूपात पहा
|
|
|
|
|
|
डेटा सायंटिस्टच्या साधनसामुग्रीमध्ये डेटा दृश्यरूपात सादर करण्याची क्षमता महत्त्वाची आहे. यासाठी Seaborn किंवा MatPlotLib सारख्या उत्कृष्ट लायब्ररी आहेत. डेटा दृश्यरूपात मांडल्याने तुम्हाला लपलेले संदर्भ, संभाव्य पूर्वग्रह किंवा संतुलित नसलेला डेटा शोधता येऊ शकतो (जसे आपण [वर्गीकरण](../../4-Classification/2-Classifiers-1/README.md) धड्यात पाहतो).
|
|
|
|
|
|
### तुमचा डेटासेट विभाजित करा
|
|
|
|
|
|
प्रशिक्षणापूर्वी, डेटासेट समसमान जागा न घेणाऱ्या दोन किंवा अधिक भागांत विभाजित करणे आवश्यक आहे, जे तरीही डेटाचे प्रतिनिधित्व करतात.
|
|
|
|
|
|
- **प्रशिक्षण.** हा भाग मॉडेलला प्रशिक्षण देण्यासाठी वापरला जातो. हा मूळ डेटासेटचा बहुमत असतो.
|
|
|
- **चाचणी.** चाचणी डेटासेट स्वतंत्र असतो, अनेकदा मूळ डेटामधून घेतला जातो, आणि त्याद्वारे तयार मॉडेलची कामगिरी तपासली जाते.
|
|
|
- **प्रमाणपत्र.** प्रमाणपत्र गट हा छोटा स्वतंत्र समूह आहे जो मॉडेलच्या हायपरपॅरामीटर्स किंवा आर्किटेक्चरचे समायोजन करण्यासाठी वापरला जातो. तुमच्या डेटाच्या आकारावर आणि प्रश्नावर अवलंबून, कदाचित तिसऱ्या गटाची गरज नसेल (जसे आपण [टाइम सिरीज फोरकास्टिंग](../../7-TimeSeries/1-Introduction/README.md) धड्यात पाहतो).
|
|
|
|
|
|
## मॉडेल तयार करणे
|
|
|
|
|
|
तुमच्या प्रशिक्षण डेटाचा वापर करून, तुम्ही मॉडेल तयार कराल, किंवा तुमच्या डेटाचा सांख्यिकी प्रतिनिधित्व तयार कराल, अनेक अल्गोरिदम वापरून **प्रशिक्षित** करून. मॉडेलला प्रशिक्षण देणे म्हणजे त्याला डेटा पाहणे आणि त्यातील पॅटर्न्स समजून घेऊन त्यांची पुष्टी किंवा नाकारणे.
|
|
|
|
|
|
### प्रशिक्षण पद्धत ठरवा
|
|
|
|
|
|
तुमच्या प्रश्नावर आणि डेटाच्या स्वरूपावर अवलंबून, तुम्ही प्रशिक्षणासाठी एक पद्धत निवडाल. [Scikit-learn च्या दस्तऐवज](https://scikit-learn.org/stable/user_guide.html) मधून तुम्ही बऱ्याच प्रशिक्षण पद्धतींचा अभ्यास करू शकता, ज्या या अभ्यासक्रमात वापरल्या जातात. तुमचा अनुभवानुसार, सर्वोत्तम मॉडेल तयार करण्यासाठी तुम्हाला अनेक पद्धतींना प्रयत्न करावा लागू शकतो. डेटा सायंटिस्ट्स एका प्रक्रियेतून जातात जिथे ते मॉडेलला न पाहिलेला डेटा देऊन त्याची कामगिरी, अचूकता, पूर्वग्रह आणि इतर गुणवत्ता तपासतात आणि त्या कामासाठी योग्य प्रशिक्षण पद्धत निवडतात.
|
|
|
|
|
|
### मॉडेल प्रशिक्षित करा
|
|
|
|
|
|
प्रशिक्षण डेटा वापरून, तुम्ही 'फिट' करू शकता. बऱ्याच एमएल लायब्ररींमध्ये तुम्हाला 'model.fit' असा कोड दिसेल – यावेळी तुम्ही फीचर चल (सामान्यतः 'X') आणि लक्ष्य चल (सामान्यतः 'y') ला अॅरे स्वरुपात पाठवता.
|
|
|
|
|
|
### मॉडेलचे मूल्यमापन करा
|
|
|
|
|
|
प्रशिक्षण प्रक्रिया पूर्ण झाल्यावर (मोठ्या मॉडेलसाठी अनेक पुनरावृत्त्या किंवा 'एपोक्स' लागू शकतात), तुम्ही मॉडेलच्या गुणवत्तेचे मूल्यमापन करू शकता. चाचणीचा डेटा वापरून कामगिरीची तपासणी करता येते. हे मूळ डेटाचे एक उपसमूह असते ज्याचे मॉडेलने पूर्वी विश्लेषण केलेले नसते. तुम्ही तुमच्या मॉडेलची गुणवत्ता मोजण्यासाठी मेमरीनची (metrics) सारणी छापू शकता.
|
|
|
|
|
|
🎓 **मॉडेल फिटिंग**
|
|
|
|
|
|
मशीन लर्निंगच्या संदर्भात, फिटिंग म्हणजे मॉडेलच्या अंतर्निहित फंक्शनची अचूकता ज्यास तो अपरिचित डेटा विश्लेषित करत असतो.
|
|
|
|
|
|
🎓 **अंडरफिटिंग** आणि **ओवरफिटिंग** ही सामान्य समस्या आहेत ज्या मॉडेलच्या गुणवत्तेवर परिणाम करतात, कारण मॉडेल कधी अति सामंजस्यपूर्ण (overfit) किंवा अयोग्य (underfit) असतो. ओवरफिट मॉडेल प्रशिक्षणाच्या तपशील आणि आवाज इतका चांगल्या प्रकारे शिकलेला असतो की ते फक्त प्रशिक्षण डेटावर बरोबर भाकीत करते. अंडरफिट मॉडेल अचूक नाही कारण ते आपल्या प्रशिक्षण डेटा किंवा न पाहिलेल्या डेटाचे चांगले विश्लेषण करू शकत नाही.
|
|
|
|
|
|

|
|
|
> माहितीचित्र [Jen Looper](https://twitter.com/jenlooper) यांनी तयार केलेले
|
|
|
|
|
|
## परिमाण समायोजन (Parameter tuning)
|
|
|
|
|
|
प्रारंभिक प्रशिक्षण पूर्ण झाल्यानंतर, मॉडेलची गुणवत्ता तपासा आणि त्याचे 'हायपरपॅरामिटर्स' बदलून सुधारण्याचा विचार करा. या प्रक्रियेबद्दल अधिक वाचा [दस्तऐवजात](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters?WT.mc_id=academic-77952-leestott).
|
|
|
|
|
|
## भाकिते
|
|
|
|
|
|
ही वेळ आहे ज्या वेळी तुम्ही पूर्णपणे नवीन डेटा वापरून मॉडेलची अचूकता तपासू शकता. एखाद्या 'अॅप्लाइड' एमएल सेटिंगमध्ये, जिथे तुम्ही उत्पादनासाठी मॉडेल वापरणार आहात, या प्रक्रियेत वापरकर्त्याचा इनपुट (उदा. बटण दाबणे) गोळा करणे, चल सेट करणे आणि मॉडेलला मूल्यांकनासाठी पाठविणे यांचा समावेश असू शकतो.
|
|
|
|
|
|
या धड्यांमध्ये, तुम्हाला ही पावले कशी वापरायची ते शिकवलं जाईल – डेटा सायंटिस्टच्या सर्व कृतींपासून ते पुढे जाऊन 'फुल स्टॅक' एमएल इंजिनीअर होण्यासाठीचा प्रवास.
|
|
|
|
|
|
---
|
|
|
|
|
|
## 🚀आव्हान
|
|
|
|
|
|
एमएल वापरकर्त्याच्या प्रक्रियेतील टप्पे दर्शवणारा फ्लो चार्ट तयार करा. सध्याच्या प्रक्रियेत तुम्ही कुठे आहात? कोठे अडचण येईल असे वाटते? तुम्हाला काय सोपे वाटते?
|
|
|
|
|
|
## [पोस्ट-लेक्चर क्विझ](https://ff-quizzes.netlify.app/en/ml/)
|
|
|
|
|
|
## पुनरावलोकन आणि स्वाध्याय
|
|
|
|
|
|
ऑनलाइन शोधा अशा डेटा सायंटिस्टांचे मुलाखती, जे त्यांचा दैनंदिन कार्यकाळात काय करतात याबद्दल बोलतात. येथे [एक](https://www.youtube.com/watch?v=Z3IjgbbCEfs) आहे.
|
|
|
|
|
|
## असाइनमेंट
|
|
|
|
|
|
[डेटा सायंटिस्टची मुलाखत घ्या](assignment.md)
|
|
|
|
|
|
---
|
|
|
|
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
|
|
**संकल्पना शब्द**:
|
|
|
हा दस्तऐवज AI भाषांतर सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) यांच्या मदतीने भाषांतरित केला आहे. आम्ही अचूकतेसाठी प्रयत्न करतो, तरी कृपया लक्षात ठेवा की स्वयंचलित भाषांतरांमध्ये चुका किंवा अचूकतेतील त्रुटी असू शकतात. मूळ दस्तऐवज त्याच्या मूळ भाषेत अधिकृत स्रोत म्हणून गणला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराचे शिफारस केली जाते. या भाषांतराचा वापर केल्यामुळे उद्भवणाऱ्या कोणत्याही गैरसमजुती किंवा चुकीच्या अर्थाप्रत आम्ही जबाबदार नाही.
|
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER END --> |