🧮ML গণিত গুরু
optimizationমাঝারি9 মিনিট

L1/L2 Regularization — নিয়ন্ত্রণের শক্তি

L1/L2 Regularization

💰

ফারুকের বাজেট কন্ট্রোল

ধর তোর বন্ধু ফারুক কারওয়ান বাজারে গেছে কেনাকাটা করতে। বাজেট ৫০০০ টাকা। সে কিনতে চায় — মাছ, মাংস, সবজি, ফল, মসলা। দুইটা strategy আছে: Strategy 1 (L2 — ডায়েট): সবকিছু একটু একটু কমাও — মাছ কম, মাংস কম, সব item-এ budget distribute করো। Strategy 2 (L1 — বাজেট কাট): কিছু item পুরা বাদ দাও — ফল কিনব না, মসলা পুরানো আছে — বাকিতে ভালো মানের কেনো।

ML-এও same concept! L2 (Ridge) সব weight ছোট করে কিন্তু zero করে না — ডায়েটের মতো। L1 (Lasso) কিছু weight পুরা zero করে দেয় — বাজেট কাটের মতো! গুরু বলে — 'Regularization = model-এর জন্য বাজেট constraint!'

সংজ্ঞা

Regularization হইল loss function-এ একটা penalty term যোগ করা যাতে model-এর weights বেশি বড় না হয়। L1 penalty weights-এর absolute value যোগ করে (sparsity দেয়), L2 penalty weights-এর বর্গ যোগ করে (smooth shrinkage)।

Regularized Loss = Data Loss + λ × Penalty
\[\mathcal{L}_{reg} = \mathcal{L}_{data} + \lambda \cdot R(w)\]

ব্যাখ্যা

L2 Regularization (Ridge)

Weights-এর বর্গের যোগফল penalty হিসাবে যোগ করে। সব weight একটু একটু ছোট হয় কিন্তু zero হয় না। Gradient descent-এ weight decay হিসাবেও পরিচিত।

\[R_{L2}(w) = \sum_{i} w_i^2, \quad \mathcal{L} = \mathcal{L}_{data} + \frac{\lambda}{2}\sum w_i^2\]

L1 Regularization (Lasso)

Weights-এর absolute value-র যোগফল penalty। কিছু weight exactly zero হয়ে যায় — automatic feature selection! Sparse model পাওয়া যায়।

\[R_{L1}(w) = \sum_{i} |w_i|, \quad \mathcal{L} = \mathcal{L}_{data} + \lambda \sum |w_i|\]

Elastic Net — দুইটার কম্বো

L1 + L2 দুইটা একসাথে use করলে Elastic Net হয়। L1-এর feature selection আর L2-এর stability দুইটাই পায়। অনেক practical problem-এ best choice।

\[R_{EN}(w) = \alpha \sum |w_i| + \frac{(1-\alpha)}{2} \sum w_i^2\]

ফারুকের বাজেটে L1 vs L2

Weights: w = [3, -2, 0.5, -0.1, 4]। λ = 0.1। L1 penalty, L2 penalty, আর gradient update দেখাও।

Step 1: L1 Penalty

সব weight-এর absolute value যোগ করো

\[R_{L1} = |3| + |-2| + |0.5| + |-0.1| + |4| = 9.6, \quad \lambda R_{L1} = 0.96\]

Step 2: L2 Penalty

সব weight-এর বর্গ যোগ করো

\[R_{L2} = 9 + 4 + 0.25 + 0.01 + 16 = 29.26, \quad \frac{\lambda}{2} R_{L2} = 1.463\]

Step 3: L1 Gradient Effect

L1 gradient = sign(w) — সব weight সমান rate-এ zero-র দিকে যায়। 0.1 weight → 0 হয়ে যায় (sparse!)

\[\frac{\partial R_{L1}}{\partial w} = \text{sign}(w) = [1, -1, 1, -1, 1]\]

Step 4: L2 Gradient Effect

L2 gradient = 2w — বড় weight বেশি shrink হয়, ছোট weight অল্প shrink হয়

\[\frac{\partial R_{L2}}{\partial w} = 2w = [6, -4, 1, -0.2, 8]\]
উত্তর:

L1: ছোট weights (0.1) zero হয়ে যাইব — sparse model। L2: বড় weights (4, 3) বেশি shrink হইব কিন্তু কেউ zero হইব না। Feature selection চাইলে L1, stable shrinkage চাইলে L2!

ML-এ কোথায় লাগে?

💡

মনে রাখার ট্রিক

L1 = ফারুকের বাজেট কাট — কিছু item পুরা বাদ (sparse)। L2 = ফারুকের ডায়েট — সবকিছু একটু কম (shrink)। Elastic Net = ডায়েট + বাজেট কাট combo!

#l1#l2#ridge#lasso#elastic-net#regularization#weight-decay#overfitting