Theory
आपको जो Words चाहिए
Machine learning की एक compact vocabulary है, और इसे precisely इस्तेमाल करना हर चीज़ को clearer बनाता है। Placement dataset में, वे columns जो आप predict करने के लिए इस्तेमाल करते हैं (marks, attendance, projects) का एक नाम है, जो चीज़ आप predict करते हैं (placed या नहीं) का एक नाम है, और data को split करने का तरीका भी नाम रखता है।
यह lesson उन terms को pin down करता है, features, labels, training/test/validation data, और फिर दो failure modes जिन्हें हर model को avoid करना पड़ता है: overfitting और underfitting। यह vocabulary सही पाइए और बाकी ML कहीं ज़्यादा easily पढ़ता है।
At a glance
| Term | Meaning | Placement Example |
|---|---|---|
| Dataset | Examples का पूरा collection | सारे students के records |
| Features | Predict करने के लिए इस्तेमाल होने वाले input variables | Marks, attendance, projects |
| Labels | Known correct output (target) | Placed: yes या no |
| Training data | वह part जिससे model सीखता है | मान लीजिए, 70 percent students |
| Validation data | Development के दौरान model tune करने के लिए इस्तेमाल होता है | Settings compare करने के लिए एक slice |
| Test data | Unseen data पर final performance judge करने के लिए held out | वे students जिन्हें model ने training में कभी नहीं देखा |
Theory
Data क्यों Split करें
आप कभी एक model को उस data पर judge नहीं करते जिससे इसने सीखा है, यह students को exam questions advance में देने जैसा होगा। तो आप dataset को split करते हैं।
Model training data से सीखता है। आप test data रोक कर रखते हैं जिसे यह training के दौरान कभी नहीं देखता, और इसे measure करने के लिए इस्तेमाल करते हैं model new cases पर कितना अच्छा करता है, यही एकमात्र fair test है कि model ने actually pattern सीखा या नहीं। Validation data एक further slice है जो development के दौरान model tune करने और settings choose करने के लिए इस्तेमाल होता है, तो test set अंत तक truly untouched रहे। एक part पर train कीजिए, दूसरे पर judge कीजिए: वह separation fundamental है।
Theory
Overfitting और Underfitting
दो opposite failures हर model को threaten करते हैं।
Overfitting: model training data को बहुत ज़्यादा अच्छी तरह सीखता है, general pattern की बजाय इसकी noise और quirks memorise करते हुए। यह training data पर brilliantly score करता है पर नए data पर poorly, यह generalise नहीं हुआ। एक ऐसे student की तरह जिसने past papers word for word memorise किए और questions बदलने पर lost हो जाता है।
Underfitting: model real pattern capture करने के लिए बहुत simple है, तो यह training data पर भी बुरा करता है, new data की तो बात ही छोड़िए। एक ऐसे student की तरह जिसने topic को grasp करने के लिए बहुत कम study किया।
Goal इनके बीच बैठता है: एक model जो true pattern capture करता है और इस तरह unseen data पर अच्छी तरह generalise करता है।
Formula
Overfit Memorise करता है; Underfit Oversimplify करता है
याद रखने का clean तरीका: एक overfit model ने बहुत ज़्यादा detail सीखा है (noise सहित), तो यह training data पर ace करता है पर नए data पर fail होता है, इसने memorise किया, समझा नहीं। एक underfit model ने बहुत कम सीखा है, तो यह हर जगह fail होता है, training data पर भी।
Overfitting का tell-tale sign एक बड़ा gap है: training data पर excellent, test data पर poor। Underfitting दोनों पर poor की तरह दिखता है। यही exactly वजह है आप एक test set hold out करते हैं, इसके बिना, आप overfitting detect भी नहीं कर पाते।
Quiz
एक model training data पर 99 percent score करता है पर unseen test data पर सिर्फ़ 60 percent। सबसे likely क्या हुआ है?
- Underfitting, क्योंकि 60 percent low है
- Overfitting: इसने training data को बहुत अच्छी तरह सीखा (noise सहित) और नए data पर generalise नहीं कर पाता
- Model perfect है, क्योंकि training accuracy high है
- कुछ भी गलत नहीं है; सिर्फ़ training accuracy matter करती है
Show the answer
Overfitting: इसने training data को बहुत अच्छी तरह सीखा (noise सहित) और नए data पर generalise नहीं कर पाता
एक बड़ा gap, training data पर excellent (99 percent) पर unseen test data पर बहुत worse (60 percent), overfitting का classic signature है: model ने general pattern की बजाय training data की noise और quirks memorise की, तो यह generalise नहीं कर पाता। Option A wrong है: underfitting BOTH training और test data पर poor performance की तरह दिखता है, पर यहाँ training performance बहुत high है, तो यह underfitting नहीं है। Option C एक trap है: सिर्फ़ high TRAINING accuracy success नहीं है, matter यह करता है कि NEW data पर performance क्या है, जो यहाँ poor है। Option D वही mistake है जिसे overfitting punish करती है: सिर्फ़ training data पर judge करना generalise करने की failure छुपा देता है, यही exactly वजह है आप एक test set hold out करते हैं। बड़ा train-test gap overfitting का मतलब है।
Think first
Test Set को पूरी तरह Separate रखना क्यों ज़रूरी है?
Model को training के दौरान test data कभी दिखना क्यों इतना important है? फिर tap कीजिए।
Show the answer
क्योंकि test set का पूरा purpose NEW, UNSEEN data simulate करना है, और यह सिर्फ़ तब काम करता है जब model ने genuinely इसे कभी encounter नहीं किया, नहीं तो आपका performance estimate dishonestly inflated है। जब एक model real world में deploy होता है, यह उन cases का सामना करता है जो इसने सीखते समय कभी नहीं देखे, और एक चीज़ जो आप beforehand जानना चाहते हैं वह है: यह उन पर कितना अच्छा करेगा? Test set future के लिए stand-in बनकर इसका answer देता है: आप model को training data पर train करते हैं, फिर इसे held-out test data पर check करते हैं जिसका training में कोई part नहीं था। अगर, फिर भी, test data training में leak हो गया, indirectly भी, model ने effectively उन specific examples को memorise किया हो सकता है, तो यह उन पर अच्छा score करेगा इसलिए नहीं कि इसने general pattern सीखा बल्कि इसलिए कि इसने answers देख लिए, आपको एक falsely optimistic number देते हुए जो real new data आते ही collapse हो जाता है। यही वजह है VALIDATION set एक separate slice की तरह exist करता है: आप development के दौरान अपना model tune और choose करने के लिए validation data इस्तेमाल करते हैं, तो test set बिल्कुल अंत तक pristine और untouched रहे, इसे एक honest final exam की तरह preserve करते हुए। Discipline strict है एक reason के लिए: आपके performance estimate की credibility पूरी तरह इस पर depend करती है कि test data truly unseen है। इसे sealed रखिए, और आपका evaluation कुछ मतलब रखता है।
Summary
Key takeaways
- एक dataset examples का collection है; features input variables हैं और labels known correct outputs हैं।
- Placement data में, features marks/attendance/projects हैं और label placed (yes/no) है।
- Data split होता है: training data (model इससे सीखता है), validation data (development के दौरान tune करने के लिए), test data (unseen performance judge करने के लिए held out)।
- आप कभी एक model को उस data पर judge नहीं करते जिस पर इसने train किया; एक part पर train कीजिए, दूसरे पर test कीजिए।
- Overfitting: model training data को बहुत अच्छी तरह सीखता है (noise सहित) और नए data पर fail होता है (train पर great, test पर poor)।
- Underfitting: model बहुत simple है और training data पर भी बुरा करता है (दोनों पर poor)।
- Memory hook: features in, labels out; overfit memorise करता है, underfit oversimplify करता है, goal generalise करना है।