2.6.4 · HinglishModel Evaluation & Selection

K-fold cross-validation

2,531 words12 min readRead in English

2.6.4 · AI-ML › Model Evaluation & Selection

Problem: Limited Data & Unreliable Estimates

Jab hamare paas ek dataset hota hai, toh hum ek dilemma face karte hain:

  • KYUN? Humein apne model ko aise data pe evaluate karna hai jo training ke dauran usne dekha nahi
  • PROBLEM: Agar hum testing ke liye bahut zyada data hold out karte hain (maan lo 50%), toh hum sirf aadhe data pe train kar rahe hain → worse model
  • PROBLEM: Agar hum bahut kam hold out karte hain (maan lo 10%), toh hamara performance estimate high variance wala hoga → ek lucky/unlucky split hume mislead kar sakta hai

K-fold cross-validation iss problem ko solve karta hai har ek data point ko training AUR testing dono ke liye use karke (lekin kabhi ek saath nahi).

K-fold Algorithm: First Principles Se Derivation

Step-by-Step Derivation

HUMEIN KYA CHAHIYE: Generalization error ka ek estimate jo haara sara data efficiently use kare.

HUMEIN KAISE MILEGA:

Chaliye define karte hain:

  • Dataset jisme samples hain
  • Performance metric (jaise accuracy, RMSE)
  • Model training procedure

Step 1: Data ko partition karo

ko K disjoint subsets (folds) mein divide karo:

Har fold mein approximately samples hote hain. KYUN equal-sized? Taaki har validation set data ka same proportion represent kare → fair comparison.

Step 2: K training/validation splits define karo

Iteration ke liye (jahan ):

  • Validation set:
  • Training set:

ISKA KYA MATLAB HAI: Har data point exactly 1 validation set mein aur K-1 training sets mein aata hai.

Step 3: K models train aur evaluate karo

Har fold ke liye:

  1. pe model train karo:
  2. pe evaluate karo:

Step 4: Results aggregate karo

K-fold CV estimate hai:

MEAN KYUN? Law of Large Numbers ke hisaab se, K estimates ko average karne se variance kam hota hai. Har true performance ka ek noisy estimate hai; averaging se humein zyada stable estimate milta hai.

Standard error humein reliability batata hai:

STANDARD ERROR KYU MATTER KARTA HAI: Agar SE bada hai, toh hamare folds bahut alag-alag scores dete hain → model training data ke baare mein sensitive hai (possible overfitting ya data issues).

Worked Examples

Common Mistakes & Fixes

Bias aur Variance ke Peeche ka Math

Sawaal: Bade K wale K-fold mein lower bias lekin higher variance kyun hota hai?

Bias derivation:

Maano woh model hai jo saare N samples pe trained hai (hamara target), aur woh model hai jo samples pe trained hai (har fold).

Estimation bias is difference se aata hai:

BADA K BIAS KYUN KAM KARTA HAI: Jab , , isliye training set size full dataset ke kareeb pahunch jaati hai. Model ki performance waise hi ho jaati hai jaise full data pe train kiya gaya ho.

Variance derivation:

K-fold estimator ka variance hai:

where each model θᵢ is trained on all folds except Fᵢ, and evaluated on Fᵢ.

Cross-validation mein bada K bias kyun kam karta hai?
Bada K matlab har training set size full dataset ke kareeb hoti hai (jaise K=10 mein 90% data use hota hai). Isse CV estimate uss model ki performance ke kareeb aa jaata hai jo saare data pe trained ho.
Cross-validation mein bada K variance kyun badhata hai?
Bada K chhote validation sets wale zyada folds banata hai (noisier estimates) aur training sets mein zyada overlap hota hai (scores ke beech positive correlation), dono hi variance badhate hain.
K ki typical choice kya hoti hai aur kyun?
K=5 ya K=10. Yeh bias (80-90% data pe training full dataset ke kareeb hai) aur variance (bahut zyada correlated estimates nahi) ko balance karta hai, aur computationally bhi reasonable hai.
K-fold CV mein data leakage kya hota hai?
Jab preprocessing (normalization, feature selection) poore dataset pe split karne se pehle ki jaati hai, toh validation folds mein training folds ki information aa jaati hai. Fix: preprocessing sirf training folds pe fit karo, phir validation pe apply karo.
Stratified K-fold kya hai aur kab zaroori hai?
Stratified K-fold har fold mein full dataset jaisi class distribution maintain karta hai. Imbalanced datasets ke liye zaroori hai taaki har validation fold representative ho.
Nested cross-validation kya hai?
Performance estimation ke liye outer K-fold loop, hyperparameter tuning ke liye inner K-fold loop. Validation data ko model selection mein use karne se hone wale optimistic bias ko rokta hai.
Time series ke liye regular K-fold kyun use nahi kar sakte?
Isse future data pe training aur past data pe testing hoti, jo temporal causality violate karta hai. Time series CV use karo expanding/sliding windows ke saath jo sirf past se future predict karte hain.
Folds mein high standard error kya indicate karta hai?
Model ki performance bahut sensitive hai iss baat ke liye ki use kis data pe train kiya gaya hai, jo possible overfitting, data quality issues, ya model ki robustness ki kami suggest karta hai.

Leave-One-Out Cross-Validation (LOOCV) kya hai? :: Woh extreme case jahan K=N (samples ki sankhya) hoti hai. Har model N-1 samples pe train hota hai aur 1 pe validate. Minimum bias lekin maximum variance aur computational cost.

Concept Map

solved by

step 1 partition

step 2 define

step 3

produces theta_i

yields score_i

averaged via LLN

spread of

gives

signals reliability of

Limited data dilemma

K-fold cross-validation

K equal-sized folds

K train-validation splits

Train K models on K-1 folds

Evaluate on held-out fold

K scores

CV_K mean estimate

Standard error

Robust generalization estimate