2.6.5 · HinglishModel Evaluation & Selection

Stratified and leave-one-out cross-validation

3,643 words17 min readRead in English

2.6.5 · AI-ML › Model Evaluation & Selection

Overview

Jab k-fold cross-validation randomly data split karta hai, stratified cross-validation har fold mein class distribution preserve karta hai, aur leave-one-out cross-validation (LOOCV) testing ke liye exactly ek sample use karta hai. Dono standard k-fold CV ki specific weaknesses ko address karte hain.


Core Concepts


Stratified Cross-Validation: First Principles Se

Stratification Kyun Matters Karta Hai

Setup: n samples wala dataset, C classes jinke counts hain jahan .

Class proportions: class ke liye.

Random k-fold CV mein, har fold mein ideally samples hone chahiye jisme class ka count ho. Lekin random sampling variance introduce karta hai.

Expected deviation: Chote ke liye (minority classes), random splits aise folds bana sakti hain jisme us class ka ek bhi sample na ho.

Ek fold mein minority class ke missing hone ki probability (approximation):

, ke liye: — lagbhag 10% chance ki ek fold is class ko bilkul miss kar de.

Stratification Algorithm

Goal: Ensure karna ki har fold mein class ke exactly samples hon (ya jitna possible ho jab , se divisible na ho).

Step-by-step derivation:

  1. Class ke hisaab se partition karo: Dataset ko C groups mein separate karo: jahan

  2. Per-class folding: Har class ke liye, k sub-folds banao: Har sub-fold ka size: ya

  3. Classes ke across combine karo: Fold =

Ye kaam kyun karta hai: Har fold mein ab yeh hoga:

Fold mein class proportion:

Fold original class distribution maintain karta hai!


Leave-One-Out Cross-Validation: First Principles Se

Extreme Case: k = n

Standard k-fold, k ko < n use karta hai. Jaise-jaise k badhta hai kya hota hai?

k = 2: Har fold mein n/2 samples, 50% data pe train karo k = 5: Har fold mein n/5 samples, 80% data pe train karo k = 10: Har fold mein n/10 samples, 90% data pe train karo k = n: Har fold mein 1 sample, (n-1)/n ≈ 100% data pe train karo

LOOCV limit hai: har iteration mein maximum training data.

CV Mein Bias-Variance Tradeoff

CV se test error estimate ke do components hain:

Bias (estimate kitna true test error se dur hai):

  • Zyada k → bada training set → model final model ke kareeb → kam bias
  • Kam k → chota training set → model final model se worse → zyada bias

Variance (estimate kitna fluctuate karta hai):

  • Zyada k → zyada folds, overlapping training sets → zyada variance
  • Kam k → kam folds, zyada independent training sets → kam variance

LOOCV bias:

Kyun? n-1 samples pe training karna n samples pe training karne se almost identical hai. Jo model validate ho raha hai wo essentially final model hi hai.

LOOCV variance:

N training sets n-2 samples se overlap karte hain, jisse error estimates mein high correlation create hoti hai.

Computational Cost Analysis

Standard k-fold: k models train karo, har ek samples pe

LOOCV: n models train karo, har ek n-1 samples pe

Ratio: LOOCV ko k-fold se guna zyada training chahiye.

k=10, n=1000 ke liye: LOOCV ko 100× zyada computation chahiye.

Special case - Linear models: Closed-form shortcut exist karta hai. Ordinary least squares ke liye:

jahan saare n samples pe train hue model ki prediction hai, aur leverage hai (hat matrix ka diagonal).

Ye kaam kyun karta hai? Leave-one-out prediction full model se bina refit kiye compute ki ja sakti hai. Ek baar train karne se saare n LOOCV errors milte hain. Computation cost O(n) model fits se ghatkar O(1) model fit ho jaati hai.


Kab Kaun Sa Method Use Karein


Common Mistakes


Active Recall Practice

Recall Ek 12-saal ke bachche ko stratified CV explain karo

Imagine karo aapke paas 100 marbles ka ek bag hai: 70 lal aur 30 neele. Aap unhe ek game khelne ke liye 5 groups mein split karna chahte ho.

Random split: Aap aankhein band karke ek baar mein 20 marbles uthate ho. Kabhi 18 lal aur 2 neele milte hain, kabhi 12 lal aur 8 neele. Saare groups alag-alag hain!

Stratified split: Aap pehle lal aur neele alag karte ho. Phir har group ke liye 14 lal (70÷5) aur 6 neele (30÷5) lete ho. Ab har group mein exactly waही 14 lal + 6 neele ka mix hai!

Ye kyun matters karta hai: Agar aap test kar rahe ho ki aapka dost marble colors kitna achha guess kar sakta hai, toh aap chahte ho ki har test fair ho. Random splits ke saath, kuch tests easy hote hain (ek color zyada) aur kuch harder. Stratified splits ke saath, har test equally hard hai kyunki sabmein same mix hai.

LOOCV aur bhi extreme hai: 20 marbles ke 5 groups ki jagah, aap 100 groups banate ho — har group mein practice ke liye 99 marbles aur testing ke liye 1 marble. Aap apne dost ko 100 baar test karte ho! Isme hamesha ka time lagta hai lekin aap unki guessing ability ke baare mein sabse zyada seekhte ho.


Connections 2.6.01-Training-validation-and-test-sets - Stratified CV abhi bhi train/val split ke andar ek validation technique hai

  • 2.6.03-K-fold-cross-validation - Stratified CV, k-fold ka ek refinement hai; LOOCV, k-fold hai jisme k=n
  • 2.6.04-Bias-variance-tradeoff-in-cross-validation - LOOCV bias minimize karta hai lekin variance maximize karta hai
  • 3.2.05-Handling-imbalanced-classes - Jab classes imbalanced hon toh stratified CV essential hai
  • 2.3.08-Sampling-methods - Stratification, CV pe apply ki gayi stratified sampling ka ek form hai
  • 5.4.02-Time-series-cross-validation - Time series ke liye alag CV chahiye; LOOCV ya random splits use nahi kar sakte

#flashcards/ai-ml

Stratified CV aur standard k-fold CV mein key difference kya hai? :: Stratified CV har class ko alag split karke phir combine karke, har fold mein class distribution preserve karta hai, jabki standard k-fold saare samples randomly split karta hai jo imbalanced folds bana sakta hai

LOOCV mein k-fold CV se kam bias kyun hoti hai?
LOOCV n-1 samples pe train karta hai (almost saara data), jisse validated model lagbhag final model jaisa hi hota hai jo saare n samples pe train hua, CV performance aur true test performance ke beech ka gap minimize karta hai
LOOCV aur k-fold ka computational cost ratio kya hai?
LOOCV ko k-fold se n/k guna zyada training chahiye; k=10 aur n=1000 ke liye, LOOCV ko 100× zyada computation chahiye (1000 model fits vs 10)

LOOCV error formula likhiye :: jahan sample i ko chhodkar baaki saare samples pe train hua hai

Stratified CV kab use karna chahiye? :: Jab class imbalance ho aur (sabse choti class ka proportion 2/k se kam ho), ya jab minority classes mein fold per 10 se kam samples hon

Saara data use karne ke baad bhi LOOCV mein high variance kyun hoti hai?
N training sets n-2 samples se overlap karte hain, jisse error estimates mein high correlation create hoti hai; variance n ke saath decrease nahi karta kyunki correlation ki wajah se
Stratified CV class balance kaise ensure karta hai?
Yeh har class ko alag-alag k groups mein split karta hai, phir har class se ek group combine karke har fold banata hai, jisse har fold mein proportional class representation guaranteed hoti hai
Linear models ke liye LOOCV ki khaas property kya hai?
OLS ke liye, LOOCV ek single model fit se use karke compute ki ja sakti hai jahan leverage hai, cost O(n) se ghatkar O(1) fits ho jaati hai
LOOCV ko k-fold par kab prefer kiya jaata hai?
Jab dataset bahut chota ho (n < 50-100), model training fast ho, aur minimum bias chahiye; jab n > 1000 ho ya training expensive ho tab avoid karo
Ek 95%/5% imbalanced dataset pe random 5-fold use karne se kya hota hai?
Kuch folds mein 100% majority class ya bahut kam minority samples aa sakte hain, jisse model biased patterns seekhta hai aur unreliable validation metrics produce hoti hain

Concept Map

random splits cause

unreliable metrics on

variant preserving balance

extreme case k=n

solves

each fold keeps

algorithm

combine sub-folds

n samples means

trains on

tradeoff

k-fold CV

Unbalanced class folds

Minority classes missing

Stratified CV

LOOCV

Class distribution p_i = n_i/n

Partition by class then fold

Fold j from each class

n training cycles

n-1 samples per fold

Max data high compute cost