मशीन लर्निंग क्या है?
साधारण प्रोग्रामिंग में इंसान नियम लिखता है: अगर मिठास > 5 तो सेब. मशीन लर्निंग में हम कंप्यूटर को बहुत से उदाहरण देते हैं और वह नियम ख़ुद ढूँढता है.
ML, कृत्रिम बुद्धि (AI) का एक हिस्सा है. इंसान थोड़े उदाहरणों और समझ से सीख लेता है. मशीन को बहुत उदाहरण चाहिए, पर वह बहुत तेज़ है, थकती नहीं और लाखों संख्याएँ देख सकती है.
ML समस्या तय करने के लिए पूछो: क्या अनुमान लगाना है? क्या उत्तर वाले पुराने उदाहरण हैं? मशीन अच्छी है, यह कैसे जाँचेंगे?
डेटा, फ़ीचर और लेबल
डेटा की हर पंक्ति एक उदाहरण है. इनपुट वाले कॉलम फ़ीचर हैं (आकार, मिठास, फ़्लैट का क्षेत्रफल). जो उत्तर चाहिए वह लेबल है.
- सुपरवाइज़्ड लर्निंग: उदाहरणों के साथ लेबल. मॉडल इनपुट → उत्तर सीखता है.
- अनसुपरवाइज़्ड लर्निंग: लेबल नहीं. मॉडल समूह या पैटर्न ढूँढता है.
- रीइनफ़ोर्समेंट लर्निंग: मॉडल काम करके इनाम पाता है, जैसे खेल खेलने वाला.
डेटा तैयार करना: ग़लतियाँ और ख़ाली मान हटाओ, संख्याओं को मिलते-जुलते पैमाने पर लाओ, शब्दों को संख्या में बदलो. ख़राब डेटा = ख़राब मॉडल.
तीन आम मॉडल: रिग्रेशन, डिसीज़न ट्री, k-means
लीनियर रिग्रेशन (संख्या का अनुमान)
डेटा से होकर रेखा y = mx + c बिठाओ. हर असली बिंदु और रेखा के बीच का अंतर त्रुटि है. ट्रेनिंग में m और c बदलते हैं ताकि औसत वर्ग त्रुटि सबसे कम हो.
डिसीज़न ट्री (वर्ग चुनना)
हाँ/नहीं प्रश्नों का पेड़. हर प्रश्न डेटा को बाँटता है. आख़िरी सिरे, पत्ते, उत्तर देते हैं. इसे इंसान आसानी से पढ़ सकते हैं.
K-means क्लस्टरिंग (समूह ढूँढना)
k चुनो. k केंद्र रखो. दोहराओ: हर बिंदु पास वाले केंद्र से जुड़े; हर केंद्र अपने बिंदुओं के औसत पर जाए. जब कुछ न बदले तो रुको.
मॉडल चुनना: संख्या → रिग्रेशन; लेबल वाला वर्ग → क्लासिफ़िकेशन; लेबल नहीं → क्लस्टरिंग.
ट्रेनिंग, टेस्टिंग और मूल्यांकन
डेटा बाँटो: लगभग 80% ट्रेनिंग, 20% टेस्टिंग. टेस्ट डेटा सीखते समय छिपा रहता है, जैसे बिना देखा परीक्षा-पत्र.
- सटीकता = सही अनुमान ÷ कुल अनुमान.
- रिग्रेशन में औसत त्रुटि देखते हैं.
- ओवरफ़िटिंग: मॉडल ट्रेनिंग डेटा रट लेता है और नए डेटा पर कमज़ोर होता है.
- अंडरफ़िटिंग: मॉडल इतना सरल कि पैटर्न ही न पकड़ पाए.
पक्षपाती (बायस्ड) डेटा से ML अन्यायपूर्ण भी हो सकता है. देखो किसका डेटा छूटा है, और निजी डेटा सुरक्षित रखो.
करके देखो: एक AI समाधान बनाओ
छोटी समस्या लो: कल बारिश होगी या नहीं. 1) तय करो: बारिश हाँ/नहीं. 2) डेटा: 20 दिन तक बादल, नमी और हवा लिखो, और अगले दिन बारिश हुई या नहीं. 3) मॉडल: हाथ से दो प्रश्नों वाला ट्री बनाओ. 4) आख़िरी 5 दिनों पर परखो और गिनो कितने सही. 3D में k बदलकर देखो समूह कैसे बदलते हैं.
मुख्य सूत्र और परिभाषाएँ
- फ़ीचर = इनपुट कॉलम; लेबल = उत्तर कॉलम
- लीनियर रिग्रेशन: y = mx + c
- औसत वर्ग त्रुटि = (असली − अनुमान)² का औसत
- सटीकता = सही अनुमान ÷ कुल अनुमान × 100%
- K-means: पास वाले केंद्र से जोड़ो → केंद्र को औसत पर ले जाओ → दोहराओ
- आम बँटवारा: 80% ट्रेनिंग, 20% टेस्ट
हल किए गए उदाहरण
1. एक स्पैम फ़िल्टर 200 ईमेल में 184 सही पहचानता है. सटीकता?
184 ÷ 200 × 100% = 92%.
2. किराया मॉडल y = 0.5x + 3 (y हज़ार रुपये में, x = क्षेत्रफल m² ÷ 10). 60 m² फ़्लैट का किराया?
x = 6. y = 0.5 × 6 + 3 = 6. अनुमानित किराया ≈ ₹6,000.
3. रेखा पर बिंदु 2, 4, 10, 12; k = 2; केंद्र 2 और 4. k-means का एक चक्र करो.
पास वाला केंद्र: 2 → 2; 4, 10, 12 → 4. समूह {2} और {4, 10, 12}. नए केंद्र: 2 और 26/3 ≈ 8.67. अगले चक्र में 4 अब 2 के पास, समूह {2, 4} और {10, 12}, केंद्र 3 और 11. फिर कोई बदलाव नहीं.
4. मॉडल ट्रेनिंग पर 99% पर टेस्ट पर 60% लाता है. क्या हो रहा है?
ओवरफ़िटिंग: उसने ट्रेनिंग उदाहरण रट लिए, सामान्य पैटर्न नहीं सीखा. उपाय: ज़्यादा डेटा, सरल मॉडल, या ट्रेनिंग जल्दी रोकना.
आम गलतियाँ
- उसी डेटा पर परखना जिस पर सिखाया — नतीजा अच्छा दिखता है पर कुछ नहीं बताता.
- सोचना कि मशीन इंसान की तरह "समझती" है. वह सिर्फ़ संख्याओं में पैटर्न ढूँढती है.
- वर्ग के लिए रिग्रेशन लगाना, या लेबल होते हुए भी क्लस्टरिंग.
- पक्षपाती या गंदे डेटा को अनदेखा करना. मॉडल डेटा जितना ही अच्छा होता है.