5.6.3 · D5 · HinglishMachine Learning (Aerospace Applications)

Question bankRegularization — L1 (lasso), L2 (ridge), dropout

2,301 words10 min read↑ Read in English

5.6.3 · D5 · Coding › Machine Learning (Aerospace Applications) › Regularization — L1 (lasso), L2 (ridge), dropout

Shuru karne se pehle, ek shared vocabulary reminder taaki har reveal clearly samajh aaye:

L1-versus-L2 geometry neeche poocha jaata hai, isliye ek baar picture se ground karo:

Figure — Regularization — L1 (lasso), L2 (ridge), dropout

Blue diamond L1 region hai; yellow circle L2 region hai. Red ellipses loss contours hain jo unconstrained best fit ki taraf shrink ho rahi hain. Notice karo ki diamond pehle apne sharp corner pe -axis par touch hoti hai, jahan exactly hai — yeh ek sparse solution hai. Smooth circle apni side par touch hoti hai, aisi jagah jahan dono weights nonzero hain. Is image ko in-built rakhna "Why questions" section ke liye.


True or false — justify karo

L2 regularization bahut saare weights ko exactly zero kar deta hai, ek sparse model deta hai.
False — L2 ki shrinkage proportional hoti hai (), isliye weights zero ke paas aate hain par essentially kabhi wahan land nahi karte. L1 exact zeros produce karta hai.
ko bahut bada set karna generalization hamesha improve karta hai.
False — jab toh har weight zero ki taraf crush ho jaata hai aur model underfit karta hai, real signal ko ignore karta hai. Ek sweet spot hota hai jo Cross-Validation se milta hai, koi "zyada better hai" wala rule nahi hai.
Dropout test time par bilkul training time jaisa apply hota hai.
False — test time par har neuron ko keep kiya jaata hai aur (inverted dropout ke saath) koi scaling nahi hoti; final prediction ke liye tum network ki full capacity chahte ho, koi crippled sub-network nahi.
L1 aur L2 penalties dono weights ko chhota rakhte hain, isliye yeh interchangeable hain.
False — yeh alag-alag shrink karte hain: L2 square ko penalize karta hai (huge weights sabse zyada punish hote hain, tiny ones ko barely touch kiya jaata hai), jabki L1 absolute value ko penalize karta hai (constant push jo chhote weights ko zero kar deta hai). L1 features select karta hai; L2 sirf smooth karta hai.
Regularization training accuracy reduce karta hai aur yeh ek bug hai jise avoid karna chahiye.
False — training accuracy mein thodi giravat intended trade hai: tum noise ko fit karna sacrifice karte ho taaki model naye flights par generalize kare. Lower train accuracy ke saath higher test accuracy ek success hai.
L2 penalty mein model ke behaviour ko change karta hai.
False — yeh ek cosmetic convenience hai jo differentiate karne se aane wale factor of 2 ko cancel kar deta hai. Tum ise drop karke sirf rescale kar sakte ho; achievable models ki family identical hai.
Inverted dropout ke saath, training ke dauran ek neuron ki expected activation uski clean activation ke barabar hoti hai.
True — jab kept hone par (probability ) aur dropped hone par (probability ), average hai , yahi reason hai ki test time par koi rescaling nahi chahiye.
L2 regularization aur "weight decay" ek hi cheez hai.
True (plain SGD ke liye) — L2 update ko rearrange karne par milta hai , aur woh factor literally data gradient apply hone se pehle har step mein weight ko decay karta hai.
Dropout ko input layer par bhi usi se use kar sakte hain jo hidden layers use karti hain.
False in practice — raw inputs ka aadha drop karna bahut zyada information destroy kar deta hai; input dropout, agar use bhi ho, toh bahut chhota use karta hai (jaise 0.1–0.2). rule of thumb hidden/FC layers ke liye hai.

Error dhundho

"Regularize karne ke liye, maine loss mein add kiya aur bias term mein bhi."
Error bias ko regularize karna hai. Bias sirf output level shift karta hai; ise penalize karna model ki predictions center karne ki ability se ladhta hai aur koi overfitting benefit nahi deta. Weights ko penalize karo, ko free chhodo.
"L1 update: ."
Yeh L2 update hai. L1 ek constant subtract karta hai, proportional factor nahi: .
" har jagah differentiable hai, isliye L1 gradients hamesha well-defined hote hain."
Galat — mein par ek kink hai jahan derivative undefined hai. Hum ise ek subgradient se patch karte hain ( mein koi bhi value), aur wahan choose karna exactly wahi hai jo weights ko zero par baithne deta hai.
"Maine test time par uncertainty estimates pane ke liye dropout use kiya, isliye activations ko ki jagah se scale kiya."
Conventions mix ho gayi. Agar training ke dauran already se scale kar liya (inverted dropout), toh test time par koi scaling ki zaroorat nahi hai. Isse dobara apply karna double-count karta hai aur activations inflate kar deta hai.
"Kyunki dropout randomly neurons zero karta hai, yeh network ko random guesser bana deta hai aur training hurt karta hai."
Randomness hi point hai, koi flaw nahi — har pass ek alag sub-network train karta hai, aur ~ sub-networks ka ensemble ek robust model mein average ho jaata hai (dekho Ensemble Methods). Loss noisier hoti hai par generalization improve hoti hai.
"Mera Ridge model abhi bhi overfit kar raha hai, isliye maine sign badal kar kar diya taaki zyada penalize ho."
Negative penalty large weights ko reward karti hai — regularization ka bilkul ulta. Loss ko arbitrarily low drive kiya ja sakta hai weights blow up karke, model barbaad ho jaata hai.

Why questions

L1 diamond constraint sparse solutions kyun produce karta hai jabki L2 circle nahi karta?
Upar ki figure dekho: diamond ke sharp corners axes par hain, jahan ek coordinate zero hai. Loss contours (ellipses) aksar pehle inhi corners ko touch karti hain. L2 circle smooth hai aur aise koi corners nahi hain, isliye yeh apni side par touch hoti hai jahan dono weights nonzero rehte hain.
L2 update ki exact rearrangement factor kyun nikaalti hai?
se shuru karo. distribute karo: . Ab do terms collect karo — — jo deta hai. purely ko un do terms se factor out karne se aata hai, aur yeh dikhata hai ki data gradient kaam karne se pehle weight decay hoti hai.
Jab smooth, well-conditioned weights chahiye (feature selection nahi), toh L2 penalty prefer kyun ki jaati hai?
Squared term har jagah differentiable hai aur weights ko proportionally shrink karta hai, correlated features mein influence spread karta hai instead of kuch ko arbitrarily zero karne ke. Yeh stable, smooth solutions deta hai — useful jab sab features thoda signal carry karte hain.
Dropout ek ensemble jaisa kyun behave karta hai jabki tum sirf ek network train karte ho?
Har mini-batch ek alag random sub-network sample karta hai (neurons ka alag subset active). Training ke dauran yeh weights share karte hain par bahut saari architectures explore karte hain, isliye final network exponentially many thin networks ke average jaisa behave karta hai — Ensemble Methods effect bina bahut saare models train kiye.
L1 ko automatic feature selection kyun mana jaata hai par L2 ko nahi?
L1 uninformative weights ko exactly zero push karta hai, toh woh features model se bilkul bahar ho jaate hain — yeh ek selection decision hai. L2 har feature ko small nonzero weight ke saath rakhta hai, isliye kuch bhi truly remove nahi hota. Yeh L1 ko Feature Engineering aur interpretability se jodhta hai.
L1 ki constant-subtraction behaviour chhote weights ko vanish kyun karti hai par bade weights ko mostly intact chhod deti hai?
Har step ek fixed remove karta hai (soft thresholding). Uss step se chhota weight zero ke paas push ho jaata hai aur zero par clamp ho jaata hai; ek bada weight utna hi fixed amount lose karta hai, jo uski size ka negligible fraction hai, isliye woh survive karta hai.
(aur ) ko validation set se kyun tune karte hain, training loss se kyun nahi?
Training loss hamesha less regularization prefer karta hai (woh noise fit kar sakta hai). Sirf held-out data via Cross-Validation woh value reveal karta hai jo best generalize karti hai; training error par pick karna drive kar dega aur overfitting wapas laayega.

Edge cases

L2 update kya karta hai jab ho?
Yeh plain gradient descent mein collapse ho jaata hai — koi decay nahi, koi penalty nahi, overfitting ka full risk. matlab "regularization off."
Agar exactly ho (aur data gradient zero ho) toh har weight ka kya hoga?
Decay factor ho jaata hai, isliye ek hi step mein zero ho jaata hai. Yeh ek degenerate, too-aggressive setting hai; normally rakhte hain.
par L1 subgradient kya hai, aur allowed range mein se specifically kyun pick karte hain?
Classical derivative wahan undefined hai, isliye mein koi bhi value legal subgradient hai. Hum isliye pick karte hain kyunki zero par baithe weight ka fate akela data gradient decide karta hai: nonzero subgradient weight ko zero se off nudge karta rehta aur sparsity destroy kar deta, jabki ek genuinely useless weight ko zero par rest karne deta hai. Yahi deliberate choice L1 ko ek sparsity engine banati hai.
wala dropout kya reduce ho jaata hai?
Koi bhi neuron kabhi drop nahi hota aur scale factor hai, isliye yeh koi dropout ke bina ek ordinary network hai — regularization switch off hai.
wala dropout kya karta hai, aur yeh useless kyun hai?
Almost har neuron har pass mein zero ho jaata hai, isliye koi signal forward flow nahi karta aur scale kuch survivors ko blow up kar deta hai. Learning stall ho jaati hai — network ke paas essentially koi active capacity nahi hai.
Agar ek feature column exactly duplicate ho, toh L1 aur L2 us pair ko alag kaise treat karte hain?
L2 weight ko roughly evenly dono copies mein split karta hai (use koi bhi single large weight pasand nahi). L1 tend karta hai ek copy rakhne aur doosri zero karne ka, kyunki ek par weight concentrate karna same L1 penalty cost karta hai par yeh ek corner solution hai.
Recall Quick self-test

Ek-line L1-vs-L2 discriminator ::: L1 ek constant subtract karta hai → exact zeros → sparsity; L2 se multiply karta hai → proportional shrink → smooth small weights. Woh ek dropout rule jo log galat karte hain ::: Inverted dropout ke saath tum kept activations ko se training ke dauran scale karte ho aur test time par kuch nahi karte; classic dropout isko se test time par scale karta hai.