2.6.12 · HinglishModel Evaluation & Selection

Learning curves analysis

3,060 words14 min readRead in English

2.6.12 · AI-ML › Model Evaluation & Selection

Core Concept

Ise guitar seekhne jaisa socho: agar tum mahino tak wahi teen chords practice karne ke baad bhi simple songs nahi baja paate (high bias), toh tumhe ek behtar learning method chahiye. Agar tum woh teen songs perfectly baja lete ho lekin kisi bhi nayi cheez par freeze ho jaate ho (high variance), toh tumhe zyada diverse material practice karna hoga.

Mathematical Foundation

Errors Is Tarah Behave Kyun Karti Hain

Training Error ka Behavior: Jaise jaise training set size badhti hai, training error typically badhti hai kyunki:

Kyun? Kam examples ke saath, ek simple model bhi unhe perfectly memorize kar sakta hai (zero training error). Jaise jaise aap zyada diverse examples add karte ho, model sab ko perfectly fit nahi kar sakta, toh training error badhti hai.

Validation Error ka Behavior: Jaise jaise training set size badhti hai, validation error typically ghat'ti hai kyunki:

Kyun? Kam training examples ke saath, model underlying pattern ki ek poor representation seekhta hai—usse kam information milti hai. Zyada data use better generalize karne mein help karta hai, validation error ko reduce karta hai.

Jab :

  • High bias: aur , jahan dono high error par converge karte hain
  • High variance: lekin bade gap ke saath

Diagnostic Patterns

Pattern 1: High Bias (Underfitting)

Figure — Learning curves analysis

Jo tum dekhte ho:

  • Training error jaldi badhti hai aur ek high value par plateau karti hai
  • Validation error ghat'ti hai lekin ek similarly high value par plateau karti hai
  • Curves ke beech chhota gap
  • Zyada data ke saath bhi dono errors high rehti hain

Ye kyun hota hai: Model bahut simple hai (jaise, non-linear data ke liye linear model). Ye underlying pattern capture nahi kar sakta, isliye:

  1. Training data par bhi ye systematic errors karta hai (high training error)
  2. Validation error similarly high hai kyunki wahi systematic errors hote hain
  3. Zyada data help nahi karta—model mein capacity nahi hai

Plateau behavior ki derivation:

Bias error wale model ke liye, jaise badhta hai:

jahan noise variance hai. Jab :

Similarly validation ke liye:

Agar bada hai (simple model, complex data), toh dono high plateau karte hain.

Fix: Model complexity badhao, features add karo, regularization kam karo

Pattern 2: High Variance (Overfitting)

Jo tum dekhte ho:

  • Training error bahut low rehti hai (aksar near zero)
  • Validation error kaafi zyada hai aur bada gap hai
  • Gap persist karta hai ya slowly decrease hota hai jaise badhta hai
  • Validation error end mein bhi decrease ho rahi hai (plateau nahi ki hai)

Ye kyun hota hai: Model bahut complex hai (jaise, high-degree polynomial, kam data ke saath deep network). Ye:

  1. Training data ko perfectly memorize karta hai (low training error)
  2. Generalize karne mein fail karta hai kyunki usne noise aur specifics seekhe (high validation error)
  3. Zyada data model ko noise ki jagah true pattern seekhne mein help karta hai

Gap ki derivation:

Ek complex model ke liye, training error irreducible error (noise) ke paas pahunchti hai:

Lekin validation error mein ek additional variance penalty hoti hai jo ke saath ghat'ti hai:

jahan model complexity se related hai. Gap:

Ye gap badhne ke saath shrink karta hai, lekin slowly agar (complexity) high hai.

Fix: Zyada training data lo, model complexity kam karo, regularization badhao, dropout/augmentation use karo

Pattern 3: Good Fit

Jo tum dekhte ho:

  • Training aur validation errors ek low value par converge karti hain
  • Curves ke beech chhota gap
  • Dono errors plateau kar chuki hain

Ye kyun hota hai: Model complexity, data complexity se match karti hai. Ye noise ko memorize kiye bina true underlying pattern seekhta hai.

Degree 1 (Linear):

Training set size: [10, 30, 50, 70, 100]
Training error:    [45, 48, 50, 51, 52]  (in $1000s squared)
Validation error:  [50, 52, 53, 53, 54]

Analysis:

  • Dono errors high (~$50K-54K squared)
  • Chhota gap (2-3K)
  • Jaldi plateau kar gaya
  • Diagnosis: High bias—linear model housing data ke liye bahut simple hai

Ye step kyun? Hum final values aur gap size compare karte hain. High final values + chhota gap = underfitting.

Degree 10:

Training set size: [10, 30, 50, 70, 100]
Training error:    [0.1, 2 5, 8, 10]
Validation error:  [80, 60, 45, 35, 28]

Analysis:

  • Training error bahut low (10K squared)
  • Validation error kaafi zyada (28K squared)
  • m=100 par bhi bada gap (18K)
  • Validation error abhi bhi decrease ho rahi hai
  • Diagnosis: High variance—polynomial overfit kar raha hai

Ye step kyun? Bada persistent gap + training error near zero + validation abhi bhi decrease ho rahi hai = zyada data help karega.

Optimal Degree 3:

Training set size: [10, 30, 50, 70, 100]
Training error:    [5, 12, 15, 16, 17]
Validation error:  [15, 18, 19, 18, 18]

Analysis:

  • Dono ~17-18K squared par converge karte hain
  • Chhota gap (~K)
  • Dono plateau kar chuke hain
  • Diagnosis: Good fit

500 images ke saath:

  • Training accuracy: 99%
  • Validation accuracy: 65%
  • Diagnosis: High variance (34% gap). Action: Zyada data collect karo ya regularization add karo.

5000 images collect karne ke baad:

  • Training accuracy: 95%
  • Validation accuracy: 88%
  • Diagnosis: Behtar! Gap 7% tak kam ho gaya. Agar validation accuracy acceptable hai, ruk jao. Agar higher accuracy chahiye AUR gap abhi bhi bada hai, toh zyada data collect karo.

Ye step kyun? Hum monitor karte hain ki additional data gap ko close karta hai aur validation performance improve karta hai ya nahi. 7% gap suggest karta hai ki mild overfitting remain hai lekin kaafi improve hua hai.

Depth = 1: Learning curves dono errors ko 40% par dikhate hain (accuracy = 60% dono sets par).

  • Diagnosis: High bias—tree bahut shallow hai.
  • Action: max_depth badhao.

Depth = 20 (unlimited): Learning curves training error ko 2% par lekin validation error ko 35% par dikhate hain.

  • Diagnosis: High variance—tree training data memorize karta hai.
  • Action: Depth limit karo, tree prune karo, ya ensemble methods use karo.

Ye step kyun? Tree depth directly model complexity control karta hai. Learning curves hume sahi complexity level tak guide karti hain.

Common Mistakes

Ye sahi kyun lagta hai: Zyada data aksar overfitting ke saath help karta hai, aur ye ek common recommendation hai.

Reality: Agar tumhe high bias hai (dono errors high plateau kiye hue), toh zyada data help nahi karega! Tumhare model mein pattern seekhne ki capacity nahi hai.

Example: Tum clearly non-linear data ke liye linear regression use karte ho. Curves dikhate hain:

  • Training error: 50% (plateaued)
  • Validation error: 52% (plateaued)

100x zyada data collect karne se dono errors 50-52% ke aas paas hi rahenge. Model simply us relationship ko represent nahi kar sakta.

Fix: Pehle learning curves se diagnose karo. Agar high bias hai, toh data collect karne ki jagah model complexity badhao.

Steel-man: Confusion isliye hoti hai kyunki "zyada data better hai" high variance ke liye sach hai. Key hai ki pehle diagnose karo ki tumhara konsa problem hai.

Ye sahi kyun lagta hai: Hum expect karte hain "zyada data = better performance," toh badhti error ulta lagti hai.

Reality: Training error ka data badhne ke saath badhna chahiye—ye healthy hai! Kam examples ke saath, tumhara model perfectly memorize kar sakta hai (zero error). Zyada data ke saath, ye sab ko perfectly fit nahi kar sakta aur training error badhti hai jo true difficulty ko reflect karta hai.

Jo matter karta hai: Validation error kahaan jaati hai. Agar training error badhne ke saath validation error ghat'ti hai, toh tum better generalizations seekh rahe ho.

Fix: Hamesha DONO curves plot karo. Validation error aur curves ke beech gap par focus karo, sirf training error par nahi.

Ye sahi kyun lagta hai: 1000 examples collect karne ke baad, tum results expect karte ho.

Reality: High variance ke saath, validation error curve aksar plateau nahi ki hoti. Ye abhi bhi significantly decrease ho rahi hoti hai, jo indicate karta hai ki zyada data continue help karega.

Kaise check karo: Validation curve ka slope dekho. Agar ye tumhare sabse bade par abhi bhi steeply decrease ho rahi hai, extrapolate karo: tumhe likely kaafi zyada data chahiye.

Fix:

  1. Check karo ki validation error abhi bhi steeply decrease ho rahi hai
  2. Extrapolate karo ki satisfactory error ke liye kitna data chahiye
  3. Agar infeasible hai, toh model complexity kam karo

Decision Framework

Plot learning curves → Sabse bade m par pattern dekho:

Pattern A: Dono errors HIGH, CONVERGED, chhota gap
├→ Diagnosis: High bias
├→ Zyada data? NAHI
└→ Action: Complexity badhao, features add karo, regularization kam karo

Pattern B: Training error LOW, validation HIGH bada gap, validation abhi bhi decrease ho rahi hai
├→ Diagnosis: High variance  
├→ Zyada data? HAAN (agar feasible ho)
└→ Alternative: Complexity kam karo, regularization badhao, augmentation

Pattern C: Dono errors LOW, CONVERGED, chhota gap
├→ Diagnosis: Good fit
└→ Action: Ho gaya, ya hyperparameters optimize karo

Pattern D: Dono errors HIGH, lekin validation BELOW training shuru ke paas
├→ Diagnosis: Unusual—data leakage ya implementation bugs check karo

Practical Implementation

Learning Curves Kaise Generate Karein

Algorithm:

For each m in [10, 20, 50, 100, 200, 500, 1000, ...]:
    1. Training set se m examples sample karo
    2. In examples par model train karo
    3. SAARE validation examples par evaluate karo
    4. Un m training examples par J_train(m) compute karo
    5. Validation set par J_val(m) compute karo
    6. (m, J_train(m), J_val(m)) store karo
Dono curves ko m ke against plot karo

Ek hi set size ke liye multiple baar sample kyun karte hain? Chhote ke saath, performance depend karta hai ki tum kaun se examples sample karte ho. Stable curves paane ke liye har value ke liye multiple random samples ka average lo.

Computational Cost

alag alag training set sizes aur ek model ke liye jo mein train hota hai:

Ye step kyun? Chhote training sets jaldi train hote hain, isliye curves generate karna aksar full dataset par kaafi baar train karne se faster hota hai.

Memory aid: "BIAS Both Are Stuck" (dono errors high par stuck hain), "VARIANCE Validation Awful, Still Reducing" (gap bada hai, validation improve ho rahi hai)

Recall Ek 12-saal ke bacche ko explain karo

Socho tum portraits banana seekh rahe ho. Ek learning curve tumhari performance track karne jaisi hai:

  1. Jo pictures tum ne practice ki (training error)
  2. Nayi pictures jo tumne pehle nahi dekhi (validation error)

Scenario 1 (High Bias): Tum sirf stick figures use karte ho. Chahe tum 10 pictures par practice karo ya 1000 par, tumhare drawings practice aur nayi dono pictures par equally bure lagte hain. Tum stuck ho! Tumhe better drawing technique seekhni hai (more complex model), sirf zyada practice nahi.

Scenario 2 (High Variance): Tum practice pictures ko perfectly trace karte ho, lekin jab nayi pictures di jaati hain, tum unhe achhe se nahi bana paate. Tumne practice pictures memorize ki instead of faces generally kaise draw karte hain ye seekhne ke. Solution? AUR zyada alag alag pictures par practice karo taaki tum general skill seekho, sirf specific pictures nahi.

Scenario 3 (Good Fit): Tumhari practice drawings aur nayi drawings dono achhi lagrahi hain aur similar quality ki hain. Tumne skill seekh li!

Learning curves tumhe figure out karne mein help karti hain ki tum kaunse scenario mein ho, taaki tum jaano ki zyada practice karni hai (zyada data lena) ya better techniques seekhni hain (apna model change karna).

Connections

  • Bias-Variance Tradeoff: Learning curves bias-variance ko directly visualize karti hain
  • Train-Test Split: Curves plot karne ke liye proper validation set chahiye
  • Cross-Validation: Zyada stable curves ke liye single validation set ki jagah CV scores use kar sakte hain
  • Regularization: High variance diagnosis se regularization badhane ki zaroorat hoti hai
  • Feature Engineering: High bias diagnosis se zyada/behtar features ki zaroorat hoti hai
  • Model Complexity: Learning curves complexity selection guide karti hain
  • Overfitting Detection: Overfitting detect karne ka primary tool
  • Sample Size Determination: Predict karta hai ki tumhe kitna data chahiye

#flashcards/ai-ml

Learning curve kya plot karta hai? :: Ek learning curve training error aur validation error ko training set ke size ke against plot karta hai, dikhata hai ki zyada training examples add karne se model performance kaise change hoti hai.

High bias scenario mein training aur validation errors ka kya hota hai?
Training aur validation dono errors HIGH value par plateau karti hain, unke beech chhota gap hota hai. Zyada data help nahi karta kyunki model mein capacity nahi hai.

High variance scenario mein training aur validation errors ka kya hota hai? :: Training error bahut LOW rehti hai (near zero), validation error kaafi zyada HIGHER hoti hai, ek bada gap create karta hai. Zyada data is gap ko close karne mein help karega.

Zyada training examples add karne ke saath training error typically kyun BADHTI hai?
Kam examples ke saath, model unhe perfectly memorize kar sakta hai (zero error). Zyada diverse examples ke saath, model sab ko perfectly fit nahi kar sakta, toh training error badhti hai. Ye healthy aur normal hai.
Agar dono errors high aur converged hain, toh kya tumhe zyada data collect karna chahiye?
NAHI. Ye high bias (underfitting) indicate karta hai. Tumhe model complexity badhani hai ya features add karne hain, zyada data nahi collect karna.
Agar training error low hai lekin validation error high hai bade gap ke saath jo abhi bhi decrease ho raha hai, toh kya tumhe zyada data collect karna chahiye?
HAAN. Ye high variance (overfitting) indicate karta hai aur decreasing validation curve suggest karta hai ki zyada data continue help karega.
High variance mein gap ke liye mathematical relationship kya hai?
Gap(m) ≈ ε_variance · (k/m), jahan k model complexity se related hai aur m training set size hai. Gap 1/m ke saath decrease karta hai lekin slowly agar complexity high hai.
Learning curve kaise generate karte hain?
Har training set size m ke liye (jaise 10, 50, 100, 500..), model ko m examples par train karo, un m examples par training error compute karo, full validation set par validation error compute karo, phir dono errors ko m ke against plot karo.
Agar curve ke shuru mein validation error, training error se NEECHE hai, toh iska kya matlab hai?
Ye unusual hai aur aksar data leakage, implementation bugs, ya alag distributions par evaluate karne ka indicate karta hai. Apna data pipeline check karo.
"Concert Practice" mnemonic mein "practice mein perfect lekin concerts mein fail" kya represent karta hai?
High variance (overfitting)—model training data par perfectly perform karta hai lekin nayi validation data par poorly.

Concept Map

plots vs

tracks

tracks

increases

decreases

both high and plateau

large gap

converge low

converge low

more data wont help

more data helps

Learning Curve

Training Set Size m

Training Error Jtrain

Validation Error Jval

High Bias Underfitting

High Variance Overfitting

Well-Fitted

Collect More Data