मशीन लर्निंग के बुनियादी सिद्धांतमध्यमपाठ 1076 मिनट का पाठ

मशीन लर्निंग असल में क्या करती है

नियम खुद लिखने के बजाय, आप कंप्यूटर को उदाहरण देते हैं और उसे नियम खोजने देते हैं। सीखें कि इसका क्या मतलब है, और क्या मतलब नहीं है।

पाठ वीडियो में

60 सेकंड में

मशीन लर्निंग असल में क्या करती है

नियम खुद लिखने के बजाय, आप कंप्यूटर को उदाहरण देते हैं और उसे नियम खोजने देते हैं। सीखें कि इसका क्या मतलब है, और क्या मतलब नहीं है।

1/4
आसान शब्दों में
आपकी दादी एक सेकंड में बता सकती हैं कि आम पका है या कच्चा। उन्हें किसी ने नियमों की किताब नहीं दी थी। उन्होंने हज़ारों आम देखे हैं, और हर बार उन्हें पता चला कि उनका अंदाज़ा सही था या नहीं। मशीन लर्निंग भी ऐसी ही है: हम कंप्यूटर को सही जवाबों के साथ बहुत सारे उदाहरण दिखाते हैं, और वह धीरे-धीरे एक ऐसा नियम ढूंढ लेता है जो उनमें से ज़्यादातर के लिए काम करता है।
सामान्य प्रोग्रामिंग में, नियम आप लिखते हैं। उदाहरण के लिए: "अगर मैसेज में lottery शब्द है, तो उसे स्पैम मार्क करो।" कंप्यूटर आपके नियम का हूबहू पालन करता है।
मशीन लर्निंग में, आप कंप्यूटर को उदाहरण और सही जवाब देते हैं, और साथ में खोजने का एक तरीका देते हैं। कंप्यूटर कई संभावित नियमों को आज़माता है और उस नियम को रख लेता है जिससे उदाहरणों पर सबसे कम गलतियां होती हैं। जो नियम वह ढूंढता है, उसे मॉडल (model) कहते हैं।
सामान्य प्रोग्रामिंग
  • आप हाथ से नियम लिखते हैं
  • इनपुट + नियम → जवाब
  • तब अच्छा जब नियम साफ़ और छोटा हो
  • हर फैसले को समझाना आसान होता है
मशीन लर्निंग
  • कंप्यूटर उदाहरणों से नियम ढूंढता है
  • इनपुट + जवाब → नियम (मॉडल)
  • तब अच्छा जब नियम उलझा हुआ हो या उसके कई हिस्से हों
  • अच्छे उदाहरणों और निष्पक्ष टेस्टिंग की ज़रूरत होती है

सीखना यानी सबसे अच्छी सेटिंग की खोज करना

यहाँ सबसे छोटा संभव उदाहरण है। हमारे पास आमों के कुछ काल्पनिक वज़न हैं, और हर एक पर पका हुआ (1) या कच्चा (0) लिखा है। हम "अगर वज़न कम से कम T ग्राम है तो पका हुआ" जैसा एक नियम चाहते हैं। सीखने का मतलब है हर T को आज़माना और सबसे कम गलतियों वाले को चुनना।
Python: learning a threshold from made-up examplespython
# Made-up examples: (weight in grams, ripe? 1 = yes, 0 = no)
examples = [(150, 0), (170, 0), (180, 0), (200, 1), (190, 0),
            (220, 1), (240, 1), (210, 1), (205, 0), (260, 1)]

best_t, best_mistakes = None, len(examples) + 1
for t in range(140, 281, 10):          # try many possible rules
    mistakes = 0
    for weight, ripe in examples:
        guess = 1 if weight >= t else 0
        if guess != ripe:
            mistakes += 1
    if mistakes < best_mistakes:
        best_t, best_mistakes = t, mistakes

print("Learned rule: ripe if weight >=", best_t, "grams")
print("Mistakes on the examples:", best_mistakes, "out of", len(examples))
इसे चलाएं। कंप्यूटर को एक गलती वाला नियम मिल जाता है। कोई भी थ्रेशोल्ड (threshold) सभी दस आमों के लिए सही नहीं बैठता, क्योंकि 205 ग्राम का एक आम कच्चा है। असली डेटा ऐसा ही होता है: उसमें गड़बड़ी (noise) होती है, और कोई भी नियम एकदम सही नहीं होता।

तीन बड़े परिवार

परिवारआप इसे क्या देते हैंयह क्या सीखता हैउदाहरण
सुपरवाइज्ड लर्निंग (Supervised learning)सही जवाबों (लेबल) के साथ उदाहरणनए उदाहरणों के लिए जवाब का अनुमान लगानामकान के किराए का अंदाज़ा लगाना; ईमेल स्पैम है या नहीं, यह तय करना
अनसुपरवाइज्ड लर्निंग (Unsupervised learning)बिना जवाब वाले उदाहरणडेटा में समूह या पैटर्नदुकान के ग्राहकों को उनकी खरीदारी के तरीके के आधार पर बांटना
रीइन्फोर्समेंट लर्निंग (Reinforcement learning)काम करने के लिए एक माहौल और इनामकिन कदमों से ज़्यादा इनाम मिलता हैगेम खेलना सीखता हुआ एक प्रोग्राम
यह ट्रैक पहले दो को कवर करता है। असल काम में इस्तेमाल होने वाली ज़्यादातर मशीन लर्निंग, सुपरवाइज्ड लर्निंग ही होती है।

मशीन लर्निंग क्या नहीं है

  • यह कोई जादू नहीं है। मॉडल सिर्फ वही पैटर्न ढूंढता है जो उदाहरणों में मौजूद होते हैं। अगर उदाहरण गलत या एकतरफा हैं, तो मॉडल भी वैसा ही होगा।
  • यह समझता नहीं है। आम छांटने वाले मॉडल को ज़रा भी अंदाज़ा नहीं होता कि आम क्या चीज़ है। उसने बस एक ऐसी संख्या ढूंढ ली जो दो समूहों को अलग करती है।
  • इसकी हमेशा ज़रूरत नहीं होती। अगर आप एक साफ़, छोटा नियम लिख सकते हैं, तो नियम ही लिखें। यह सस्ता है और इसे समझाना भी आसान है।
  • पुराने पैटर्न टूट सकते हैं। पिछले साल के डेटा से सीखा गया मॉडल चीज़ें बदलने पर फेल हो सकता है, जैसे कि आम की कोई नई किस्म आने पर।
नोट
लार्ज लैंग्वेज मॉडल (LLM) भी मशीन लर्निंग ही हैं। वे उसी बुनियादी विचार (गलतियां घटाकर उदाहरणों से सीखना) का इस्तेमाल बहुत बड़े पैमाने पर करते हैं। इस ट्रैक के पुराने तरीके आज भी संख्याओं की तालिकाओं (tables) के लिए रोज़ इस्तेमाल किए जाते हैं, और वे ऐसी आदतें सिखाते हैं जो हर जगह काम आती हैं: अच्छा डेटा, निष्पक्ष टेस्ट और ईमानदार आंकड़े।
इसे आज़माएं। कोड में, 205 ग्राम वाले आम को बदलकर पका हुआ (1) कर दें। अब सबसे अच्छा नियम कितनी गलतियां करता है?

और देखें और पढ़ें

लैब

काल्पनिक पढ़ाई के डेटा के लिए हाथ से बना नियम और सीखी गई सीधी रेखा, उनकी औसत गलतियों के साथ अगल-बगल।

~20 min

समस्या

स्टार्टर कोड काल्पनिक डेटा बनाता है: 30 काल्पनिक छात्रों के पढ़ाई के घंटे और अंक। इसमें पहले से ही हाथ से बना एक नियम है। आपका काम:

  1. स्टार्टर चलाएं और हाथ से बने नियम की औसत गलती (average error) पढ़ें।
  2. सीधी रेखा सीखने के लिए np.polyfit(hours, marks, 1) का इस्तेमाल करें। नतीजों को slope और intercept में सेव करें।
  3. learned_mae की गणना करें: उसी डेटा पर सीखी गई रेखा की मीन एब्सोल्यूट एरर (mean absolute error)।
  4. 7 घंटों के लिए सीखी गई रेखा के अनुमान को pred_7 में सेव करें।
  5. दोनों गलतियों की तुलना करें। एक वाक्य लिखें कि सीखी गई रेखा बेहतर प्रदर्शन क्यों करती है।

प्रैक्टिस लैब

कोड में बदलाव करें और इसे रन करें। Python आपके ब्राउज़र में चलता है — हमारे सर्वर पर कुछ नहीं भेजा जाता।

आउटपुट

कोई आउटपुट नहीं। वैल्यूज़ देखने के लिए print(...) जोड़ें।

आपका काम तब पूरा होगा जब

कठिन सवाल

उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।

Q1इन 30 छात्रों पर सीखी गई रेखा की गलती कम है। क्या इससे यह साबित होता है कि यह नए छात्रों पर भी बेहतर प्रदर्शन करेगी?दिखाएं

नहीं। इसे ठीक इन्हीं 30 बिंदुओं पर फिट करने के लिए चुना गया था, इसलिए यहाँ इसकी गलती थोड़ी ज़्यादा आशावादी (कम) दिखती है। यह जानने के लिए कि यह नए छात्रों पर कैसा प्रदर्शन करेगी, आपको इसे उन छात्रों पर टेस्ट करना होगा जिन्हें इसने फिटिंग के दौरान नहीं देखा था। ट्रेन और टेस्ट सेट के पीछे यही विचार है, जो इस ट्रैक में आगे आएगा।

Q2डेटा को 0–100 के बीच क्यों सीमित (clip) किया गया है, और क्या इससे सीधी रेखा मुड़ सकती है?दिखाएं

अंक 0 से कम या 100 से ज़्यादा नहीं हो सकते, इसलिए सीमित (clipping) करने से काल्पनिक डेटा असली जैसा रहता है। किनारों के पास, क्लिपिंग बिंदुओं को चपटा कर देती है, और सीधी रेखा उसका पीछा करने के लिए मुड़ नहीं सकती। यहाँ बहुत कम बिंदु सीमाओं तक पहुँचते हैं, इसलिए असर छोटा है, लेकिन यह याद दिलाता है कि सीधी रेखा चुनना हमारी पसंद है, कोई नियम नहीं।

जारी रखने के लिए कृपया साइन इन करें।

अक्सर पूछे जाने वाले सवाल

क्या मशीन लर्निंग और AI एक ही चीज़ हैं?

मशीन लर्निंग AI बनाने का एक तरीका है, और आज यह सबसे मुख्य तरीका है। AI एक बड़ा विचार है, जिसमें कंप्यूटर ऐसे काम करते हैं जिनके लिए समझदारी की ज़रूरत लगती है। कुछ पुराने AI सिर्फ हाथ से लिखे नियमों का इस्तेमाल करते थे।

क्या मुझे बहुत सारे गणित की ज़रूरत है?

इस ट्रैक के तरीकों का इस्तेमाल करने के लिए, आपको स्कूल स्तर की समझ चाहिए: औसत (average), एक सीधी रेखा, प्रतिशत। नए तरीके ईजाद करने के लिए आपको और ज़्यादा गणित चाहिए, लेकिन अच्छी आदतों और साफ़ सोच के साथ आप काफी आगे तक जा सकते हैं।

मुझे कितने उदाहरणों की ज़रूरत है?

इसकी कोई तय संख्या नहीं है। कम गड़बड़ी वाले सीधे-सादे पैटर्न के लिए कम उदाहरण चाहिए होते हैं। जटिल पैटर्न के लिए बहुत सारे चाहिए। सही जवाब टेस्टिंग से मिलता है: अगर मॉडल उन उदाहरणों पर अच्छा काम करता है जो उसने कभी नहीं देखे, तो आपके पास फिलहाल काफी उदाहरण हैं।

हर बार हाथ से ही नियम क्यों न लिख लें?

कुछ समस्याओं के लिए नियम के सैकड़ों छोटे-छोटे हिस्से होते हैं, जैसे हाथ की लिखावट पहचानना। इसे कोई भी हाथ से नहीं लिख सकता। उदाहरणों से सीखने पर कंप्यूटर ये हिस्से आपके लिए खुद ढूंढ लेता है।

पाठ का टेस्ट

5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।

टेस्ट देने और अपनी प्रोग्रेस सेव करने के लिए साइन इन करें